Course details
Advanced Java is a comprehensive study of many advanced Java topics. These include assertions, collection classes, searching and sorting, regular expressions, logging, bit manipulation, serialization, threads, networking with sockets, Remote Method Invocation, and Java Database Connectivity. This course consists of approximately 40% lab exercises and 60% theory and discussion.
Learning Outcomes
- Upon completion of this course, students will be able to:
- Document and package a Java application.
- Use many of the new enhancements added to the Java API.
- Use assertions to write robust Java code.
- Use regular expressions for efficient pattern matching.
- Choose appropriate data structures from the Java Collection API.
- Sort and search arrays and lists using a variety of techniques.
- Capture configuration and debugging information using the Java Logging APIs.
- Use Generics to create type safe collections.
- Serialize Java objects.
- Use features of the new I/O API.
- Write TCP/IP Client Server applications using sockets.
- Write multi-threaded Java applications.
- Execute methods on a remote object using RMI.
- Perform database queries and updates using JDBC.
Target Audience
This course is intended for Java programmers who wish to write programs using many of the advanced Java features.
Course Prerequisites
Students should have completed a beginning Java course or have programmed in Java for at least three to six months.
Course Content
REVIEW OF JAVA FUNDAMENTALS
- The Java Environment
- Data Types
- The String Class
- The StringBuffer Class
- Arrays
- Passing Data Types to a Method
- Constructors and Initialization
- Inheritance
- Abstract Classes
- Interfaces
- Static Data, Methods, and Blocks
- Wrapper Classes
- I/O
PACKAGING AND DISTRIBUTING A JAVA APPLICATION
- Packages
- Managing Source and Class Files
- The javadoc Utility
- Documenting Classes and Interfaces
- Documenting Fields
- Documenting Constructors and Methods
- Running the javadoc Utility
- jar Files
- The Manifest File
- Bundling and Using Jar-Packaged Resources
MISCELLANEUS ENHANCEMENTS
- Enhanced for Loop
- Autoboxing and Auto-Unboxing
- Static Imports
- varArgs
- Typesafe Enums
- Formatted Strings
- Format Specifier Syntax
- Format Specifier Conversions
- Format Specifier Flags
- Formatted Integers Example
- Formatted Floating Points Example
- Formatted Strings Example
- Formatted Dates Example
- Complex Formatted Example
ASSERTIONS
- Introduction
- Assertion Syntax
- Compiling with Assertions
- Enabling and Disabling Assertions
- Assertion Usage
REGULAR EXPRESSIONS
- Regular Expressions
- String Literals
- Character Classes
- Quantifiers
- Capturing Groups and Backreferences
- Boundary Matchers
- Pattern and Matcher
THE JAVA COLLECTION CLASSES
- Introduction
- The Arrays Class
- Searching and Sorting Arrays of Primitives
- Sorting Arrays of Objects
- The Comparable and Comparator Interfaces
- Sorting – Using Comparable
- Sorting – Using Comparator
- Collections
- Lists and Sets
- Iterators
- Lists and Iterators Example
- Maps
- Maps and Iterators Example
- The Collections Class
- Rules of Thumb
GENERICS
- Introduction
- Defining Simple Generics
- Generics and Subtyping
- Wildcards
- Bounded Wildcards
- Generic Methods
ADVANCED I/O
- Introduction
- Basic File I/O Example
- Buffered I/O
- The Console Class
- Object Serialization
- Serialization Issues
- Compressed Files
- Zip File Example
- Writing Your Own I/O Classes
- Property Files
- The Preferences Class
ENHANCED I/O
- Introduction
- Channels
- Buffers
- Typed Buffers
- Direct Buffers
- LOGGING API
- Introduction
- Loggers
- Logger Levels
- Logger Handlers
- Specifying Handlers and Formatters
- Configuring Handlers
- LogManager
NETWORKING
- Networking Fundamentals
- The Client/Server Model
- InetAddress
- URLs
- Sockets
- A Time-of-Day Client
- Writing Servers
- Client/Server Example
THREADS AND CONCURRENCY
- Review of Fundamentals
- Creating Threads by Extending Thread
- Creating Threads by Implementing Runnable
- Advantages of Using Threads
- Daemon Threads
- Thread States
- Thread Problems
- Synchronization
- Performance Issues
REMOTE METHOD INVOCATION (RMI)
- Introduction
- RMI Architecture
- The Remote Interface
- The Remote Object
- Writing the Server
- The RMI Compiler
- Writing the Client
- Remote Method Arguments and Return Values
- Dynamic Loading of Stub Classes
- Remote RMI Client Example
- Running the Remote RMI Client Example
JAVA DATABASE CONECTIVITY (JDBC)
- Introduction
- Relational Databases
- Structured Query Language
- A Sample Program
- Transactions
- Meta Data
Course Location
About itcork Skillnet
We_They, European Tech Cluster a leading not-for-profit independent business organisation, representing the interests of the IT industry in Ireland. It is a unique blend of indigenous and international IT professionals, executives, multinationals, government leaders, public sector, academia, entrepreneurs, investors and the legal and financial professional services community joining together to drive thought leadership, collaboration and global strategic alliances. It currently represents over 300 member companies with over 30,000 employees.
Half-day conferences, skillnet events, breakfast seminars, networking lunches and evening events are run throughout the year while our Leaders Awards Dinner and Technology in Business Conference are run annually.
See all itcork Skillnet courses- JavaScript Full stack web developer virtual internship Virtual Bootcamp + Internship at LaimoonAED 1,449Duration: Upto 30 Hours
- EUR 46Duration: 1 To 2 Months
- Certified Bootstrap Professional VskillsEUR 46Duration: 1 To 2 Months