List of Java software and tools
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
Libraries
- 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 use
- 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
- 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
- Yooreeka – machine learning[1]
Data mining
- Java Data Mining (JDM) – standard Java API for data mining
- Massive Online Analysis (MOA) – data stream mining with concept drift
Math and scientific libraries
- 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
- 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
Text editors with Java support
Build tools and package managers
- 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[3]
- 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
- 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
- Clojure – Lisp dialect
- Groovy
- JRuby – Ruby implementation
- Jython – Python implementation
- Kotlin – popular for Android app development[4]
- Renjin – R implementation
- Scala[5]
Application servers and containers
- 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[6]
Debugging and profiling tools
- jdb – Java debugger bundled with the JDK[7]
- JConsole – JMX-compliant monitoring tool
- JDK Flight Recorder – method profiling, allocation profiling, and garbage collection related events.
- JProfiler – commercial Java profiler[8]
- VisualVM – visual tool integrating commandline JDK tools for profiling and monitoring
Testing and quality assurance
- 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[9]
Other
- 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
- 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
References
- ^ "Java Tools for Deep Learning, Machine Learning and AI". Pathmind.
- ^ "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.
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.