Java Intermediate

Supplementary course in Java Intermediate

In this supplementary course, we carry on from were the basics course ended and teches you about the JVM, using reflections, creating annotations, dealing object serialization and much more.
This is what you will learn
  • Know how to write programs using reflections
  • Know how to use and design own annotations
  • Understand the JVM, its heap organization and how classes are loaded
  • Apply logging
  • Using various text formats
  • Mater binary I/O both for files and sockets
Course Contents

Reflections

  • What is reflection and why is it a good idea to master
  • Understanding java.lang.Class
  • Reconstruction of an anonymous object
  • Reflective class-loading and instantion
  • Reflective invocation of methods, fields and constructors
  • Invoking private members
  • Proxy objects and their handlers

Annotations

  • What is annotations
  • Standard annotations in the Java API
  • How to design your own annotations
  • Compile-time vs. run-time annotations
  • Some use cases

Class Loading

  • How the JVM loads classes and why it is a good idea to understand
  • The class-file format
  • Understanding and using a class-loader
  • Dealing with objects from different class-loaders

Security

  • The JVM sandbox model
  • Understanding the role of a security-manager
  • Permissions
  • Setting policies
  • Byte-code verification
  • Code-bases

Understanding the JVM

  • Useful JVM related command-line tools
  • JVM parameter overview
  • The JVM heap organization
  • Understanding garbage collection
  • GC algorithms
  • Visually inspecting a JVM

Logging

  • What do we mean by logging
  • Java Util logging
  • Log4J
  • Apache Commons Logging
  • Simple framework for logging

i18n

  • What is i18n
  • Resource bundles
  • Message properties files
  • Locale
  • Language aware formatting and parsing
  • Setting the language as a system property

Text Serialization

  • Understanding different text formats
  • CSV
  • XML
  • JSON
  • YAML
  • FWV
  • Usage of some popular open-source libraries for text serialization/deserialization

File I/O

  • File systems
  • Paths
  • java.io.File vs. java.nio.file.Path and how to proceed
  • Common file operations using java.nio.file.Files
  • Handling meta-data
  • Traversing directories
  • Directory watch service
  • Memory mapped files
  • Buffers and channels
  • Java binary serialization and externalization

TCP I/O

  • Understanding stream socket communcation
  • Client sockets
  • Server sockets
  • Socket channels
  • Network byte order (NBO)
  • Using datagram communication
Facts
NameJava Intermediate
Duration 3 Days
LevelIntermediate
AudienceJava programmers
Prerequisites Practical knowledge in Java programming
Tools
  • Java JDK, version 10+
  • JetBrains IntelliJ IDEA
Price19 000 kr + moms 19000
Course Dates
DatePlace
Loading course dates...
Same-Company Discout

We offer a 20% discount for additional participants from the same company and at the same course date. Read more here.

On-Site Course

If you order an On-Site course, we will come to you and hold the course in your office. The price is determined by our price model and is based on the number of course days, number of participants and any travel and lodging.

Read more about out price modell and term of sales here.

Related Courses
CourseDays Level
Java Basics5BeginnerShow
Java Threads and Concurrent Programming2AdvancedShow
Java for REST Web Services Apps2 Intermediate Show