Java Programming
This book is an introduction to programming in Oracle’s Java™ programming language, a widely used programming language and software platform. This book serves as a comprehensive guide, complete with a series of tutorials to help users better understand the many ways one can program in Java. In its entirety, this book is meant to be both an introductory guide and a useful reference on Java and related technologies. As is the nature of this book, the content within the book is continuously being updated and revised. With every chapter within this book, the complexity of the context increases, building up on lessons learnt in the previous chapters. Beginners should therefore start from the beginning and proceed in a sequence throughout the material of the book.
If you are not familiar with object-oriented programming, you should first read the book Object Oriented Programming. Other special purpose books such as Jakarta EE enterprise programming, Java Persistence, or Java Swing programming, with more details, would complement this book nicely.
Contents
- About this book
- History of Java
- Overview of the Java programming language
- The Java platform (JRE & JDK)
- Installing Java on Your Computer
- Compiling programs
- Running Java programs
- Understanding a Java program
- Java IDEs
- Statements
- Conditional blocks
- Loop blocks
- Boolean expressions
- Variables
- Primitive Types
- Arithmetic expressions
- Literals
- Methods
- String
- Objects
- Packages
- Arrays
- Mathematical functions
- Large numbers
- Random numbers
- Unicode
- Comments
- Keywords
- Coding conventions
- Defining classes
- Inheritance
- Interfaces
- Overloading methods and constructors
- Object Lifecycle
- Scope
- Nested classes
- Generics
- Throwing and catching exceptions
- Checked exceptions
- Unchecked exceptions
- Preventing
NullPointerException
- Stack trace
- Nesting exceptions (chained exceptions)
- Threads and Runnables
- Basic Synchronization
- Client Server Programming
- Remote Method Invocation (RMI)
- Enterprise JavaBean Programming (EJB)
- Java Spaces Programming (Jini)
- Javadoc
- Introduction to Annotation
- Creating custom annotations
- Meta-annotations
- Helping the compiler
Designing user interfaces
- Reflection Overview
- Dynamic Class Loading
- Dynamic Method Invocation
- Accessing Private Features with Reflection
Advanced topics
- Networking
- Database programming
- Regular Expressions
- Libraries, extensions and frameworks
- 3D programming
- Java Native Interface
- Invoking C
- Byte Code
Appendices