Day 1
- A Modern Language
- Enter Java, A Virtual Machine, Java Compared with Other Languages, Safety of Design, Safety of Implementation, Application and User-Level Security, Java and the Web, Java as a General Application Language, A Java Road Map
- A First Application
- Java Tools and Environment, HelloJava, HelloJava2: The Sequel, HelloJava3: The Button Strikes!, HelloJava4: Netscape's Revenge, Troubleshooting
- Tools of the Trade
- The Java VM, Running Java Applications, The Classpath, The Java Compiler, JAR Files, Policy Files
- The Java Language
- Text Encoding, Comments, Types, Statements and Expressions, Exceptions, Assertions, Arrays
- Objects in Java
- Classes, Methods, Object Creation, Object Destruction, Enumerations
- Relationships Among Classes
- Subclassing and Inheritance, Interfaces, Packages and Compilation Units, Visibility of Variables and Methods, Arrays and the Class Hierarchy, Inner Classes
- Working with Objects and Classes
- The Object Class, The Class Class, Reflection, Annotations
Day 2
- Generics
- Containers: Building a Better Mousetrap, Enter Generics, "There Is No Spoon", Parameterized Type Relationships, Casts, Writing Generic Classes, Bounds, Wildcards, Generic Methods, Arrays of Parameterized Types, Case Study: The Enum Class, Case Study: The sort( ) Method
- Threads
- Introducing Threads, Threading an Applet, Synchronization, Scheduling and Priority, Thread Groups, Thread Performance, Concurrency Utilities
- Core Utilities
- Math Utilities, Dates and Times, Timers, Collections, Properties, The Preferences API, The Logging API, Observers and Observables
Day 2 Optional Subjects (choose 1 or 2 options)
- Input/Output Facilities
- Streams, Files, Serialization, Data Compression, The NIO Package
- Network Programming
- Sockets, Datagram Sockets, Simple Serialized Object Protocols, Remote Method Invocation, Scalable I/O with NIO
- Swing
- Components, Containers, Events, Event Summary, The AWT Robot!, Multithreading in Swing
- Drawing with the 2D API
- The Big Picture, The Rendering Pipeline, A Quick Tour of Java 2D, Filling Shapes, Stroking Shape Outlines, Using Fonts, Displaying Images, Drawing Techniques, Printing
- Working with Images and Other Media
- Loading Images, Producing Image Data, Filtering Image Data, Saving Image Data, Simple Audio, Java Media Framework
- JavaBeans
- What's a Bean?, The NetBeans IDE, Properties and Customizers, Event Hookups and Adapters, Binding Properties, Building Beans, Limitations of Visual Design, Serialization Versus Code Generation, Customizing with BeanInfo, Hand-Coding with Beans, BeanContext and BeanContextServices, The Java Activation Framework, Enterprise JavaBeans
- Applets
- The Politics of Applets, The JApplet Class, Using the Java Plug-in, Java Web Start, Using Digital Signatures
- XML
- A Bit of Background, XML Basics, SAX, DOM, XPath, XInclude, Validating Documents, JAXB and Code Generation, Transforming Documents with XSL/XSLT, Web Services
