List of recommended
sources for Java Developer
Category & Theme List of recommended sources
1 Software and Development Process
Architecture Knowledge General tips for good architecture:
[Link]
Hexagonal Architecture:
[Link]
Hexagonal Architecture alternative view:
[Link]
C4 model description:
[Link]
What is Driven Domain Design?:
[Link]
Software Architecture in Practice:
[Link]
Clean Architecture by [Link]:
[Link]
Data intensive apps by [Link]:
[Link]
Grokking Functional Programming:
[Link]
Martin Fowler Software architecture guide:
[Link]
Software Design Patterns:
[Link]
Web App architecture description:
[Link]
C ode Standards Clean Code Summary:
[Link]
Clean Code Handbook:
[Link]
Clean Code Summary:
[Link]
SOLID Principles explanation:
[Link]
Algorithms & Data Structures An Introduction to the Greedy Algorithm:
[Link]
Choose The Right Data Structure:
[Link]
Introduction to Algorithms:
[Link]
Data Structures and Algorithms Made Easy
(for interviews):
[Link]
Grokking Algorithms: An Illustrated Guide for
Programmers:
[Link]
Data Structure and Algorithms Tutorials:
[Link]
Data Structures Easy to Advanced:
[Link]
C I/ CD What is the difference? CI vs CD:
[Link]
What is CI/CD? Explanation from Red Hat:
[Link]
About Concourse CI:
[Link]
Jenkins vs Concourse close comparasion:
[Link]
Pipeline as Code. CI/CD process description:
[Link]
CI/CD setup on Jenkins:
[Link]
Concourse getting started:
[Link]
Concourse tutorials (a bit old):
[Link]
CI/CD description from Stephan Maarek:
[Link]
Azure CI/CD pipelines by Nana:
[Link]
B
CI explained by I M engeneer:
[Link]
Troubleshooting / Logging / Monitoring Spring Actuator documentation:
[Link]
Log4J logging levels:
[Link]
Prometheus and Grafana in Java apps:
[Link]
Java app remote debug:
[Link]
Java Logging best practices:
[Link]
Practical Monitoring: Effective Strategies
for the Real World:
[Link]
Learn Grafana 7.0: A beginner's guide
to getting well versed in analytics, interactive
dashboards, and monitoring:
[Link]
Prometheus: Up & Running: Infrastructure
and Application Performance Monitoring:
[Link]
Site Reliability Engineering: How Google Runs
Production Systems:
[Link]
Spring app with Prometheus:
[Link]
Spring app with Prometheus and Grafana:
[Link]
Spring Boot app with Micrometer:
[Link]
Expose Hikari metrics from Java app:
[Link]
Logback vs SLF4J vs Log4J2 — what is
the difference?:
[Link]
How to do logging in java using log4j api, best
practices and tips:
[Link]
Testing process 7 popular tests naming conventions:
[Link]
What Is Test-Driven Development?:
[Link]
The different types of software testing:
[Link]
Test Driven Development by Kent eck:
B
[Link]
—
JUnit 5 tutorial Learn how to write unit tests:
[Link]
Best Practices For Unit Testing I n Java:
[Link]
Unit Tests, How to Write Testable Code
and Why it Matters:
[Link]
Version C ontrol Systems (GIT) Git branching strategies:
[Link]
Top 20 Git Commands With Examples:
[Link]
What is Git Diff?:
[Link]
How Does Git Work?:
[Link]
Pro Git 2nd edition:
[Link]
How to write good commit messages?:
[Link]
How to create good README?:
[Link]
Build Tools Why Build Tools Matter for a Well-Grounded
Developer:
[Link]
Java build tools: Maven vs Gradle:
[Link]
Gradle in Action:
[Link]
Maven-docker plug-in official docs:
[Link]
Ant vs Maven vs Gradle on examples:
[Link]
Gradle Tutorials:
[Link]
Comparing 3 java build tools ( Ant vs Maven
vs Gradle):
[Link]
Development Methodologies 12 Software Development Methodologies:
[Link]
How to describe tasks for your team:
[Link]
What is acceptance criteria.:
[Link]
Software Development Methodologies
with history:
[Link]
2 Java SE Development
Java C ore Java Wildcards:
k
[Link] [Link]...
Java Wildcards:
[Link]
B
Java Code Challenges for eginners:
[Link]
G1 GC official docs:
[Link]
Python vs Java: key differences and code
examples:
[Link]
More Java 17: An In-Depth Exploration
of the Java Language and Its Features:
[Link]
Effective Java 3rd Edition:
[Link]
B
Java asic Code Trainings:
[Link]
Choosing the best GC:
[Link]
Java Multithreading Multithreading in Java — Everything You MUST
Know:
[Link]
Handling Java Memory Consistency
with happensbefore relationship:
[Link]
Roach Motel and the Java Memory Model:
[Link]
Java Concurrency in Practice:
[Link]
Java Advanced Java Streams overview:
[Link] [Link]... k
All changes between Java 11 and 17:
[Link]
Java 9 modularity in 5 min:
[Link]
All changes from Java 8 to 11:
[Link]
About Java new class — Record:
[Link]
About Class Data Sharing:
[Link]
Graal VM first view:
[Link]
Graal VM alternative view:
[Link]
How to create Java library from Scratch:
[Link]
Modern Java — Top Features of Java 9 to 17:
[Link]
3 Databases&Data
Q
S L Databases Single vs Composite indexes:
[Link]
How pessimistic locking works:
[Link]
Postres vs MySQL:
[Link]
Postres vs MySQL performance comparasion:
[Link]
How to choose the right database for your service:
[Link]
SQL for Data Analytics: Perform fast
and efficient data analysis with the power of SQL:
[Link]
PostgreSQL Query Optimization:
[Link]
cient MySQL Performance:
Effi
[Link]
Advanced SQL Window functions:
[Link]
Q
NoS L Databases What is NoSQL?:
[Link]
The Main oSN Q Database Types:
[Link]
Hibernate ORM framework Hibernate Entity lifecycle:
[Link]
Java Persistence with Hibernate:
[Link]
High-Performance Java Persistence:
[Link]
Best Hibernate Guides by Vlad M:
[Link]
Hibernate Inheritance setup:
[Link]
Alternative ORM frameworks Different Java ORM tools:
[Link]
Introduction To iBatis:
[Link]
What’s the difference between JPA, Hibernate
and EclipseLink:
[Link]
A Guide to EclipseLink with Spring:
[Link]
4 C aching Systems
C aches Popular caching strategies:
[Link]
A list of cache providers:
[Link]
Pub/Sub and Event-Streaming Apache Kafka for beginners:
[Link]
Kafka description in 5 mins:
[Link]
Concurrently process a single Kafka partition:
[Link]
5 Spring framewor k
Spring Application framewor k How Spring BPP works:
[Link]
What are Conditional Beans?:
[Link]
Spring Boot in Action:
[Link]
Spring in Action, Sixth Edition:
[Link]
Spring Scheduler examples:
[Link]
Alternative Application frameworks Quarkus vs Spring Boot, short comparasion:
[Link]
Microservices: Quarkus vs Spring Boot:
[Link]
VertX in Action:
[Link]
6 RESTful services and WebAPI
Web AP design I SOAP vs REST:
[Link]
Trending REST best practices:
[Link]
REST vs Graph Q
:
L
[Link]
Idempotent vs Safe:
[Link]
API Design by B. Doerrfeld:
[Link]
CRUD API Design:
[Link]
Web & Data Security REST API Security:
[Link]
Top REST Security threats:
[Link]
JWT vs Cookies:
[Link]
X
CSRF vs SS:
[Link]
OAuth2 for Beginners:
[Link]
What is TLS?:
[Link]
Encryption algorithms overview:
[Link]
SSH vs TLS/SSL, the difference:
[Link]
Base64 vs H X for binary content:
[Link]
Tips for good Symmetric encryption:
[Link]
OAuth and PKCE:
[Link]
Microservices Microservices on Kubernetes vs Spring Cloud:
[Link]
API Gateway vs Direct Communication:
[Link]
API Gateway vs LoadBalancer:
[Link]
Distributed Transactions vs 2Phase Commit:
[Link]
What is SAGA pattern?:
[Link]
Microservices on Spring Cloud and Docker:
[Link]
Microservices explained — the What, Why
and How?:
[Link]
7 C ontainer Orchestration Tools
Orchestration Advanced Kubernetes features:
[Link]
MiniKube tutorial for beginners:
[Link]
Minikube official guide:
[Link]
Deploying Java app with Docker and Kubernetes:
[Link]
Deploying Java app with Docker and Kubernetes
(alternative version):
[Link]
Kubernetes YAML File Explained:
[Link]
Istio Setup in Kubernetes:
[Link]
N
Kubernetes amespaces:
[Link]
Kubernetes Operator simply explained:
[Link]
AWS EKS — Create Kubernetes cluster on Amazon
EKS:
[Link]
What is Helm in Kubernetes?:
[Link]
Service Mesh What is a service mesh? Service mesh benefits
and how to overcome their challenges:
[Link]
Mastering Service Mesh: Enhance, secure,
and observe cloud-native applications
with Istio, Linkerd, and Consul:
[Link]
Service Mesh on Kubernetes and Spring Boot:
[Link]
Istio и Service Mesh an easy explanation:
[Link]
8 Development
C loud Services AWS EBS Performance:
[Link]
What is Hypervisor?:
[Link]
Introducing Cloud Front Functions:
[Link]
Cloud Front functions in details:
[Link]
Cloud Strategy(Migration) by G. Hophe:
[Link]
Adrian Cantrill AWS course:
[Link]
Stephane Marek AWS course:
[Link]
B fi
John onso AWS Certi cation tests:
[Link]
[Link]