# Java

## Resources

### Articles

* [A categorized list of all Java and JVM features since JDK 8 to 18](https://advancedweb.hu/a-categorized-list-of-all-java-and-jvm-features-since-jdk-8-to-18/) - Dávid Csákvári and Tamás Sallai
* [Java 8 Tutorial](https://winterbe.com/posts/2014/03/16/java-8-tutorial/) - Benjamin Winterberg
* [Java 11 Tutorial](https://winterbe.com/posts/2018/09/24/java-11-tutorial/) - Benjamin Winterberg
* [Java Logging Basics](https://www.loggly.com/ultimate-guide/java-logging-basics/)
* Thinking in Clojure for Java Programmers - Aaron Crew
  * [Part 1 — A Gentle Intro](https://www.factual.com/blog/thinking-in-clojure-for-java-programmers-1/)
  * [Part 2 — Macros FTW](https://www.factual.com/blog/thinking-in-clojure-for-java-programmers-part-2/)

### Books

* [Effective Java](https://smile.amazon.co.uk/Effective-Java-Joshua-Bloch/dp/0134685997) - Joshua Bloch
  * [Notes by Keyvan Akbary](https://keyvanakbary.github.io/learning-notes/books/effective-java/)
  * [Summary by David Sauvage](https://github.com/david-sauvage/effective-java-summary)
  * [Summary by Hugo Mantilla](https://github.com/HugoMatilla/Effective-JAVA-Summary)
  * [Summary by Michael Parker](https://github.com/mgp/book-notes/blob/master/effective-java-2nd-edition.markdown)
* [Java Concurrency In Practice](https://smile.amazon.co.uk/Java-Concurrency-Practice-Brian-Goetz/dp/0321349601) - Brian Goetz
  * [Notes by Preslav Mihaylov](https://github.com/preslavmihaylov/booknotes/blob/master/java/java-concurrency-in-practice/README.md)
  * [Summary by Michael Parker](https://github.com/mgp/book-notes/blob/master/java-concurrency-in-practice.markdown)
* [Java for small teams](https://ncrcoe.gitbooks.io/java-for-small-teams/content/)

### GitHub repositories

* [Awesome Java](https://github.com/akullpp/awesome-java)
* [Better Java](https://github.com/cxxr/better-java)
* [Design patterns implemented in Java](https://github.com/iluwatar/java-design-patterns)
* [Useful Java links](https://github.com/Vedenin/useful-java-links)

### Infographics

<figure><img src="https://3287763006-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MNTfNUTqpRKTqOGTts0%2Fuploads%2FOFXTvH2kL4eMj4la3PUi%2FRoadmap%20To%20Learn%20Java%20Programming.gif?alt=media&#x26;token=0b7fe7b0-5488-4ce6-b92c-70f4beb1ea6e" alt=""><figcaption></figcaption></figure>

### Libraries

* [Jcoz - Java Causal Profiler](https://decave.github.io/JCoz/)
* [JUnit](https://junit.org/junit5/)
  * [Cheat sheet](https://files.jrebel.com/pdf/zt_junit_cheat_sheet.pdf)

### Tools

* [JD-GUI](https://java-decompiler.github.io/) - Java Decompiler
* [Recaf](https://www.coley.software/Recaf/) - modern bytecode editor

### Websites

* [Baeldung](https://www.baeldung.com/)
* [CheerpJ](https://cheerpj.com/) - Run Java in Modern Browsers
* [Java decompiler online](http://www.javadecompilers.com/)
* [Java Design Patterns](https://java-design-patterns.com/)
* [Java Developer Tutorials and Training](https://www.oracle.com/java/technologies/jdtt-jsp.html) - Oracle
* [London Java Community](https://londonjavacommunity.co.uk/)
* [Marco Behler](https://www.marcobehler.com/)
* [The Java Version Almanac](https://javaalmanac.io/)

