Kurs i Java Programmering Fördjupning

Påbyggnadskurs i Java programmering

Denna påbyggnadskurs tar vid där grundkursen slutade och lär dig att förstå JVM:en, använda reflections, skapa annoteringar, hantera serialisering både binärt och via text format och mycket annat.
Detta får du lära dig
  • Kunna skriva program som använder sig reflection
  • Kunna designa egna annotations
  • Förstå JVMen och dess heap organisation och hur klasser laddas
  • Kunna använda ett industriellt logging paket
  • Kunna skriva program som använder sig av olika text format
  • Behärska binär I/O både för filer och sockets
Kursinnehåll

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
SnabbFakta
NamnJava Programmering Fördjupning
Längd 3 Dagar
Nivå Intermediate
MålgruppJava programmerare
Förkunskaper Praktiska kunskaper i Java programmering
Verktyg
  • Java JDK, version 10+
  • JetBrains IntelliJ IDEA
KursDatum
DatumPlatsPris
2020-02-17Stockholm19 000 kr
2020-03-09Stockholm 19 000 kr
2020-03-30Stockholm 19 000 kr
2020-04-14Stockholm 19 000 kr
2020-05-25Stockholm 19 000 kr
2020-06-15Stockholm 19 000 kr

Samma-Företags Rabatt

Vi ger 20% rabatt för tillkommande deltagare från samma företag vid samma kurs-tillfälle. Läs mer här.

Undervisningsspråk

Vårt tryckta kursmaterial är alltid författat på engelska. Den muntliga presentationen i våra klassrum är som regel på svenska, såvida inte samtliga deltagare samtycker till att vi genomför kursen på engelska.

Företagsintern Kurs

Om du beställer en företagsintern kurs kommer vi till er och håller kursen i era lokaler. Priset bestäms av vår prismodell och baseras på antalet kursdagar, antalet deltagare, samt i förekommande fall resa och logi.

Läs mer om vår prismodell och beställningsvillkor här.

Relaterade Kurser
KursDagarNivå
Java Programmering5BeginnerVisa
Threads och Concurrency med Java2AdvancedVisa
Java för REST webbtjänster 3IntermediateVisa