Heinz Kabutz is the author of The Java Specialists’ Newsletter, a publication enjoyed by tens of thousands of Java experts in over 145 countries.
Dr Heinz M. Kabutz – Extreme Java – Advanced Topics
During this 2-day course, we will study over 300 slides of advanced Java topics. Each major section is followed by practical hands-on exercises to apply what you have learned. Even the most experienced Java programmer will be stimulated and challenged.
This course is ideally suited to the professional Java programmer with at least 2 years experience, who would like to learn how to truly master the Java Programming Language.
Is this course for you?
If you answer “yes!” to any of these questions, then this course is for you:
Would you like to learn some advanced techniques for writing Java code?
Would you like to understand Java NIO?
Would you like to understand the intricacies of Java memory, including tips on how to diagnose problems?
Have you ever wondered what possibilities exist in the reflection API?
Or wondered what data structures would be best suited to your application?
Or looked for better ways of managing exceptions?
Your Instructor
Dr Heinz M. Kabutz
Dr Heinz M. Kabutz
Heinz Kabutz is the author of The Java Specialists’ Newsletter, a publication enjoyed by tens of thousands of Java experts in over 145 countries. His book “Dynamic Proxies (in German)” was #1 Bestseller on Amazon.de in Fachbücher für Informatik for about five minutes until Amazon fixed their algorithm. Thanks to a supportive mother, he has now sold 5 copies.
Heinz’s Java Specialists’ newsletter is filled with amusing anecdotes of life on the Island of Crete. He is a popular speaker at all the best Java conferences around the world, and also at some of the worst. He teaches Java courses in classrooms around the world, where his prime objective is to make absolutely sure that none of his students fall asleep. He is not always successful.
Course Curriculum
Resources – Slides & Exercises
ExtremeJavaAdvancedTopics-2.0 Slides
Exercise Files
1 – Introduction
Hello & Welcome (11:45)
Java 7 & 8 Primer (7:07)
2. Java IO
Introduction (1:42)
2.1 – Object Streams
Serialization with the Decorator Pattern (23:11)
java.io.Serializable (4:33)
Serializing own objects (4:23)
Caching of objects (15:18)
writeObject() and readObject() (7:59)
Versioning of objects (6:18)
Exercises (4:07)
Exercise Walkthrough: Serialization (18:26)
2.2 – Java new IO
Introduction (2:30)
Creating buffers (5:00)
Little and big endian (7:19)
Writing and reading buffers with channels (16:54)
Memory mapped files (12:53)
Non-blocking IO (0:56)
Exercises (1:33)
Exercise Walkthrough: MappedByteBuffer (9:33)
3 – Memory
Introduction (2:24)
3.1 – Garbage Collection
Introduction (1:02)
Get immediately download Dr Heinz M. Kabutz – Extreme Java – Advanced Topics
Stack memory StackOverflowError (3:03)
Heap management (1:08)
Weak generational hypothesis (2:00)
Generational spaces (10:10)
Stop-the-world (2:24)
Heap fragmentation (2:43)
Escape analysis (2:33)
Pros and cons of GC (3:05)
Measuring GC activity (9:51)
Exercises (1:47)
Exercise Walkthrough: ThreadMemoryTest (11:49)
Extra: VisualGC Plugin & Censum (15:47)
3.2 Solving Common Memory Problems
Common memory problems (4:31)
Memory leaks (2:48)
Loitering objects (4:32)
Object churn (2:52)
Sizing generational spaces (8:16)
Exercises (0:30)
Exercise Walkthrough: FibonacciCalculator (19:52)
3.3 Finalizers
Finalizers (9:53)
4 – Reflection
Introduction (12:40)
Manipulating objects (9:05)
Exercises (2:33)
Exercise Walkthrough: MagicClassInstantiator (8:05)
Exercise Walkthrough: Deep cloning arrays (14:43)
5 – Data Structures
Introduction (4:05)
5.1 Computational Time Complexity
Computational Time Complexity (10:21)
5.2 Iteration
Iterator (8:58)
Copy-on-write collections (4:00)
Exercises (2:20)
Exercise Walkthrough: TextFile (15:46)
Exercise Walkthrough: Files.lines() (5:13)
5.3 Hashing
How hashing works (11:23)
Hashing – compound keys (10:39)
Exercises (1:08)
Exercise Walkthrough: Pixel hashCode (8:13)
5.4 Sorting and Searching
Sorting lists and arrays (4:04)
Natural order with Comparable (6:35)
Comparators (12:01)
TreeMap and TreeSet (0:57)
Exercises (2:22)
Exercise Walkthrough: Programmer rich smart (8:46)
5.4 Queues
Queues (7:57)
Deques (1:38)
6 – Exceptions
Introduction (0:53)
Error handling (4:34)
Best practices (19:42)
Assertions (5:44)
Exercises (0:56)
Exercise Walkthrough: Thread pool exceptions and assertions (8:22)
7 – Dates and Time Zones
Introduction (3:34)
Time in Java (6:34)
Java 8 – JSR 310 (8:37)
Exercises (0:49)
Exercise Walkthrough: Date formatting horror (5:26)
8 – Logging
Everyone likes to write a logging framework (3:07)
Overview (7:37)
Exercises (0:33)
Exercise Walkthrough: Logging thread pool (18:35)
Best practices (6:00)
Impact on performance (9:15)
9 – Conclusion
Where to next? (6:41)
Frequently Asked Questions
How long do I have access to a fully paid course?
How does lifetime access sound? After enrolling, you have unlimited access to this course for as long as you like – across any and all devices you own. Furthermore, if we move to another platform, we will offer you a free transfer of your account for all the courses that you have purchased.
How many times can I cancel and rejoin a subscription course?
To prevent abuse, we limit the number of times that you can cancel and rejoin our subscription based courses to three times.
What is the difference between a subscription, paying in installments and an outright purchase?
With a subscription, you never own the rights to the material. If your card is declined or you cancel your subscription, you lose access to the course. The money you have paid so far is lost. Paying in installments is a bit better. You pay for 5 or 10 months and then once you have completed your installments you have lifetime access to the course. The safest is an outright purchase, where you pay the entire course in one amount. There is no risk of losing access.
Can I pay via PayPal?
Yes, you can for outright purchases, but not for recurring payments such as paying by installments or subscriptions.
Can I get an EU VAT Invoice?
Get immediately download Dr Heinz M. Kabutz – Extreme Java – Advanced Topics
Absolutely. First off, be sure to enter the VAT number in the appropriate field during the payment process. Then contact us for an EU VAT Invoice. Please tell us the receipt number for which you need the invoice.
May I share my login details with my colleagues?
Unfortunately not. The terms of usage are for a single license. Teachable tracks your progress through the curriculum, so you won’t know how much you have watched. We offer a 30% discount on 50 licenses or more by one company. Please contact us for bulk licensing.
May we use the course for running in-house courses?
You may, as long as each of the students in the class has a valid license for that course. For example, some companies run lunch time Design Patterns study groups using our material. This is an effective way to learn. Please contact us for bulk licensing.
What if I am unhappy with the course?
We would never want you to be unhappy! If you are unsatisfied with your purchase, contact us in the first 30 days and we will give you a full refund and deregister you from the course.
When does the course and finish?
The course s now and never ends! It is a completely self-paced online course – you decide when you and when you finish. We do recommend putting time aside and setting goals to complete the course.
Can I watch the course offline during my commute?
Teachable have an iOS app that lets you watch offline. Android is not supported unfortunately.
Read more: https://archive.is/lAvoA
Reviews
There are no reviews yet.