Awesome
Awesome Java
A curated list of awesome frameworks, libraries, tools, and resources for Java programming.
Contents
Libraries
Core Libraries
- Guava - Google's core libraries for Java, including collections, caching, primitives, and more.
- Apache Commons - A collection of reusable Java components.
- Joda-Time - A library for date and time handling before Java 8's
java.time
.
Web Frameworks
- Spring Boot - A framework for creating stand-alone, production-grade Spring-based applications.
- Micronaut - A modern, JVM-based, full-stack framework for building modular microservices.
- Quarkus - A Kubernetes-native Java stack tailored for GraalVM and OpenJDK HotSpot.
Testing
- JUnit - A simple framework for writing repeatable tests.
- Mockito - A popular mocking framework for unit tests in Java.
- AssertJ - A fluent assertion library for Java tests.
Database
- Hibernate - A powerful, high-performance Object-Relational Mapper (ORM).
- Flyway - A database migration tool.
- H2 Database - A fast, open-source, in-memory database for Java.
JSON
- Jackson - A popular library for parsing and generating JSON in Java.
- Gson - A Java library by Google to convert Java objects to JSON and vice versa.
- JSON-B - The JSON Binding API for Java.
HTTP Clients
- OkHttp - An HTTP client for Java.
- Apache HttpClient - A flexible HTTP client for Java.
- RestTemplate - A Spring framework HTTP client for RESTful requests.
Dependency Injection
- Spring Framework - The most widely used dependency injection framework.
- Dagger - A fast dependency injector for Java and Android.
- Guice - A lightweight dependency injection framework by Google.
Tools
- Maven - A build automation tool used for Java projects.
- Gradle - A powerful build automation system that makes it easier to build, test, and deploy software.
- JRebel - A tool to skip redeploys during Java development.
Build Tools
- Maven - A popular build and project management tool.
- Gradle - A flexible build tool with powerful dependency management.
IDEs
- IntelliJ IDEA - A powerful and ergonomic IDE for Java.
- Eclipse - An open-source, community-driven IDE for Java development.
- NetBeans - An open-source IDE for Java SE, Java EE, and other languages.
Learning Resources
- Java Documentation - Official Java tutorials and guides.
- Baeldung - A website with Java tutorials, guides, and news.
- Codecademy: Learn Java - An interactive course for learning Java basics.
Books
- Effective Java by Joshua Bloch - A comprehensive guide to best practices in Java programming.
- Java: The Complete Reference by Herbert Schildt - A comprehensive guide to the Java language.
- Head First Java by Kathy Sierra & Bert Bates - A beginner-friendly guide to learning Java.
Community
- Stack Overflow - A Q&A site for Java-related programming questions.
- Reddit: r/java - A community for Java news, discussions, and questions.
- Java Discord Community - A chat community for Java developers.
Contribute
Contributions are welcome!