A Different Training Approach
René Schwietzke, Xceptance
A nutshell introduction into computer programming including
The history and some basics about Java.
Just a quick recap of the basic parts of a modern computer that is relevant to a programmer.
What is data, what shape does it have, and what does support Java? We talk int, Integer, String, and other things here.
Same basic but very important general data structures. List, Maps, and things like that.
What you have to know about the basic language. Comments, variables, keywords, loops, ifs, and more.
How to group and organize code simply.
How to signal something special outside the regular program flow. We will talk Errors and Exceptions here.
The OOP basics, such as ideas, concepts, and use.
All about classes. The simple start into OOP.
Unify code and behavior with abstract classes.
Build interfaces for nice APIs, consistent naming, and hiding of details.
Build flexible APIs and classes with the help of generics and leverage full compiler support.
What is Functional Programming and why might we benefit from it?
Just a small example what fP can do for us.
Harvest the full power of streams to make complicated data operations easier.
Say Goodbye to NPEs. A way to design better APIs and avoid NullPointerExceptions.
Functional programming extensions to popular Java classes.
Performance requires knowledge about the entire platform, so let's talk Linux and x86 now.
Java I/O explained. Also mentions traditional vs. NIO.
How to benchmark correctly using the OpenJDK JMH benchmark harness.
Everything you always wanted to know about the JMM - Concurrency is hard.
All about the Java memory including GC.
Write efficient and good Java code and keep the runtime profile in mind. Contains micro benchmark examples to handle myths.