> For the complete documentation index, see [llms.txt](https://wiki.dmmax.me/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.dmmax.me/programming-languages/java.md).

# Java

## Learning

### Akka

* [Reactive Architecture(1): Introduction to Reactive Systems](https://academy.lightbend.com/courses/course-v1:lightbend+LRA-IntroToReactive+v1/about)
* [Lightbend Akka for Java - Professional](https://academy.lightbend.com/courses/course-v1:lightbend+LAJ-P+v1/about)
* [Lightbend Akka Cluster - Sharding (Java)](https://academy.lightbend.com/courses/course-v1:lightbend+LAC-Sharding-Java-Classic+v1/about)
* [Lightbend Akka Streams for Java - Professional](https://academy.lightbend.com/courses/course-v1:lightbend+LTJ-P+v1/about)

## Links

* [Regular expressions in Java - Tutorial](https://www.vogella.com/tutorials/JavaRegularExpressions/article.html)
* [Akka – toolkit to write reactive, concurrent, and distributed application on the JVM](https://akka.io/)
* [Lightebend – a company to help with solutions based on Akka but also they have Akka courses and certifications](https://www.lightbend.com/)
* [Guice - Dependency Injection framework, supports JSR-330](https://github.com/google/guice)
* [Vaadin - web application platform for Java](https://vaadin.com/)
* [Apache PDFBox – open source Java tool for working with PDF documents](https://pdfbox.apache.org/)
* [Easytable - a library build on Apache PDFBox to build tables](https://github.com/vandeseer/easytable)
* [pdfbox-layout – a library to work with text, paragraphs, pagination, etc](https://github.com/ralfstuckert/pdfbox-layout)
* [How to Use Github Packages for Deploying Jars](https://betterprogramming.pub/how-to-use-github-packages-for-deploying-jars-b6e9fdb5e23c)
* [Detect or Remove Lines From Image Using OpenCV With Spring Boot](https://heinhtetzawycc.medium.com/detect-or-remove-lines-from-image-using-opencv-with-spring-boot-ca076c4ad128)
* [Article by Jakob Jenkov: Java Concurrency and Multithreading Tutorial](https://jenkov.com/tutorials/java-concurrency/index.html) - great overview of concurrency in Java. It has a lot of useful sub links to understand the topic in more details.
* [Article by Lars Vogel: Java concurrency (multi-threading)](https://www.vogella.com/tutorials/JavaConcurrency/article.html)
* [Article by Baelding: Java equals() and hashCode() Contracts](https://www.baeldung.com/java-equals-hashcode-contracts)
* [Video: JIT Compilation with Graal: Java source to Assembly by Swapnil Gaikwad](https://youtu.be/qNJbLyCGtuA)
* [Video: Java Observability with OpenTelemetry By Andrzej Kubik](https://youtu.be/vrVL0Ws2eV4?si=NvyAYYo-Dr-erPyu) - great overview of specification and existing solutions for observability in Java
