Key to understanding the Java Programming Language
This course, the second in the Introduction to Java Series, continues to explore introductory topics that are key to understanding the Java programming language.
By taking this course, you will be introduced to object-oriented programming concepts such as packages and interfaces, and you will learn
about graphics in Java. The course also covers important Java topics such as threads, exceptions, I/O, and networking.
Throughout Java 2 Fundamentals II, you will work on course projects that demonstrate many of the major Java programming topics covered in the course.
Understanding Java as a technology
Sun Microsystems developed the original specifications for the language in the mid 1990s.
Patrick Naughton, Mike Sheridan, and James Gosling were the original inventors of Java and the language was called Oak at the beginning.
Java is a full-fledged object-oriented programming language. It is platform independent and is normally interpreted rather than compiled like C/C++.
It is syntactically and structurally modeled after C/C++ and performs various compile-time and run-time checking operations.
Java performs automatic memory management that helps to greatly reduce the problem of memory leaks found in other languages and libraries that dynamically allocate memory.
Java supports many features that, at its time of conception, were not found directly in other languages.
These features include threading, networking, security, and Graphical User Interface (GUI) development.
Other languages could be used to support these capabilities, but they were not integrated in the language to the extent that it was done with Java.
Java uses an independent bytecode that is architecture neutral. That is, it is designed to be machine independent.
The byte codes are interpreted and executed by a Java Virtual Machine (JVM).
All of its primitive data types are fully specified (the more primitivfe species).
The various releases of the Java Development Kit (JDK) and other significant moments are depicted in the following timeline diagram:
After completing the course, you will have the skills necessary to:
Understand how to organize Java classes into packages
Understand the role of Java's Abstract Windowing Toolkit (AWT)
Use the AWT to draw graphics primitives, text, and images
Understand the significance of multithreaded Java programs
Build multithreaded Java programs
Use exceptions to detect runtime errors
Read and write data to and from Java streams
Transfer information across the Internet using Java's networking features