 |
Brian Goetz
Introduction to Java
|
| Audience |
This course is aimed at developers who are new to the Java
language and platform, but who have had some background in programming and
object-oriented concepts. It assumes no direct experience with
Java. |
| Duration |
5 days |
| Structure |
Lecture, demonstrations, and hands-on labs |
| Students
will |
- Learn how to write simple Java programs
- Understand the Java object model
- Learn to use common Java development tools
- Learn Java programming idioms
|
| Overview |
This course focuses on giving students experience with the
basic elements of the Java language, platform, and development tools and
practices. The course will cover the language (syntax, concepts, and
object model), the platform runtime model (classes and class loading,
memory management, and exception handling), the class libraries, and
common programming idioms. In addition, students will learn commonly
used patterns in Java class design and implementation, and gain an
introduction to how current development tools can accelerate the
development cycle. |
|
|
| COURSE
OUTLINE |
- Introduction to the Java language
- Syntax
- History and language development
- Data types
- Access modifiers, data hiding, and encapsulation
- Classes, interfaces, and packages
- Dynamic memory management
- Tools
- JDK
tools
- JavaDoc
- IDEs
- ANT
- JUnit
- Objects in Java
- The root Object class
- Inheritance
- Dynamic class loading
- Object lifecycle
- Construction
patterns – constructors, factories, singletons
- Garbage
collection
- Initialization
and final variables
- Destruction
vs finalization
- Naming and coding standards
- The Java class library
- Collections
- Swing
and AWT
- IO
Streams
- JDBC
database access
- Exception handling
- Exceptions
- try, catch, finally
- Checked and unchecked exceptions
- Classes and interfaces
- Extension
and composition
- Interfaces
- Abstract
classes
- Inner
classes
- Anonymous
classes
- Class design and implementation
- Variable
scoping
- Naming
conventions
- Exceptions
- Defensive
coding techniques
- Documentation
- Multithreading
- Threads
and thread-safety
- Race
conditions
- Synchronization
- Deadlock
- Serialization
- Reflection
- Dynamic class loading
- New features in JDK 5.0
- Generics
- Enumerations
- Autoboxing
- Variable-length
argument lists
- Concurrency
improvements
- Metadata
|
|
|
|
|