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]- Activiti
- Akka
- Apache Accumulo
- Apache ActiveMQ
- Apache Avro
- Apache Axis
- Apache Camel
- Apache Click
- Apache Cocoon
- Apache Commons
- Apache CXF
- Apache Empire DB
- Apache Felix
- Apache Flume
- Apache Geronimo
- Apache Giraph
- Apache Hadoop
- Apache HBase
- Apache Hive
- Apache Jackrabbit
- Apache Jena
- Apache Kafka
- Apache Log4j
- Apache Lucene
- Apache Mahout
- Apache Mesos
- Apache MINA
- Apache Nutch
- Apache OODT
- Apache Oozie
- Apache OpenNLP
- Apache PDFBox
- Apache Pig
- Apache Pivot
- Apache POI
- Apache Qpid
- Apache River
- Apache Samza
- Apache Shiro
- Apache Sling
- Apache Solr
- Apache Spark
- Apache Storm
- Apache Struts
- Apache Tapestry
- Apache Tika
- Apache Tomcat
- Apache UIMA
- Apache Velocity
- Apache Wicket
- Apache Xerces
- Apache ZooKeeper
- AppFuse
- Barracuda
- BIRT
- BioJava
- BlueCove
- Bouncy Castle
- Cascading
- Codename One
- CruiseControl
- Deeplearning4j
- Direct Web Remoting
- Drools
- EclipseLink
- Ehcache
- Efficient Java Matrix Library
- Elasticsearch
- ELKI
- Flying Saucer
- FreeMarker
- GeoAPI
- GeoTools
- GlassFish
- Gson
- Google Guava
- Google Guice
- Google Web Toolkit
- Grails
- Hibernate
- HSQLDB
- iBATIS
- Infinispan
- iText
- Jackson
- JAXP
- JAX-RS
- JAX-WS
- Java Astrodynamics Toolkit
- Java Collections Framework
- JavaFX
- Java Media Framework
- JTS Topology Suite
- JAXB
- JBoss Seam
- JDOM
- Jersey
- Jetty
- JFreeChart
- JHipster
- JMonkeyEngine
- JProfiler
- JRockit
- JSF
- Jsoup
- JUNG
- JUnit
- Keycloak
- Liquibase
- LWJGL
- Micronaut
- Mockito
- MyBatis
- NanoSat MO Framework
- Netty
- Neuroph
- OpenCV
- Oracle Application Development Framework
- Oracle WebLogic
- OrientDB
- ORMLite
- Play Framework
- PrimeFaces
- Quarkus
- Quartz
- SAX
- Selenium
- SLF4J
- SonarQube
- JasperReports
- Spock
- Spring Integration
- Spring Roo
- Spring Security
- TestNG
- Thymeleaf
- Vaadin
- Vert.x
- WildFly
- ZK
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
- 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
- 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 natural language processing of 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
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.[1]
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
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[2]
- 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
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]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[5]
Debugging and profiling tools
[edit]- jdb – Java debugger bundled with the JDK[6]
- JConsole – JMX-compliant monitoring tool
- JDK Flight Recorder – method profiling, allocation profiling, and garbage collection related events.
- JProfiler – commercial Java profiler[7]
- 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[8]
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]- ↑ "Maven Repository: Math Libraries". mvnrepository.com.
- ↑ "UseJava – CMake 4.1.1 Documentation". cmake.org.
- ↑ https://kotlinlang.org/docs/android-overview.html
- ↑ "An Overview of the JVM Languages". 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.