ADVANCED JAVA

Advance java is having the concept of Java fundamentals. Advance java is used to developing the web-based application and enterprise application. Advance java differentiation such as in web, DCOM, or database. Advance java is the next concept of java. Advance Java is used for dynamic Web site creation, networking &database handling. Advanced Java includes higher-level complex things that you should only try when you have your basics right. Advance java is used to the application server Advance java technology through many frameworks, for example, Hibernate, Spring, Struts, Web Services. Advance java is mostly web programming concepts with database connectivity and server level programming which modifies the data at the server level.

How to create and destroy objects

  • Introduction

Using methods common to all objects

  • Introduction
  • Methods equals and hashCode
  • Method toString
  • Method clone
  • Method equals and == operator
  • Useful helper classes
  • Download the Source Code
  • What’s next

How to design Classes and Interfaces

  • Introduction
  • Interfaces
  • Marker Interfaces
  • Functional interfaces, default and static methods
  • Abstract classes
  • Immutable classes
  • Anonymous classes
  • Visibility
  • Inheritance
  • Multiple inheritance
  • Inheritance and composition
  • Encapsulation
  • Final classes and methods
  • Download the Source Code
  • What’s next

How and when to use Generics

  • Introduction
  • Generics and interfaces
  • Generics and classes
  • Generics and methods
  • Limitation of generics
  • Generics, wildcards and bounded types
  • Generics and type inference
  • Generics and annotations
  • Accessing generic type parameters
  • When to use generics
  • Download the Source Code
  • What’s next

How and when to use Enums and Annotations

  • Introduction
  • Enums as special classes
  • Enums and instance fields
  • Enums and interfaces
  • Enums and generics
  • Convenient Enums methods
  • Specialized Collections: EnumSet and EnumMap
  • When to use enums
  • Annotations as special interfaces
  • Annotations and retention policy
  • Annotations and element types
  • Annotations and inheritance
  • Repeatable annotations
  • Annotation processors
  • Annotations and configuration over convention
  • When to use annotations
  • Download the Source Code
  • What’s next

How to write methods efficiently

  • Introduction
  • Method signatures
  • Method body
  • Method overloading
  • Method overriding
  • Inlining
  • Recursion
  • Method References
  • Immutability
  • Method Documentation
  • Method Parameters and Return Values
  • Methods as API entry points
  • Download the Source Code
  • What’s next

General programming guidelines

  • Introduction
  • Variable scopes
  • Class fields and local variables
  • Method arguments and local variables
  • Boxing and unboxing
  • Interfaces
  • Strings
  • Naming conventions
  • Standard Libraries
  • Immutability
  • Testing
  • Download the Source Code
  • What’s next

How and when to use Exceptions

  • Introduction
  • Exceptions and when to use them
  • Checked and unchecked exceptions
  • Using try-with-resources
  • Exceptions and lambdas
  • Standard Java exceptions
  • Defining your own exceptions
  • Documenting exceptions
  • Exceptions and logging
  • Download the Source Code
  • What’s next

Concurrency best practices

  • Introduction
  • Threads and Thread Groups
  • Concurrency, Synchronization and Immutability
  • Futures, Executors and Thread Pools
  • Locks
  • Thread Schedulers
  • Atomic Operations
  • Concurrent Collections
  • Explore Java standard library
  • Using Synchronization Wisely
  • Wait/Notify
  • Troubleshooting Concurrency Issues
  • Download
  • What’s next

Built-in Serialization techniques

  • Introduction
  • Serializable interface
  • Externalizable interface
  • More about Serializable interface
  • Serializability and Remote Method Invocation (RMI)
  • JAXB
  • JSON-P
  • Cost of serialization
  • Beyond Java standard library and specifications
  • Download the Source code
  • What’s next

How to use Reflection effectively

  • Introduction
  • Reflection API
  • Accessing generic type parameters
  • Reflection API and visibility
  • Reflection API pitfalls
  • Method Handles
  • Method Argument Names
  • Download the Source Code
  • What’s next

Dynamic languages support

  • Introduction
  • Dynamic Languages Support
  • Scripting API
  • JavaScript on JVM
  • Groovy on JVM
  • Ruby on JVM
  • Python on JVM
  • Using Scripting API
  • Download Code
  • What’s next

Java Compiler API

  • Introduction
  • Java Compiler API
  • Annotation Processors
  • Element Scanners
  • Java Compiler Tree API
  • Download
  • What’s next

Java Annotation Processors

  • Introduction
  • When to Use Annotation Processors
  • Annotation Processing Under the Hood
  • Writing Your Own Annotation Processor
  • Running Annotation Processors
  • Download the source code
  • What’s next

Java Agents

  • Introduction
  • Java Agent Basics
  • Java Agent and Instrumentation
  • Writing Your First Java Agent
  • Running Java Agents
  • Download the source code
  • What’s next