The Java Ecosystem

Components of Java

Java Development Kit (JDK)

Java Runtime Environment (JRE)

Java Virtual Machine (JVM)

Java SE API

Integrated Development Environment (IDE)

IntelliJ IDEA

Eclipse

NetBeans

Frameworks and Libraries

Web frameworks

  • Spring Framework
  • Servlet & JSP/JSF

Web Security frameworks

  • Spring Security

ORM frameworks

  • Hibernate
  • MyBatis
  • MyBatisPlus

Web services frameworks

  • Spring Cloud
  • Dropwizard
  • Quarkus
  • Micronaut
  • Vert.x

Testing frameworks

  • JUnit
  • TestNG
  • Mockito

Libraries

  • Commons: commons-lang, commons-io, guava
  • Logging: logback, log4j2, slf4j
  • Web
    • Data validation: spring-boot-starter-validation
    • API documentation: swagger
    • Template engines: velocity, freemarker
  • Data access clients
    • MySQL clients: mysql-connector-java
    • JDBC Connection pools: druid, druid-spring-boot-starter, commons-dbcp, HikariCP
    • Page query: pagehelper
    • Redis clients: jedis, spring-boot-starter-data-redis
    • Elasticserach clients: elasticsearch-java, elasticsearch-rest-client
  • JSON & XML & HTML Parser
    • JSON: jackson, org.json, gson, json-path
    • HTML: jsoup
  • HTTP Client
    • okhttp
  • Document processing
    • Office document: poi
    • PDF document: pdfbox
  • Others
    • Reduce boilerplate code: lombok

Build Tools

Maven

Gradle

Application Servers

Apache Tomcat

WildFly (formerly JBoss)

Cloud-Native and Microservices

Spring Cloud

MicroProfile

Community Support

The Java community is vast and vibrant, with numerous online resources, forums, and user groups.