J2EEOnline J2EE  





Java TM Fundamentals II  «Prev  Next»
Lesson 1

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:

Java History
History of Java



Course goals

After completing the course, you will have the skills necessary to:
  1. Understand how to organize Java classes into packages
  2. Understand the role of Java's Abstract Windowing Toolkit (AWT)
  3. Use the AWT to draw graphics primitives, text, and images
  4. Understand the significance of multithreaded Java programs
  5. Build multithreaded Java programs
  6. Use exceptions to detect runtime errors
  7. Read and write data to and from Java streams
  8. Transfer information across the Internet using Java's networking features