logo

Advanced Java Programming (DV4534)

Students will learn to parse XML documents using the JAXP API. Multi-threaded applications will be covered in detail including concepts such as deadlocks and race conditions.  Students will also learn how to utilize more advanced I/O capabilities with object serialization and low-level file I/O with the java.nio package.  Client/server applications will be written utilizing both the java.net and java.rmi packages.  Additional topics on JNDI and performance tuning, as well as appendices on encryption and JNI, round out the course.

Pohađajte naše obuke programiranja u Eccentrix trening centru u Beogradu, uživo putem interneta (virtuelno online), kao i u Vašim prostorijama (onsite).

Specijalni popusti se odobravaju prilikom prijave više učesnika koji istovremeno pohađaju obuku iz vaše kompanije, državni i neprofitni sektor, itd. Kontaktirajte nas da biste saznali više.

Termini obuke

Trajanje obuke: 
3 dana / 21 sat

Privatni trening

On-site / Online
Minimalan broj polaznika: 3
3 dana / 21 sat
Cena na zahtev
srpski ili engleski
Plan obuke: 

1. Course Introduction

  • Course Objectives
  • Course Overview
  • Using the Workbook
  • Suggested References

2. Processing XML with Java – JAXP

  • The Java API for XML Processing
  • Introduction to SAX Parsing
  • SAXParser and JAXP
  • SAX Event Methods
  • Introduction to DOM
  • Parsing DOM with JAXP
  • The DOM API
  • Validation
  • Transformation

3. Introduction to Threads

  • Non-Threaded Applications
  • Threaded Applications
  • Creating Threads
  • Thread States
  • Runnable Threads
  • Coordinating Threads
  • Interrupting Threads
  • Runnable Interface
  • ThreadGroups

4. Thread Synchronization and Concurrency

  • Race Conditions
  • Synchronized Methods
  • Deadlocks
  • Synchronized Blocks
  • Synchronized Collections
  • Thread-Aware Collections
  • Thread Communication — wait()
  • Thread Communication — notify()
  • Executor
  • Callable

5. Advanced I/O - Object Serialization

  • What is Serialization?
  • Serializable Objects
  • Writing an Object
  • Reading an Object
  • Handling Exceptions
  • Customizing Serialization
  • Controlling Serialization
  • Versioning

6. Advanced I/O – New I/O

  • The java.nio package
  • Buffers and Channels
  • Buffer Implementations
  • Buffer Methods
  • ByteBuffer Methods
  • FileChannel
  • File Locking
  • MappedByteBuffer
  • Transferring Data between Channels
  • Character Sets

7. Reflection

  • Introduction to Reflection
  • The Class Class
  • The reflect Package
  • Constructors
  • Fields
  • Methods
  • Exception Handling and Reflection
  • JavaBeans
  • Dynamic Programming

8. Networking with Sockets

  • Clients and Servers
  • Ports, Addresses and Protocols
  • The Socket Class
  • Communication Using I/O
  • Servers
  • The ServerSocket Class
  • Concurrent Servers
  • The URL Class
  • The URLConnection Class

9. Remote Method Invocation

  • Distributed Applications
  • Stubs
  • Steps to Create a Remote Object
  • An RMI Client
  • An RMI Server
  • RMI Classes and Interfaces
  • Class Distribution
  • Parameter Passing and Serialization

10. Java Naming and Directory Interface (JNDI)

  • Naming and Directory Services
  • Namespaces and Contexts
  • Naming Operations
  • Bindings
  • Attributes
  • Directory Operations
  • DNS Lookups with JNDI
  • JNDI in Java EE

11. Java Performance Tuning

  • Is Java Slow?
  • Don't Optimize Until You Profile
  • HotSpot Virtual Machine
  • Garbage Collection Concepts
  • Garbage Collection Generations
  • Garbage Collection Algorithms
  • Object Creation
  • String, StringBuffer, and StringBuilder
  • Synchronized
  • Inline methods
  • Tuning Collections

12. Appendix A – Encryption with the javax.crypto Package

  • Cryptography Concepts
  • Encryption Keys
  • Cipher Algorithms
  • Modes and Padding Schemes
  • The Cipher Class
  • Encrypting and Decrypting Data
  • Cipher Output Stream
  • Cipher Input Stream
  • Encryption using Password Ciphers
  • Exchanging Encrypted Keys
  • Sealed Objects

13. Appendix B - Native Methods

  • Overview of Java Native Methods and JNI
  • How to Create and Use Native Methods
  • Native Method Declaration
  • Using javah
  • Creating the Implementation Code
  • Compilation
  • Distribution
  • Using the Native Methods
  • JNI
  • Passing Arguments
  • Calling Java Methods in Native Code
  • JNI Signatures
Benefiti: 
  • Video snimak predavanja u periodu od 180 dana posle kraja obuke

  • Pristup laboratorijama u toku trajanja kursa
  • Materijal u elektronskom obliku

  • Sertifikat o pohađanju kursa

Poželjno predznanje: 

Intermediate Java Programming or equivalent experience is required.

Kontaktirajte nas za više informacija o ceni:

Eccentrix
Office: +381 11 71 38 192
Mobile: +381 65 31 38 195
E-mail: Jelena.Mijanovic@eccentrix.rs

Milutina Milankovića 9đ,
11070 Novi Beograd
www.eccentrix.rs

Eccentrix
Office: +381 11 71 38 192
Mobile: +381 65 31 38 197
E-mail: Boris.Gigovic@eccentrix.rs

Milutina Milankovića 9đ,
11070 Novi Beograd
www.eccentrix.rs