The Java world is a very rich and complex environment. So one might regularly refer to resources, documentation and tutorials in order to efficiently solve day to day problems.
Furthermore, Java is a living language that constantly evolves. A developer should then always keep learning and experimenting with latest trends and APIs.
So I have listed hereafter the best resources I have found on the internet. This list is firstly for me to efficiently find information on a specific Java issue, being able to reach trusted sources quickly, but, as a big open-source fan and as these information are anyway freely available, I see no point in not letting it freely available.
As usual, I will took no responsibility of any kind about using the below information, that might sometimes be false or deprecated. (You should contact me or send a pull request if you see errors or have interesting additional resources to suggest).
Here are specific links that are specially relevant for a given topic. Some links or website might appear more than once if they are relevant for the sub-category there are listed in...
- An easy to read overview of the JVM - Yet a little bit out-dated for java 8+
- Another clear and concise overview on DZone
- JVM details overview
- A trail about specific management of memory for Strings
- A very basic overview of the difference between heap and stack memory
- Java Garbage Collection Basics: A basic tutorial on GC on the Oracle website, that cannot been accessed through the generic tutorial pages.
- The G1GC basics on Oracle's website
- Taming G1GC
About OAuth:
- The official Oracle How-To: rules and best practices to write correct JavaDoc
- The wiki markdown cheatsheet on github
- the lambda FAQ
- An interesting JavaOne 2017 conference on Lambda expressions
- An introduction to Spliterators
- The must-read for any Java developer: The Java tutorials on Oracle website
- A very good alternative from J. Jenkov
- Official JavaEE 8 tutorial on Github
- Gradle User Guide
- The Groovy language
- To use gradle in Eclipse IDE via the Buildship plugin, these page are good starting points: EclipseProject and Eclipse classpath
Main documentation for reference, with among other:
- An in depth explanation of Spring framework core concepts (IoC and AOP)
- About annotations
- About @RequestMapping annotation
- An introduction to thymeleaf: a module developed by Daniel Fernandez @danfez, a spanish guy who also contributed jasypt the encryption basic plugin for the SpringFramework (rien que ca :)...
- A comparaison between XML and annotation defined configuration
- A very complete list of resources to dive in.
- The reference documentation on spring.io website
- An in-depth introduction to batch within Java EE 7
- Another Overview of the underlying JSR 352 concepts that are now implemented by the Spring Batch project
- A very easy to understand first round, using same data as everybody else.
- CGLib: the byte code instrumentation library used by Spring, among others