Call us : 91 480 6531777 Email us : shaju@espacelearning.comfil
Courses
Advanced Diploma In Java Programming

Introduction to Java

Java is a programming language created by James Gosling from Sun Microsystems (Sun) in 1991. The first publicly available version of Java (Java 1.0) was released in 1995. Sun Microsystems was acquired by the Oracle Corporation in 2010. Oracle has now the steermanship for Java. Over time new enhanced versions of Java have been released. The current version of Java is Java 1.7 which is also known as Java 7. From the Java programming language the Java platform evolved. The Java platform allows software developers to write program code in other languages than the Java programming language which still runs on the Java virtual machine. The Java platform is usually associated with the Java virtual machine and the Java core libraries.

Java Runtime Environment vs. Java Development Kit

A Java distribution typically comes in two flavors, the Java Runtime Environment (JRE) and the Java Development Kit (JDK). The Java runtime environment (JRE) consists of the JVM and the Java class libraries. Those contain the necessary functionality to start Java programs. The JDK additionally contains the development tools necessary to create Java programs. The JDK therefore consists of a Java compiler, the Java virtual machine and the Java class libraries.

Characteristics of Java

The target of Java is to write a program once and then run this program on multiple operating systems. Java has the following properties:

• Platform independent: Java programs use the Java virtual machine as abstraction and do not access the operating system directly. This makes Java programs highly portable. A Java program (which is standard-compliant and follows certain rules) can run unmodified on all supported platforms, e.g., Windows or Linux.
• Object-orientated programming language: Except the primitive data types, all elements in Java are objects.
• Strongly-typed programming language: Java is strongly-typed, e.g., the types of the used variables must be pre-defined and conversion to other objects is relatively strict, e.g., must be done in most cases by the programmer.
• Interpreted and compiled language: Java source code is transferred into the bytecode format which does not depend on the target platform. These bytecode instructions will be interpreted by the Java Virtual machine (JVM). The JVM contains a so called Hotspot-Compiler which translates performance critical bytecode instructions into native code instructions.
• Automatic memory management: Java manages the memory allocation and de-allocation for creating new objects. The program does not have direct access to the memory. The so-called garbage collector automatically deletes objects to which no active pointer exists.

The Java syntax is similar to C++. Java is case-sensitive, e.g., variables called myValue and myvalue are treated as different variables.

• CHAPTER 1: REVIEW OF JAVA FUNDAMENTALS

1. The Java Environment
2. Data Types
3. The String Class
4. The StringBuffer Class
5. Arrays
6. Passing Data Types to a Method
7. Constructors and Initialization
8. Inheritance
9. Abstract Classes
10. Interfaces
11. Static Data, Methods, and Blocks
12. Wrapper Classes
13. I/O

• CHAPTER 2: PACKAGING AND DISTRIBUTING A JAVA APPLICATION

1. Packages
2. Managing Source and Class Files
3. The javadoc Utility
4. Documenting Classes and Interfaces
5. Documenting Fields
6. Documenting Constructors and Methods
7. Running the javadoc Utility
8. jar Files
9. The Manifest File
10. Bundling and Using Jar-Packaged Resources

• CHAPTER 3: MISCELLANEOUS ENHANCEMENTS

1. Enhanced for Loop
2. Autoboxing and Auto-Unboxing
3. Static Imports
4. varArgs
5. Typesafe Enums
6. Formatted Strings
7. Format Specifier Syntax
8. Format Specifier Conversions
9. Format Specifier Flags
10. Formatted Integers Example
11. Formatted Floating Points Example
12. Formatted Strings Example
13. Formatted Dates Example
14. Complex Formatted Example

• CHAPTER 4: ASSERTIONS

1. Introduction
2. Assertion Syntax
3. Compiling with Assertions
4. Enabling and Disabling Assertions
5. Assertion Usage

• CHAPTER 5: REGULAR EXPRESSIONS

1. Regular Expressions
2. String Literals
3. Character Classes
4. Quantifiers
5. Capturing Groups and Backreferences
6. Boundary Matchers
7. Pattern and Matcher

• CHAPTER 6: THE JAVA COLLECTION CLASSES

1. Introduction
2. The Arrays Class
3. Searching and Sorting Arrays of Primitives
4. Sorting Arrays of Objects
5. The Comparable and Comparator Interfaces
6. Sorting - Using Comparable
7. Sorting - Using Comparator
8. Collections
9. Lists and Sets
10. Iterators
11. Lists and Iterators Example
12. Maps
13. Maps and Iterators Example
14. The Collections Class
15. Rules of Thumb

• CHAPTER 7: GENERICS

1. Introduction
2. Defining Simple Generics
3. Generics and Subtyping
4. Wildcards
5. Bounded Wildcards
6. Generic Methods

• CHAPTER 8: ADVANCED I/O

1. Introduction
2. Basic File I/O Example
3. Buffered I/O
4. The Console Class
5. Object Serialization
6. Serialization Issues
7. Compressed Files
8. Zip File Example
9. Writing Your Own I/O Classes
10. Property Files
11. The Preferences Class

• CHAPTER 9: ENHANCED I/O

1. Introduction
2. Channels
3. Buffers
4. Typed Buffers
5. Direct Buffers

• CHAPTER 10: LOGGING API

1. Introduction
2. Loggers
3. Logger Levels
4. Logger Handlers
5. Specifying Handlers and Formatters
6. Configuring Handlers
7. LogManager

• CHAPTER 11: NETWORKING

1. Networking Fundamentals
2. The Client/Server Model
3. InetAddress
4. URLs
5. Sockets
6. A Time-of-Day Client
7. Writing Servers
8. Client/Server Example

• CHAPTER 12: THREADS AND CONCURRENCY

1. Review of Fundamentals
2. Creating Threads by Extending Thread
3. Creating Threads by Implementing Runnable
4. Advantages of Using Threads
5. Daemon Threads
6. Thread States
7. Thread Problems
8. Synchronization
9. Performance Issues

• CHAPTER 13: REMOTE METHOD INVOCATION (RMI)

1. Introduction
2. RMI Architecture
3. The Remote Interface
4. The Remote Object
5. Writing the Server
6. The RMI Compiler
7. Writing the Client
8. Remote Method Arguments and Return Values
9. Dynamic Loading of Stub Classes
10. Remote RMI Client Example
11. Running the Remote RMI Client Example

• CHAPTER 14: JAVA DATABASE CONNECTIVITY (JDBC)

1. Introduction
2. Relational Databases
3. Structured Query Language
4. A Sample Program
5. Transactions
6. Meta Data

Courses Enquiry