Contents ● ● ● ● Day 1 Basics of the Java Language Object-oriented Principles with Java ● Encapsulation ● Inheritance ● Polymorphism Exception Handling Day 2 Java API ● Some design patterns that are useful to understand the Java API ● Iterator Design Pattern ● Adapter Design Pattern ● Decorator Design Pattern ● Observer Design Pattern ● Strategy Design Pattern ● Composite Design Pattern ● Abstract Factory Design Pattern ● Singleton Design Pattern ● Java Collections Framework ● Data structures ● Algorithms Day 3 Input/Output Operations in Java ● Multi-threaded Programming in Java ● GUI Design in Java Using an external library ● XML processing in Java ● ●
Java Programming Language ● ● ● ● ● ● ● ● ● ● ● Simple Architecture neutral Object oriented Portable Distributed High performance (!) Multi-threaded Robust Dynamic Secure Open source Java Platform ● Java API ● JVM
Java Virtual Machine ● ● Java is compiled into bytecodes Bytecodes are high-level, machine-independent instructions for a hypothetical machine, the Java Virtual Machine (JVM) ● The Java run-time system provides the JVM ● The JVM interprets the bytecodes during program execution ● ● Since the bytecodes are interpreted, the performance of Java programs slower than comparable C/C++ programs But the JVM is continually being improved and new techniques are achieving speeds comparable to native C++ code
Major Java Technologies ● J2SE (Java applications, applets) ● J2EE (servlets) ● J2ME (MIDlets) They have different runtime environments but they are all programmed with the Java language.