Advanced Java Programming

Advanced Java Programming

Bascom Bridge’s Advanced Java Programming training course teaches Java developers a set of advanced Java development skills, including generics, threads, reflection, annotations, and sockets.

  • Make effective use of Java generic types
  • Write multi-threaded Java applications
  • Use the Reflection API for highly generic tasks, discovery, or code-generation
  • Use standard annotations and develop custom annotations to express meta-data in Java source files
  • Communicate between processes using network sockets


Students should have solid Java programming experience, especially object-oriented use of the language. Students must be completely comfortable with interfaces and abstract classes, generics and collections, recursive methods, enumerations, varargs, basic Java I/O, serialization (and the transient keyword), the bean pattern, and basic UML class diagrams. Our Beginning Java Application Development class provides a significant portion of this background knowledge.


All students for this Java training course receive a copy of O’Reilly’s Head First Java, which is used as the instructional guide for the course, as well as related courseware.


  • Core 2 Duo or faster processor with at least 3GB RAM
  • Any operating system that supports Java 1.7 or later
  • JDK 7 (6 could be accommodated upon request)
  • The Java tool the students are likely to use after the class (Eclipse is recommended, but IntelliJ IDEA, IBM RAD, NetBeans, and other tools are supported)
  • Other free software – please contact us if you have purchased this class
  • For classes delivered online, all participants need either dual monitors or a separate device logged into the online session so that they can do their work on one screen and watch the instructor on the other. A separate computer connected to a projector or large screen TV would be another way for students to see the instructor’s screen simultaneously with working on their own.


  • Generics
    • Using Generics
    • Type Erasure
    • Type Boundaries
    • Wildcards
    • Generic Methods
    • Strengths and Weaknesses of Generics
    • Legacy Code and Generics
  • Threads
    • Java Thread Model
    • Creating and Running Threads
    • Manipulating Thread State
    • Thread Synchronization
    • Volatile Fields vs. Synchronized Methods
    • wait and notify
    • join and sleep
    • The Concurrency API
    • Atomic Operations
    • Thread Pools
  • Reflection
    • Uses for Meta-Data
    • The Reflection API
    • The Class<T> Class
    • The java.lang.reflect Package
    • Reading Type Information
    • Navigating Inheritance Trees
    • Dynamic Instantiation
    • Dynamic Invocation
    • Reflecting on Generics
  • Annotations
    • Aspect-Oriented Programming and Java
    • The Annotations Model
    • Annotation Types and Annotations
    • Built-In Annotations
    • Annotations vs. Descriptors (XML)
  • Sockets
    • The OSI Reference Model
    • Network Protocols
    • The Socket Class
    • The ServerSocket Class
    • Connecting Through URL Objects
    • HTTP and Other TCP Servers
    • Datagram Clients and Servers
    • Non-Blocking Sockets
    • Multi-Threading in Servers
  • Conclusion

Send a Comment

Your email address will not be published.


+91 9376007676  


Advanced Java Programming

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
  • Course No : JAV-102
  •  Theory : 50%
  •  Lab : 50%
  • Duration : 12 hours
Scroll Up
Skip to toolbar