Advanced Java Development



Kursarrangør: Glasspaper AS
Sted: Oslo, Helsfyr
Oslo
Kursadresse: Brynsveien 12, 0667 Oslo (kart)
Type:Åpent kurs / gruppeundervisning
Undervisningstid:
Day 1 kl 10:00 - 16:00
Day 2 - 5 kl 09:00 - 16:00
Varighet: 5 days
Pris: 25.900

This course is aimed at existing Java developers who wish to obtain a deeper understanding of advanced Java programming techniques, APIs, and development practices.

The course also explores important additions in Java 8 and includes a preview of Java 9, as well as showing how to implement distributed systems using REST and Web Sockets.

What you will learn:
• Advanced file handling, NIO2, and JDBC
• Localization and resource bundles
• Reflection
• Sockets
• Interfacing with native code using JNI
• Multithreading and concurrency techniques and APIs
• Tuning garbage collection
• Implementing security
• Utilizing Java 8 language features and API enhancements
• Effective unit testing
• Design patterns
• Creating and consuming REST-based Web services
• Implementing full-duplex client-server communications using Web sockets
• Looking ahead to Java 9

Course outline:

NIO2:
• Overview of NIO2
• Basic operations
• File visitors
• Directory watching
• File attributes

Advanced JDBC Techniques:
• DataSources
• Metadata
• JDBC escape syntax
• Transaction management
• Additional techniques

Localization and Resource Bundles:
• Locales
• Resource bundles
• Locale-specific formatting and parsing

Reflection:
• Dynamic retrieval of information using reflection
• Creating instances of extensibility objects
• Class fields, methods and constructors

Sockets:
• Introduction to sockets
• Implementing a socket server
• Implementing a socket client

Java Native Interface (JNI):
• Getting started with JNI
• Defining native methods in Java
• Implementing native code in C/C++

Multithreading Techniques:
• Java synchronization language features
• Designing thread-safe classes
• Recommendations for synchronizing resource access

Additional Multithreading Issues:
• Using concurrent collections
• Using synchronizers and locks
• Thread pooling techniques
• Using the executor framework
• Using pooling effectively

Tuning Garbage Collection:
• Essential concepts
• Understanding object lifetimes
• Generational collectors
• Heap organization
• Garbage collection options
• Garbage collection monitoring and tuning

Security:
• Security managers
• Policy files
• Sandboxing
• Cryptographic random numbers

Java 8 Features:
• Lambda expressions
• Method references
• Constructor references
• Interface changes in Java 8

Additional Java 8 Features:
• Streams
• Collections and concurrency enhancements
• New date/time API
• IO/NIO additions

TDD and Unit Testing:
• Principles of unit testing
• Using JUnit and Hamcrest effectively
• Dependency injection and mocking

Design Patterns:
• Taxonomy of design patterns
• Creational patterns
• Behavioural patterns
• Structural patterns

REST-Based Web Services:
• Overview of RESTful services
• Creating a RESTful service
• Consuming a RESTful service
• Handling JSON data
• Browser-based developer tools
• Secure communications

Web Sockets:
• Overview of Web Sockets
• Defining a Web Sockets server
• Defining a Web Sockets web page client
• Defining a Web Sockets Java client
• Overview of SSE

Looking Ahead to Java 9:
• Summary of features expected in Java 9
• Modularizing code
• New Java compiler options
• Tooling

Audience:
Prerequisites:
• At least 6 months Java experience

Language: English

Instructor: Andy Olsen

Andy is a freelance consultant and instructor based in the UK, working mostly in the City of London and Oxford. Andy has been working with .NET since the Beta 1 days and has extensive experience in many facets of .NET development including WCF, WPF, WF, ASP.NET MVC Web development, and mobile applications. Andy has designed and written many Microsoft Official Curriculum courses in the last decade, and has been engaged as author and technical reviewer with Apress on some of their biggest selling books.

Vis flere tilsvarende kurs: