[Go to site: main page, start]

0% found this document useful (0 votes)
17 views12 pages

Comprehensive Java Programming Guide

Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as XLSX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views12 pages

Comprehensive Java Programming Guide

Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as XLSX, PDF, TXT or read online on Scribd

Java Topics

Environment
Language Elements
Java Language Specifications
ClassLoader Framework
OOP Framework

Extending Classes and Inheritance

Package

Exception Handling
Multi-Threading

NIO
Streams
Regular Expressions

Security

JDBC
Hibernate

Additional Topics to be covered

Third-party Libraries to be covered


Java 21

Class Fundamentals
Object & Object reference
Object Life time & Garbage Collection
Creating and Operating Objects
Constructor & initialization code block
Access Control
Modifiers
Methods Nested
Inner Class & Anonymous Classes
Abstract Class & Interfaces Defining Methods
Argument Passing Mechanism
Method Overloading
Recursion,
Dealing with Static Members
Try Catch Finalize
Native Method
Use of “this “ reference
Use of Modifiers with Classes & Methods
Design of Accessors and Mutator Methods Cloning Objects
Shallow and deep cloning
Generic Class Types.

Use and Benefits of Inheritance in OOP


Types of Inheritance in Java,
Inheriting Data members and Methods
Role of Constructors in inheritance
Overriding Super Class Methods
Use of “super”
Polymorphism in inheritance
Type Compatibility and Conversion
Implementing interfaces

Organizing Classes and Interfaces in Packages


Package as Access Protection
Defining Package
CLASSPATH Setting for Packages
Import and Static Import
Making JAR Files for Library Packages
Naming Convention For Packages
Exceptions & Errors
Types of Exception
Control Flow In Exceptions
JVM reaction to Exceptions
Use of try catch finally throw throws in Exception Handling
In-built and User Defined Exceptions
Checked and Un-Checked Exceptions

Creating and Starting Java Threads


Thread creation by implementing the Runnable Interface
Thread Class vs Runnable Interface
Lifecycle and States of a Thread
Thread Priority
Race Conditions and Critical Sections
Thread Safety and Shared Resources
Thread Safety and Immutability
Java Memory Model
Java Synchronized Blocks
Java Volatile Keyword
CPU Cache Coherence in Java Concurrency
Java ThreadLocal
Java Thread Signaling
Typical problems in Java concurrency:
Deadlock Prevention
Starvation and Fairness
Nested Monitor Lockout
Slipped Conditions
False Sharing
Thread Congestion
Locks in Java
Read / Write Locks in Java
Reentrance Lockout
Semaphores
Blocking Queues
Java Concurrency Utilities ([Link]):
Java Executor Framework (Callable, Runnable, Thread Pools, Executors etc)
Concepts
Channels
Buffers
Scatter - Gather
Channel to Channel Transfers
Selectors
FileChannel
SocketChannel
ServerSocketChannel
Non-blocking Server Design
DatagramChannel
Pipe
NIO vs. IO
Path
Files
AsynchronousFileChannel
Channels and Buffers
Implementations
FileChannel
Opening a FileChannel
Reading Data from a FileChannel
Writing Data to a FileChannel
Closing a FileChannel
FileChannel Position
FileChannel Size
FileChannel Truncate
FileChannel Force
DatagramChannel
Opening a DatagramChannel
Receiving Data
Sending Data
Connecting to a Specific Address
SocketChannel
Opening a SocketChannel
Closing a SocketChannel
Reading from a SocketChannel
Writing to a SocketChannel
Non-blocking Mode - connect() write() read() and with Selectors
ServerSocketChannel
Opening a ServerSocketChannel
Closing a ServerSocketChannel
Listening for Incoming Connections
Non-blocking Mode
Channel Transfers - transferFrom() transferTo()
Basic Buffer Usage
Buffer Capacity, Position and Limit
Buffer Types
Allocating a Buffer
Writing Data to a Buffer
Reading Data from a Buffer
flip() rewind() clear() compact() mark() reset() equals() and compareTo()
Selectors
Creating a Selector
Registering Channels with the Selector
SelectionKey
Interest Set
Ready Set
Channel + Selector
Attaching Objects
Selecting Channels via a Selector
selectedKeys()
wakeUp() and close()
Pipe
Creating a Pipe
Writing to a Pipe
Reading from a Pipe
Path
Creating a Path Instance
Creating an Absolute Path
Creating a Relative Path
relativize()
normalize()
Files
[Link]()
[Link]()
[Link]()
Overwriting Existing Files
[Link]()
[Link]()
[Link]()
Searching For Files
Deleting Directories Recursively
other useful functions, like functions for creating symbolic links, determining the file size, setting file permissions etc
Introduction to Java 8 Streams
Java Stream Creation
Java Stream Operations
forEach
map
collect
filter
findFirst
toArray
flatMap
peek
Comparison Based Stream Operations
sorted
min and max
distinct
allMatch, anyMatch, and noneMatch
Method Types and Pipelines
Lazy Invocation & Evaluation
Java Stream Specializations
Reduction Operations
reduce
Advanced collect
joining
toSet
toCollection
summarizingDouble
partitioningBy
groupingBy
mapping
reducing
Parallel Streams
Infinite Streams
Streams in File Operations
File Write Operation
File Read Operation
Introduction
Test Harness
String Literals
Character Classes
Predefined Character Classes
Quantifiers
Capturing Groups
Boundary Matchers
Methods of the Pattern Class
Methods of the Matcher Class
Methods of the PatternSyntaxException Class
Java Cryptography
Introduction
Message Digest and MAC
Message Digest
Creating a MAC
Keys and Key Store
Keys
Storing keys
Retrieving keys
Generating Keys
KeyGenerator
KeyPairGenerator
Digital Signature
Creating Signature
Verifying Signature
Cipher Text
Encrypting Data
Decrypting Data
JDBC Basics
Getting Started
Processing SQL Statements with JDBC
Establishing a Connection
Connecting with DataSource Objects
Handling SQLExceptions
Setting Up Tables
Retrieving and Modifying Values from Result Sets
Using Prepared Statements
Using Transactions
RowSet Objects
JdbcRowSet Objects
CachedRowSetObjets
JoinRowSet Objects
FilteredRowSet Objects
WebRowSet Objects
Advanced Data Types
Large Objects
SQLXML Objects
Array Objects
DISTINCT Data Type
Structured Objects
Customized Type Mappings
Datalink Objects
RowId Objects
Stored Procedures / Callable
Overview
Architecture
Environment
Configuration
Sessions
Persistent Class
Mapping Files
Mapping Types
Examples
O/R Mappings
Annotations
Query Language
Criteria Queries
Native SQL
Caching
Batch Processing
Interceptors
Secure Coding Guidelines for Java
Sonalint (Intro, Installation for Eclipse, Use, Remediation of Issues etc)
SSL (Tutortial of SSL Basics – Chapter 1, 2, 3, 4, 8, 9 from [Link]
One-way TLS
Two-way TLS
BouncyCastle (for all things related to Security)
Apache HTTPComponents (for consuming third-party REST APIs)
ZeroMQ (for Messaging concepts and use)
JasperReports (for Report design and rendering in detail)
Apache POI (for creating, reading, editing and manipulating Microsoft Office documents particularly XLS/ XLSX)
Apache Log4J (for logging)
Jsoniter (for reading and writing JSON)
VTD-XML Parser & JDOM (for reading and writing XML)
Jcraft Jsch (for FTP, SFTP in Java)
ZK Ajax (in detail – see sheet ZK Topics)

You might also like