List of Java software and tools
Appearance
This is a list of software and programming tools for the Java programming language, which includes frameworks, libraries, IDEs, build tools, application servers, and related projects.
Java frameworks
[edit]Libraries
[edit]- Apache Ant โ build automation tool
- Apache Batik โ SVG processing
- Apache Cayenne โ object-relational mapping
- Apache Xerces โ collection of software libraries for parsing, validating, serializing and manipulating XML.
- Applet โ applet API
- Ardor3D โ 3D graphics engine
- Bonita BPM โ workflow engine
- Cassowary โ constraint solving
- Checkstyle โ static code analysis
- GNU Classpath โ standard library implementation
- Colt โ scientific computing and technical computing
- Commons Daemon โ manages applications as daemons
- DESMO-J โ discrete event simulation
- Diagrams.net โ diagramming
- Disruptor โ high-performance messaging
- Dom4j โ XML processing
- Dynamic Languages Toolkit โ support for dynamic programming languages on the JVM
- Echo โ GUI
- Flying Saucer โ XHTML/CSS rendering
- Formatting Objects Processor โ XSL-FO to PDF
- H2 Database Engine โ relational database
- IAIK-JCE โ cryptography
- Internet Foundation Classes โ legacy GUI
- JavaBeans โ reusable component architecture for enabling encapsulation, events, and properties for software components
- JavaCC โ open-source parser generator and lexical analyzer
- Java Class Library โ standard library of Java and other JVM languages
- Java Native Access โ provides Java programs easy access to native shared libraries without using the Java Native Interface
- Javolution โ real-time computing
- Jblas โ linear algebra
- JDBCFacade โ simplifies JDBC usage
- JExcel โ Excel API
- JFugue โ music programming
- JMusic โ music programming
- Joget Workflow โ workflow engine
- JOOQ Object Oriented Querying โ fluent API for SQL
- JPOS โ financial messaging
- JUNG โ open-source graph modeling and visualization
- LanguageWare โ language processing
- LibGDX โ game development
- Modular Audio Recognition Framework โ collection of voice, sound, speech, text and natural language processing algorithms.
- ASM โ bytecode manipulation
- Open Inventor โ 3D graphics
- OpenPDF โ PDF
- Parallel Colt โ parallel computing
- Parboiled โ parser
- PlayN โ game development
- QOCA โ constraint solving
- QtJambi โ Qt bindings
- SLF4J โ logging
- StableUpdate โ update management
- SWT โ GUI
- SuanShu โ numerical computing
- SwingLabs โ GUI extensions
- UBY โ natural language processing
- Undecimber โ calendar
- XDoclet โ attribute-oriented programming
- XINS โ XML network services
- XStream โ object serialization
Machine learning and AI
[edit]- Apache Mahout โ scalable machine learning library focused on clustering, classification, and collaborative filtering
- Apache MXNet โ deep learning framework with Java API support
- Apache OpenNLP โ machine learning based toolkit for the processing of natural language text
- Deeplearning4j โ distributed deep learning library
- Deep Java Library โ open-source deep learning framework developed by Amazon Web Services
- Encog โ framework for neural networks, genetic algorithms, Hidden Markov model, and Bayesian networks.
- LIBSVM โ Support Vector Machine implementation
- Mallet โ machine learning toolkit for classification, clustering, and topic modeling.
- MLlib โ distributed machine-learning framework on top of Apache Spark Core
- Neuroph โ lightweight neural network framework
- Weka โ collection of machine learning algorithms for data mining
- Yooreeka โ machine learning[1]
Data mining
[edit]- Java Data Mining (JDM) โ standard Java API for data mining
- Massive Online Analysis (MOA) โ data stream mining with concept drift
Math and scientific libraries
[edit]- Apache Commons Math โ general-purpose mathematics library including statistics, linear algebra, and optimization.
- Colt โ high-performance scientific computing, including linear algebra and random numbers.
- Efficient Java Matrix Library (EJML) โ dense and sparse matrix computations and linear algebra
- Easy Java Simulations โ Open Source Physics project designed to create discrete computer simulations
- Exp4j โ evaluates mathematical expressions at runtime
- GroovyLab โ numerical computational environment
- Hipparchus โ fork of Apache Commons Math with updated algorithms for statistics, linear algebra, and optimization.
- JAMA โ numerical linear algebra library
- Jblas: Linear Algebra for Java (Jblas) โ linear algebra library using native BLAS/LAPACK bindings
- Java Astrodynamics Toolkit โ numerical library of software components for use in spaceflight applications for Java or MATLAB
- Matrix Toolkit Java (MTJ) โ linear algebra library with BLAS and LAPACK support
- OjAlgo โ optimization, linear algebra, and financial calculations.
- OptimJ โ extension for mathematical optimization and constraint programming
- Parallel Colt โ A parallel extension of Colt
- SuanShu โ numerical analysis, linear algebra, statistics, and optimization.[2]
Integrated development environments
[edit]- See also: Java IDEs on Wikibooks
- Android Studio โ IDE for Google's Android operating system
- BlueJ โ educational IDE for teaching Java
- DrJava โ lightweight Java IDE for beginners
- Eclipse IDE โ open-source IDE with extensive plugin ecosystem
- Greenfoot โ educational IDE
- IntelliJ IDEA โ commercial and community editions from JetBrains
- JDeveloper โ freeware IDE supplied by Oracle Corporation
- jGRASP โ software visualizations
- MyEclipse โ Java EE IDE
- NetBeans IDE โ Apache NetBeans
- Visual Studio Code โ general-purpose editor with Java extensions[3]
Online IDEs
[edit]Text editors with Java support
[edit]Build tools and package managers
[edit]- Apache Ant โ automating software build
- Apache Ivy โ subproject of Apache Ant
- Apache Maven โ build automation and dependency management
- Boot โ build automation for Clojure
- CMake โ build tool with limited support for java[4]
- Gradle โ modern build automation tool
- Go continuous delivery (GoCD) โ continuous delivery and build automation server
- Jenkins โ automation server continuous delivery
- JitPack โ package repository for Git projects
- Leiningen โ build automation for Clojure
- Simple build tool (sbt) โ open-source build tool
- Spring Roo โ rapid application development of Java-based enterprise software
- WaveMaker โ low-code development platform[5]
Java runtimes, compilers and virtual machines
[edit]- Android Runtime โ runtime environment
- javac โ Java programming language compiler
- Java Virtual Machine (JVM) โ virtual machine that executes Java bytecode
- JD Decompiler
- JEB decompiler โ disassembler and decompiler software for Android applications
- GraalVM โ Just-in-time compilation
- HotSpot โ JVM implementation included in OpenJDK
JVM languages and dialects
[edit]- Clojure โ Lisp dialect
- Groovy
- JRuby โ Ruby implementation
- Jython โ Python implementation
- Kotlin โ popular for Android app development[6]
- Renjin โ R implementation
- Scala[7]
Application servers and containers
[edit]- Apache Geronimo โ open source application server
- Apache MINA โ event-driven asynchronous network application framework
- Apache Tomcat โ web container and web server
- Apache TomEE โ Apache Tomcat with Java EE features
- Borland Enterprise Server โ discontinued application server by Borland
- ColdFusion โ commercial application server by Adobe Systems
- GlassFish โ application server for Jakarta EE
- IBM WebSphere Application Server โ enterprise application server by IBM
- IBM WebSphere Application Server Community Edition โ open source edition of WebSphere (discontinued)
- JBoss Enterprise Application Platform โ Red Hatโs supported distribution of JBoss/WildFly
- JEUS โ commercial Java EE application server from TmaxSoft
- Jetty โ HTTP server and web container
- Lucee (formerly Railo) โ open source CFML application server
- Netty โ non-blocking I/O clientโserver framework for network applications
- Oracle Containers for J2EE โ discontinued application server by Oracle
- Oracle WebLogic Server โ enterprise application server by Oracle
- Orion Application Server โ early commercial Java EE server by IronFlare
- Payara Server โ fork of GlassFish for production use
- Resin โ Java application server by Caucho (open source and professional editions)
- SAP NetWeaver Application Server โ enterprise application server by SAP
- WildFly โ application server[8]
Debugging and profiling tools
[edit]- jdb โ Java debugger bundled with the JDK[9]
- JConsole โ JMX-compliant monitoring tool
- JDK Flight Recorder โ method profiling, allocation profiling, and garbage collection related events.
- JProfiler โ commercial Java profiler[10]
- VisualVM โ visual tool integrating commandline JDK tools for profiling and monitoring
Testing and quality assurance
[edit]- Apache JMeter โ load testing tool
- JaCoCo โ Java code coverage library
- JArchitect โ analyzes code quality, architecture, and dependencies.
- Jtest โ software testing and static analysis
- JUnit โ unit testing framework
- Mockito โ open-source testing framework for Java
- PMD โ static program analysis source code analyzer
- Selenium โ browser automation for web app testing
- Spock โ test framework
- SpotBugs (formerly FindBugs) โ static analysis tool
- TestNG โ testing framework inspired by JUnit and NUnit[11]
Other
[edit]- Apache XMLBeans โ Java-to-XML binding framework
- DashO โ code obfuscator, compactor, optimizer, watermarker.
- Java (software platform) โ software platform for developing application software
- Java KeyStore โ repository for TLS encryption
- JRipples โ change impact analysis
- ProGuard โ open-source obfuscator and optimizer
- SableCC โ open-source compiler generator
- Semmle โ code analysis
- SofCheck Inspector โ static analysis tool
See also
[edit]- Apache Commons โ Apache Software Foundation maintaining of open-source Java software of formerly the Jakarta Project
- Google Guava โ open-source set of common libraries for Java, mainly developed by Google engineers.
- Java code coverage tools
- Java Enterprise Edition (Jakarta EE) โ extending Java SE for enterprise features such as distributed computing and web services
- Java Management Extensions โ managing and monitoring applications, devices (such as printers) and service-oriented networks.
- List of Kotlin software and tools
- OpenJDK โ open-source implementation of the Java Platform, Standard Edition (Java SE)
- Outline of the Java programming language
External links
[edit]References
[edit]- ^ "Java Tools for Deep Learning, Machine Learning and AI". Pathmind.
- ^ "Maven Repository: Math Libraries". mvnrepository.com.
- ^ Sharma, Itesh (March 1, 2024). "Top Java IDEs for Java Development - TatvaSoft Blog".
- ^ "UseJava โ CMake 4.1.1 Documentation". cmake.org.
- ^ Sharma, Itesh (April 19, 2024). "Popular Java Build Tools for Developers - TatvaSoft Blog".
- ^ https://kotlinlang.org/docs/android-overview.html
- ^ "An Overview of the JVM Languages | Baeldung". www.baeldung.com. April 14, 2018.
- ^ "Web and Application Servers for Java | Baeldung". www.baeldung.com. November 14, 2017.
- ^ "jdb - The Java Debugger". www.cs.princeton.edu.
- ^ "Java Debugging Tools and Techniques". BrowserStack.
- ^ "Top 5 Java Testing Frameworks every Developer Must Know". BrowserStack.