Overview
Java SE 6 adds new power to the language. Find out how to take advantage of its new capabilities in this advanced, hands-on course for experienced Java developers.
Prerequisites
Previous experience with Java.
Audience
Software designers, developers and programmers
What you will learn
After completing this course, the student should be able to:
- Use the Executor API instead of threads
- Use JConsole to solve memory and threading problems
- Properly use generics with legacy Java code
- Take advantage of the Java SE 6 Scripting API
- Take advantage of the Java SE 6 Compiler API
- Properly manipulate Strings containing supplementary characters
- Take advantage of new Java SE 6 Security features
Topics
- The Scripting API
- The Compiler API
- Safely Using Generics with Legacy Code
- Reification and Erasure
- The Class<T> Class
- The Executor Framework
- Visibility, Atomicity, Reordering
- The Java Memory Model
- Synchronization Guarantees
- Safe Publication
- Atomic Variables
- Explicit Locks, Fairness
- Synchronizers
- Concurrent Collections
- Skip Lists
- JConsole
- Unicode & Character Encoding
- Directionality
- Supplementary Characters
- Regular Expressions & Unicode
- Normalization
- JAXB
- Symmetric Cryptography
- PKI and XML Digital Signature
- JAAS
- What's Coming in Java SE 7
Course Duration
5 Days
Course outline
1. New in Java 5 and Java SE 6
- Enums
- The Wrapper Classes and Autoboxing
- Using and Writing Annotations
- Generic Types and Methods
- The Class<T> Class
- Reification and Erasure
- What’s Coming in Java SE 7
2. Threads: Intro
- Threads & Thread States
- The Executor API (Overview)
- Daemon Threads
- Interrupting a Thread
3. Threads: The Executor Framework
- Tasks
- ExecutorService
- Callable<T>
- ScheduledExecutorService
- ScheduledFuture<T>
4. The Java Memory Model & Volatile
- The Java Memory Model
- Visibility, Atomicity, Reordering
- Synchronization Guarantees
- Volatile Variables
- Safe Publication
5. Atomic Variables
- Atomic Variable Overview
- AtomicInteger
- AtromicReference
- Design Guidelines
6. Monitor Locks
- Locks
- Synchronized Methods & Blocks
- Static Member Synchronization
- Reentrancy
- Wait(), notify(), notifyAll()
- Explicit Locks, Fairness
- FindBugs
7. Synchronizers
- Synchronizers
- CountDownLatches
- Semaphores
8. Synchronized & Concurrent Collections
- Synchronized Collections
- Concurrent Collections
- Skip Lists
- Compound Operations
9. Unicode & Character Encoding
- The BMP and SMP
- Directionality
- Supplementary Characters
- Non-Unicode Encodings
- UTF-8
- UTF-16
- Java-Modified UTF-8
10. Regular Expressions Part 1
- Tokenization
- Regular Expressions
- Greedy Quantifiers
- String Methods
11. Supplementary Characters
- Java & Unicode: Specifying the Encoding
- Graphemes
- Surrogate Pairs
12. Regular Expressions Part 2
- Normalization (Java 6)
- Pattern & Matcher
- Using Groups
13. Symmetric Cryptography
- SecretKeys
- Ciphers
- KeyStores
- Providers
- Digests and MACs
14. PKI and JAR Signing
- Key Agreement
- Digital Signatures
- PKI
- SSL
15. JAAS
- Java Security Policy
- JAAS
- Subjects & Principals
- Login Modules
- Login Configurations
- CallbackHandlers
- LoginContexts
16. Dependency Injection and Aspect-Oriented Programming
- Decoupling
- Guice
- Spring
- Spring BeanFactory
- Using FactoryBeans
- Aspect-Oriented Programming
17. Hibernate
- O/R Mappings
- Persistence Annotations
- Session
- SchemaExport
- A CriteriaQuery
- Associations
- Hibernate Query Language
18. The DOM & XPath
- The Document Object Model (DOM)
- XPath Location Paths
- The 13 XPath Axes
- The DOM and XPath
- (Optional Topics) JDOM & DOM4J
- DocumentBuilder and Transformer
|