Java resources (latest version of Awesome) and javaawesome
Awesome series of Java resources. Awesome-java is the list of Java resources initiated and maintained by akullpp, including: building tools, databases, frameworks, templates, Security, code analysis, logs, third-party libraries, books, and Java sites.
Business Process Management Suite
Process-driven software system construction and middleware.
- JBPM: a flexible business process management framework dedicated to building bridges between developers and business analysts. Official Website
- Activiti: a new generation of open-source BPM engine. Its core is Java-based ultra-fast, ultra-stable BPMN 2.0 process engine, which emphasizes the reusability and scalability of process services. Download from official website
Bytecode operation
A development library that operates bytecode programmatically.
- ASM: common underlying bytecode operation and Analysis Development Library. Official Website
- Byte Buddy: Uses stream APIs to further simplify bytecode generation. Official Website
- Byteman: Tests and troubleshooting are performed using the DSL (rule) bytecode during runtime. Official Website
- Javassist: an attempt to simplify bytecode editing. Official Website
Cluster Management
A framework for dynamically managing applications in a cluster.
- Apache Aurora: Apache Aurora is a Mesos framework used to run services and scheduled tasks (cron jobs) for a long time ). Official Website
- Singularity: Singularity is a Mesos framework for easy deployment and operation. It supports Web Service, background running, scheduling jobs, and one-time tasks. Official Website
Code Analysis
Measure code indicators and quality tools.
- Checkstyle: code writing standard and standard static analysis tools. Official Website
- Error Prone: common programming errors are reported as runtime errors. Official Website
- FindBugs: finds hidden bugs Through static bytecode analysis. Official Website
- JQAssistant: uses the Neo4J-Based Query Language for static code analysis. Official Website
- PMD: Bad programming habits for source code analysis. Official Website
- SonarQube: integrates other analysis components through the plug-in to collect statistics on data from the past period of time. Official Website
Compiler Generation Tool
Framework used to create a parser, interpreter, or compiler.
- Anlr: a complex, full-featured top-down parsing framework. Official Website
- JavaCC: JavaCC is a more specialized lightweight tool that is easy to use and supports advanced syntax prediction. Official Website
Build tools
Build and apply dependency processing tools.
- Apache Maven: Maven is a declarative build and dependency management tool, which is managed by convention over configuration. Maven is more recommended than Apache Ant, which adopts process-based management and is relatively difficult to maintain. Official Website
- Bazel: A build tool from Google that can quickly and reliably build code. Official Website
- Gradle: incremental build using Groovy (non-XML), which works well with Maven dependency management. Official Website
External Configuration Tool
Supports development libraries with external configurations.
- Config: Specifies the JVM language configuration library. Official Website
- Owner: reduces redundant configuration attributes. Official Website
Program for solving Constraints
A development library that helps solve the problem of meeting constraints.
- Choco: constraints that can be used directly meet the problem solving program. The constraint planning technology is used. Official Website
- JaCoP: provides an interface for the FlatZinc language to execute the MiniZinc model. Official Website
- OptaPlanner: an optimization solution for enterprise planning and resource scheduling. Official Website
- Sat4J: the most advanced solution to Logical Algebra and optimization problems. Official Website
Continuous Integration
- Bamboo: The Atlassian solution, which can be well integrated with other Atlassian products. You can select an open-source license or buy a commercial version. Official Website
- CircleCI: Provides hosting services for free trial. Official Website
- Codeship: Provides hosting services and a limited free model. Official Website
- Fabric8: Container integration platform. Official Website
- Go: ThoughtWork open source solution. Official Website
- Jenkins: supports Server-based Deployment services. Official Website
- TeamCity: continuous integration solution for JetBrain, available in the free version. Official Website
- Travis: usually used as a hosting service for open-source projects. Official Website
CSV Parsing
Simplified CSV data read/write framework and development library
- UniVocity-parsers: one of the fastest and most comprehensive CSV development libraries, and supports reading and writing TSV and fixed-width records. Official Website
Database
Tools for simplifying database interaction.
- Apache Phoenix: HBase's high-performance relational database layer for low-latency applications. Official Website
- Crate: Implements Distributed Data Storage for data synchronization, sharding, scaling, and replication. In addition, SQL-based syntax can be used for cross-cluster query. Official Website
- Flyway: A simple database migration tool. Official Website
- H2: A small SQL database, known for its use as a memory database. Official Website
- HikariCP: a high-performance JDBC Connection Tool. Official Website
- JDBI: convenient JDBC abstraction. Official Website
- JOOQ: generates typesafe code for SQL schema. Official Website
- MapDB: an Embedded Database Engine Based on a concurrent set in disk or heap memory. Official Website
- Presto: distributed SQL query engine for big data. Official Website
- Querydsl: Unified query of Typesafe. Official Website
Data Structure
- Apache Parquet: the Columnar storage format based on the assembly algorithm published in Google Dremel. Official Website
- Protobuf: Google data exchange format. Official Website
- SBE: simple binary encoding, one of the fastest message formats. Official Website
- Wire: clean and lightweight protocol cache. Official Website
Time and date tool Library
The development database that processes the time and date.
- Joda-Time: Before Java 8 is released, Joda-Time is the actual Time and date library standard. Official Website
- Time4J: advanced time and date library. Official Website
- ThreeTen: JSR-310 implementation that provides JDK with more time and date APIs. Official Website
Dependency Injection
Help develop libraries that rely on the flip paradigm.Official Website
- Apache DeltaSpike: CDI extension framework. Official Website
- Dagger2: Injection framework at compilation without reflection. Official Website
- Guice: comparable to the lightweight Dagger injection framework. Official Website
- HK2: lightweight dynamic dependency injection framework. Official Website
Development Process Enhancement Tool
Enhance the development process at the most basic level.
- ADT4J: JSR-269 Code Generator for algebraic data types. Official Website
- AspectJ: seamless extension for Aspect-oriented programming (AOP. Official Website
- Auto: a collection of source code generators. Official Website
- DCEVM: you can modify the JVM to support unlimited redefinition of loaded classes at runtime. Official Website
- HotswapAgent: supports unlimited redefinition of runtime classes and resources. Official Website
- Immutables: A Condition class similar to Scala. Official Website
- JHipster: Yeoman Source Code Generator Based on Spring Boot and AngularJS applications. Official Website
- JRebel: commercial software with code and configuration can be re-loaded without redeployment. Official Website
- Lombok: A code generator that reduces redundancy. Official Website
- Spring Loaded: A class overload proxy. Official Website
- Vert. x: multi-language event-driven application framework. Official Website
Distributed Application
It is used to compile the development library and framework of Distributed Fault-Tolerant applications.
- Akka: a tool and runtime used to write distributed, fault-tolerant, concurrent event-driven applications. Official Website
- Apache Storm: a real-time computing system. Official Website
- Apache ZooKeeper: it is a coordination service for large-scale distributed systems and supports distributed configuration, synchronization, and name registration. Official Website
- Hazelcast: highly scalable memory data grid. Official Website
- Hystrix: Provides latency and fault tolerance. Official Website
- JGroups: provides reliable messaging and cluster creation tools. Official Website
- Orbit: supports Virtual roles and adds an abstraction layer based on traditional roles. Official Website
- Quasar: Provides Lightweight threads and roles for JVM. Official Website
Distributed Database
For applications, databases in distributed systems seem to have only one data source.
- Apache Cassandra: a columnar database with high availability and no spof. Official Website
- Apache HBase: A Hadoop database for big data. Official Website
- Druid: Real-Time and historical OLAP data storage, which performs well in clustering query and approximate query. Official Website
- Infinispan: stores cached highly concurrent key-value pairs. Official Website
Release
Tool for publishing applications in local format.
- Bintray: a binary file version control tool. It can be used together with Maven or Gradle. The open-source free version and several commercial paid versions are available. Official Website
- Central Repository: the largest binary component Repository that provides free services for open-source communities. Apache Maven uses the Repository on the Central official website by default, and can also be used in all other build tools.
- IzPack: an Authoring Tool for cross-platform deployment ). Official Website
- JitPack: a convenient tool for packaging GitHub repositories. You can build Maven and Gradle projects as needed and release immediately usable components. Official Website
- Launch4j: Package JAR as a lightweight Windows executable program on the local machine. Official Website
- Nexus: a binary management tool that supports proxy and cache functions. Official Website
- Packr: packr JAR, resource, and JVM into Windows, Linux, and Mac OS X local publishing files. Official Website
Document processing tools
The development library that processes Office documents.
- Apache POI: supports OOXML specifications (XLSX, docx, PPTX) and OLE2 specifications (XLS, DOC, and PPT ). Official Website
- Documents4j: Use a third-party converter to convert the file format to a format similar to MS Word. Official Website
- JOpenDocument: Processing OpenDocument format (XML-based document format proposed by Sun ). Official Website
Functional Programming
Function programming supports libraries.
- Cyclops: supports Monad operations, stream operations tools, comprehension (List syntax), pattern matching, and trampoline. Official Website
- Fugue: function programming extension of Guava. Official Website
- Functional Java: implements a variety of basic and advanced programming abstractions to assist in composition-oriented development ). Official Website
- Objective LANG: a functional component library that provides persistent data types and functional control structures. Official Website
- JOO lambda: it aims to fill the Java 8 lambda gap extension and provides a large number of missing types and a rich set of sequential flow APIs. Official Website
Game Development
Game Development Framework.
- JMonkeyEngine: Modern 3D game development engine. Official Website
- LibGDX: a comprehensive cross-platform advanced framework. Official Website
- LWJGL: a robust framework that abstracts OpenGL, CL, and AL technologies. Official Website
GUI
Modern graphical user interface development library.
- JavaFX: the successor of Swing. Official Website
- Scene Builder: A visual layout tool for developing JavaFX applications. Official Website
High-performance computing
It covers high-performance computing tools from collections to specific development libraries.
- Agrona: common data structures and tools for high-performance applications. Official Website
- Disruptor: The Inter-thread message passing development library. Official Website
- Fastutil: a fast and compact Collection ). Official Website
- GS Collections: A Collection framework inspired by Smalltalk. Official Website
- HPPC: basic type set. Official Website
- Javolution: A Development Library for real-time and embedded systems. Official Website
- JCTools: The concurrency tool missing in JDK. Official Website
- Koloboke: Hash set and hash map. Official Website
- Trove: basic type set. Official Website
- High-scale-bli: Cliff Click my personal High-performance concurrent database Official Website
IDE
Simplify the integrated development environment for development.
- Eclipse: a veteran open-source project that supports multiple plug-ins and programming languages. Official Website
- IntelliJ IDEA: supports many JVM languages and is a good choice for Android Developers. The Business version is mainly for enterprise customers. Official Website
- NetBeans: provides integrated support for a variety of technologies, including Java SE, Java EE, database access, and HTML5. Official Website
- Scala IDE: A Scala integrated development environment based on the Eclipse open-source platform. Official Website
- SpringSource Tool Suite (STS): A Spring Application Development Environment Based on the Eclipse open-source platform. Official Website
Image Processing
Creates, evaluates, and operates image support libraries.
- Imgscalr: a simple, efficient, and hardware-accelerated image scaling Development Library Based on Java 2D. Official Website
- Picasso: Android image download and image cache development library. Official Website
- Thumbnailator: Thumbnailator is a high-quality Java thumbnail development library. Official Website
- ZXing: supports one-dimensional and two-dimensional barcode image processing libraries in multiple formats. Official Website
- Im4java: Image Processing Development Library Based on the ImageMagick or GraphicsMagick command line. Basically, ImageMagick supports both image formats and processing methods. Official Website
JSON
Simplified development library for JSON processing.
- Genson: Powerful and easy-to-use Java to JSON Conversion Development Library. Official Website
- Gson: a json processing library officially launched by Google. It supports bidirectional serialization between objects and JSON, with good performance and real-time calling. Official Website
- Jackson: similar to GSON, Jackson has better performance when used frequently. Official Website
- LoganSquare: Based on the Jackson stream API, it provides JSON parsing and serialization. It works better than GSON and Jackson in combination. Official Website
- Fastjson: a json library with complete high-performance functions written in Java. Official Website
JVM and JDK
The current JVM and JDK implementations.
- JDK 9: an earlier version of JDK 9. Official Website
- OpenJDK: JDK open-source implementation. Official Website
JVM-based language
In addition to Java, it can be used to compile the programming language of JVM applications.
- Scala: a static programming language that integrates object-oriented and functional programming ideas. Official Website
- Groovy: an optional (Optionally typed) Dynamic Language that supports static types and static compilation. It is currently an Apache incubator project. Official Website
- Clojure: it can be seen as a dynamic type language of modern Lisp. Official Website
- Ceylon: An Object-Oriented static programming language developed by RedHat. Official Website
- Kotlin: static programming languages provided by JetBrain for JVM, Android, and browsers. Official Website
- Xtend: a static programming language that converts its code into concise and efficient Java code and runs based on JVM. Official Website
Logs
A development library that records application behavior logs.
- Apache Log4j 2: Use a powerful plug-in and configuration architecture to completely rewrite Log4j. Official Website
- Kibana: analyzes and visualizes log files. Official Website
- Logback: a robust date development library that provides many interesting options through Groovy. Official Website
- Logstash: a log file management tool. Official Website
- Metrics: parameters are published through JMX or HTTP and can be stored in a database. Official Website
- SLF4J: log abstraction layer, which must be used with specific implementations. Official Website
Machine Learning
Provides tools for specific statistical algorithms. Its algorithms can be learned from data.
- Apache Flink: a fast and reliable large-scale data processing engine. Official Website
- Apache Hadoop: Open-source software framework used for large-scale data storage in commercial hardware clusters. Official Website
- Apache Mahout: A scalable algorithm that focuses on collaborative filtering, clustering, and classification. Official Website
- Apache Spark: open-source data analysis cluster computing framework. Official Website
- DeepDive: a tool that establishes structured information from unstructured data and integrates it with existing databases. Official Website
- Deeplearning4j: distributed multi-thread Deep Learning Development Library. Official Website
- H2O: Used as an analysis engine for big data statistics. Official Website
- Weka: a set of algorithms used for data mining, from preprocessing to visualization. Official Website
Message transmission
A tool that transmits messages between clients to ensure protocol independence.
- Aeron: an efficient and scalable unicast and multicast message transmission tool. Official Website
- Apache ActiveMQ: implements the open-source message proxy (broker) of JMS, which can convert synchronous communication to asynchronous communication. Official Website
- Apache Camel: integrates different message transmission APIs through Enterprise Integration Pattern EIP. Official Website
- Apache Kafka: A high-throughput distributed message system. Official Website
- Hermes: a fast and reliable message Broker built on Kafka. Official Website
- JBoss HornetQ: it is clear, accurate, and modular, and can be easily embedded with message tools. Official Website
- JeroMQ: pure Java implementation of ZeroMQ. Official Website
- Smack: cross-platform XMPP client function library. Official Website
Miscellaneous
Other resources are not classified.
- Design Patterns: Implements and explains the most common Design Patterns. Official Website
- Jimfs: memory file system. Official Website
- Lanterna: A simple console text GUI function library similar to curses. Official Website
- LightAdmin: plug-in crud ui function library for Rapid Application Development. Official Website
- OpenRefine: a tool used to process chaotic data, including cleaning, transforming, using Web Service for extension, and associating it to a database. Official Website
- RoboVM: Write native iOS applications in Java. Official Website
- Quartz: powerful job scheduling library. Official Website
Application monitoring tools
A tool that monitors applications in the production environment.
- AppDynamics: A commercial tool for performance monitoring. Official Website
- JavaMelody: a performance monitoring and analysis tool. Official Website
- Kamon: Kamon is used to monitor applications running on JVM. Official Website
- New Relic: A commercial tool for performance monitoring. Official Website
- SPM: a commercial performance monitoring tool that supports Distributed Transaction Tracking for JVM applications. Official Website
- Takipi: A commercial tool for monitoring and debugging errors during product operation. Official Website
Native Development Library
A native development library used for development on a specific platform.
- JNA: You can use the native development library without using JNI. In addition, it provides interfaces for common system functions. Official Website
Natural Language Processing
Function library used to process texts.
- Apache OpenNLP: a tool used to process common tasks such as word segmentation. Official Website
- CoreNLP: stanfo CoreNLP provides a set of basic tools for processing tasks such as tags, entity name recognition, and sentiment analysis. Official Website
- LingPipe: a set of tools that can process various tasks and support POS tags and sentiment analysis. Official Website
- Mallet: Statistics Natural Language Processing, document classification, clustering, topic modeling, etc. Official Website
Network
Network programming function library.
- Async Http Client: asynchronous HTTP and WebSocket Client function libraries. Official Website
- Grizzly: NIO framework, used as the network layer in Glassfish. Official Website
- Netty: Build a high-performance network application development framework. Official Website
- OkHttp: an HTTP + SPDY client for Android and Java applications. Official Website
- Undertow: NIO-based Web servers that implement blocking and non-blocking APIs are used as the network layer in WildFly. Official Website
ORM
APIS that process Object persistence.
- Ebean: supports fast data access and encoding ORM framework. Official Website
- EclipseLink: supports many persistence standards, such as JPA, JAXB, JCA, and SDO. Official Website
- Hibernate: a widely used and robust persistence framework. The Hibernate technology community is very active. Official Website
- MyBatis: a Couples object with stored procedures or SQL statements ). Official Website
- OrmLite: a lightweight development kit that removes the complexity and overhead of other ORM products. Official Website
PDF
Resources used to help create PDF files.
- Apache FOP: Create a PDF from a XSL-FO. Official Website
- Apache Development Box: a set of tools used to create and operate PDF files. Official Website
- DynamicReports: A lite version of JasperReports. Official Website
- Flyingsaucer: XML/XHTML and CSS 2.1 Renderer. Official Website
- IText: An easy-to-use PDF function library used to program the creation of PDF files. Note: a license is required for commercial purposes. Official Website
- JasperReports: a complex report engine. Official Website
Performance Analysis
Performance analysis, performance analysis, and benchmark testing tools.
- JHiccup: Provides logs and records for JVM suspension on the platform. Official Website
- JMH: JVM Benchmark Testing Tool. Official Website
- JProfiler: Commercial analyzer. Official Website
- LatencyUtils: a tool for measuring and reporting latency. Official Website
- VisualVM: provides a visual interface for running application information. Official Website
- YourKit Java Profiler: Commercial analyzer. Official Website
Responsive Development Library
A development library used to develop responsive applications.
- Reactive Streams: asynchronous stream processing standard that supports backpressure ). Official Website
- Reactor: Build a development library for fast-data applications. Official Website
- RxJava: build asynchronous and event-based programs using the JVM observable sequence. Official Website
REST framework
The framework used to create a RESTful service.
- Dropwizard: A Web framework that you prefer to use. Used to build Web applications, using Jetty, Jackson, Jersey, and Metrics. Official Website
- Feign: an HTTP client connector (binder) inspired by Retrofit, JAXRS-2.0, and WebSocket ). Official Website
- Jersey: JAX-RS reference implementation. Official Website
- RESTEasy: fully certified portable implementation by JAX-RS specifications. Official Website
- RestExpress: a Java-type secure REST client. Official Website
- RestX: Framework generated based on Annotation processing and source code during compilation. Official Website
- Keep fit: Type-safe REST client. Official Website
- Spark: a Java REST framework inspired by Sinatra. Official Website
- Swagger: Swagger is a standardized and complete framework that provides descriptions, production, consumption, and visualization of RESTful Web Services. Official Website
- Blade: a lightweight MVC framework developed by Chinese people. It has simple code and elegant design. Official Website
Scientific Computing and Analysis
Function library for scientific computing and analysis.
- DataMelt: A development environment for scientific computing, data analysis, and data visualization. Official Website
- JGraphT: A graph library that supports mathematical graph objects and algorithms. Official Website
- JScience: A group of classes used for scientific measurements and units. Official Website
Search Engine
The document index engine is used for search and analysis.
- Apache Solr: a complete enterprise search engine. High-throughput communication is optimized. Official Website
- Elasticsearch: a distributed, multi-tenant full text search engine. Provides RESTful Web interfaces and JSON documents without schema. Official Website
Security
Function library for security, authentication, authorization, or session management.
- Apache Shiro: Performs authentication, authorization, encryption, and session management. Official Website
- Bouncy Castle covers from basic help functions to PGP/SMIME operations. Official Website: multi-path encryption development library. JCA provider)
- Cryptomator: transparent client-side encryption on the cloud. Official Website
- Keycloak: integrates SSO and IDM for browser applications and RESTful Web Services. It is still in beta, but it looks very promising. Official Website
- PicketLink: PicketLink is a large-scale Project for Java application security and identity authentication management (Umbrella Project ). Official Website
Serialization
Function library used to efficiently process serialization.
- FlatBuffers: uses the memory serialization function library to efficiently access serialized data without unpacking or parsing. Official Website
- Kryo: a fast and efficient object graphics serialization framework. Official Website
- FST: provides high-performance object graphics serialization compatible with JDK. Official Website
- MessagePack: an efficient binary serialization format. Official Website
Application Server
The server used to deploy the application.
- Apache Tomcat: Applicable to Servlet and JSP application servers with good robustness and applicability. Official Website
- Apache TomEE: Tomcat and Java EE. Official Website
- Jetty: a lightweight and small application server, usually embedded in a project. Official Website
- WebSphere Liberty: lightweight, modular application server developed by IBM. Official Website
- WildFly: formerly known as JBoss, developed by Red Hat. Supports many Java EE functions. Official Website
Template engine
A tool used to replace expressions in a template.
- Apache Velocity: provides HTML page templates, email templates, and general open source code generator templates. Official Website
- FreeMarker: A general template engine that does not require any heavyweight or self-used dependencies. Official Website
- Handlebars. java: The template engine written in Java is simple in logic and supports semantic extension (semantic Mustache ). Official Website
- Thymeleaf: a tool designed to replace JSP and support XML files. Official Website
Test
The test content covers performance testing and benchmarking tools from objects to interfaces.
- Apache JMeter: functional testing and performance evaluation. Official Website
- Arquillian: An Integrated Testing and functional testing platform that integrates Java EE containers. Official Website
- AssertJ: supports stream assertions to improve the readability of the test. Official Website
- Awaitility: the DSL used to synchronize asynchronous operations. Official Website
- Cucumber: BDD testing framework. Official Website
- Gatling: designed as an easy-to-use, maintainable, and high-performance load testing tool. Official Website
- Hamcrest: Used to flexibly create the intent (intent) expression. Official Website
- JMockit: used to simulate static and final methods. Official Website
- JUnit: General testing framework. Official Website
- Mockito: creates test objects in automated unit tests to support TDD or BDD. Official Website
- PowerMock: supports simulating static methods, constructor, final classes and methods, private methods, and simulation tools for removing static initializes. Official Website
- REST Assured: provides a Java DSL for convenient testing for the REST/HTTP service. Official Website
- Selenide: provides precise peripheral APIs for Selenium to write stable and readable UI tests. Official Website
- Selenium: Provides portable software testing frameworks for Web applications. Official Website
- Spock: JUnit-compatible framework featuring an expressive Groovy-derived specification language. The official website is compatible with the JUnit framework and supports the derived Groovy language.
- TestNG: test framework. Official Website
- Truth: Google's proposition framework. Official Website
- Unitils: Modular Test function library that supports unit test and integration test. Official Website
- WireMock: Web Service testing pile (Stub) and simulation function. Official Website
Common tool Library
Common tool library.
- Apache Commons: provides functions for various purposes, such as configuration, verification, collection, file upload, and XML processing. Official Website
- Args4j: Specifies the alicloudcli parameter parser. Official Website
- CRaSH: Provides CLI for running. Official Website
- Gephi: visual cross-platform network graphical operation program. Official Website
- Guava: Set, cache, support for basic types, concurrent function libraries, common annotations, string processing, I/O, etc. Official Website
- JADE: framework and environment for building and debugging multi-tenant systems. Official Website
- Javatuples: Provides tuple support as the name indicates. Although the concept of tuple is still controversial. Official Website
- JCommander: Specifies the command line parameter parser. Official Website
- Proté Gé: provides an ontology Editor and a framework for building a knowledge system. Official Website
Web Crawler
Function library used to analyze website content.
- Apache Nutch: highly scalable Web Crawler that can be used in production environments. Official Website
- Crawler4j: simple lightweight web crawler. Official Website
- JSoup: scrape, parse, operate, and clear HTML. Official Website
Web Framework
A framework used to process communication between different layers of Web applications.
- Apache Tapestry: A component-based framework that uses Java to create dynamic, robust, and highly scalable Web applications. Official Website
- Apache Wicket: A component-based Web application framework, similar to the Status display GUI of Tapestry. Official Website
- Google Web Toolkit: a set of Web development tools, including the compiler, XML parser, RCP official website API, JUnit integration, international support, and GUI controls that convert Java code into JavaScript on the client.
- Grails: Groovy framework, designed to provide an efficient development environment, using conventions instead of configuration, without XML, and supporting mixin ). Official Website
- Ninja: Java full-stack Web development framework. Very stable, fast, and efficient. Official Website
- Pippo: small, highly modular class Sinatra framework. Official Website
- Play: Uses conventions instead of configurations. It supports code hot loading and displays errors in the browser. Official Website
- PrimeFaces: JSF framework, which provides free and commercial versions with support. Includes several front-end components. Official Website
- Ratpack: A group of Java development libraries used to build fast, efficient, scalable, and test complete HTTP applications. Official Website
- Spring Boot: microframework, which simplifies the development process of new Spring programs. Official Website
- Spring: aims to simplify the Java EE development process, provide dependency injection-related components, and support for Aspect-Oriented Programming. Official Website
- Vaadin: a gwt-based event-driven framework. The server architecture is used, and the client uses Ajax. Official Website
- Blade: a lightweight MVC framework developed by Chinese people. It has simple code and elegant design. Official Website
Antique tools
These tools come along with Java and have been used since their respective glory.
- Apache Ant: an XML-based building management tool. Official Website
- Cglib: Library for generating bytecode. Official Website
- GlassFish: Application Server, supported by Oracle-sponsored Java EE reference. Official Website
- Hudson: continuous integration server, which is still under active development. Official Website
- Explorerver Faces: Mojarra is an open-source implementation of the JSF standard, developed by Oracle. Official Website
- Assumerver Pages: a common website template library that supports custom tag libraries. Official Website
- Liquibase: a tool that independently tracks, manages, and applies changes to Scheme in a database. Official Website
Community
- R/java: the Java sub-community of Reddit. Official Website
- Stackoverflow: Q & A platform. Official Website
- VJUG: Virtual Java User Group. Official Website
Influential books
A classic Java book with a wide range of influences and worth reading.
- Valid Java (2nd Edition)
- Java 8 in Action
- Java Concurrency in Practice | Java concurrent programming Practice
- Thinking in Java | Java programming ideology
- Java Puzzlers | Java
Podcasts
Something that can be programmed and listened.
- Java councer: Official Website
- Java Posse: Discontinued as of 02/2015. Official Website
Twitter
- Adam Bien: freelancer, writer, JavaONE star speaker, Consultant, Java Champion.
- Antonio Goncalves: Java Champion, JUG Leader, Devoxx France, Java EE 6/7, JCP, and writers.
- Arun Gupta: Java Champion, JavaONE star speaker, JUG Leader, member of copyright xx4kids, and Red Hatter.
- Bruno Borges: Oracle product manager and Java Jock.
- Ed Burns: Oracle Technical Team consultant.
- Eugen Paraschiv: Author of the Spring security course.
- James Weaver: Java, JavaFX, IoT developers, authors and speakers.
- Java EE: official account of Java EE Twitter.
- Java Magazine: the official account of Java Magazine.
- Java.net: official account of Java.net.
- Java: Java Twitter official account.
- Javin Paul: well-known author of Java blogs.
- Lukas Eder: Founder and CEO of Data Geekery (jOOQ.
- Mario Fusco: RedHatter, JUG coordination, active lecturer and author.
- Mark Reinhold: chief architect of Oracle and Java platform development team.
- Martijn Verburg: London JUG co-leader, speaker, writer, and Java Champion.
- OpenJDK: the official account of OpenJDK.
- Reza Rahman: Java EE, GlassFish, WebLogic evangelist, writer, speaker, and open source hacker.
- Simon Maple: Founder of Java Champion, virtualJUG, LJC leader, and RebelLabs.
- Stephen Colebourne: Java Champion, speaker.
- Tim Boudreau: writer, NetBeans Daniel.
- Trisha Gee: Java Champion, speaker.
Technical website
Java technology site worth noting.
- Android Arsenal
- Google Java Style: Official Website
- InfoQ: Official Website
- Java Code Geeks
- Java, SQL, and jOOQ
- Java.net
- Javalobby
- JavaWorld: Official Website
- JAXenter: Official Website
- RebelLabs
- The Java Specialist 'newsletter: Official Website
- The Takipi Blog
- TheServerSide.com: the Server programming communication platform is a well-established IT information website that focuses on server-side programming and focuses on the surrounding information of Java and. Net. Official Website
- Thoughts On Java
- Vanilla Java
- Vglad Mihalcea on Hibernate
- Voxxed
- OnJava: o'reilly Java contains the latest Java technical information, high-quality code, complete examples and detailed explanations. Official Website
- ImportNew (ImportNew focuses on Java Technology)
More resources
Https://github.com/jobbole/awesome-java-cn
Https://github.com/akullpp/awesome-java