Java平台即服务
Java平台即服务。*
AWS Elastic Beanstalk!c- 基于AWS,支持Tomcat和Jetty。
AWS Lambda!c- 无服务器计算。
Google App Engine!c- Google基础架构上的PaaS。
Heroku!c- 抽象的计算环境。
Jelastic!c- 支持Tomcat,Jetty,GlassFish,JBoss,TomEE和WildFly。
OpenShift Enterprise!c- 内部部署解决方案。
帮助创建PDF文件的工具。
Apache FOP- 从XSL-FO创建PDF。
Apache PDFBox- 用于创建和操作PDF的工具箱。
Dynamic Jasper- JasperReports的抽象层。
DynamicReports- 简化JasperReports。
flyingsaucer- XML / XHTML和CSS 2.1渲染器。
iText!c- 以编程方式创建PDF文件。
JasperReports- 复杂的报告引擎。
性能分析
用于性能分析,分析和基准测试的工具。
fastThread!c- 使用免费的基于云的上传界面分析和可视化线程转储。
GCeasy!c- 分析和可视化GC日志的工具。它提供免费的基于云的上传界面。
honest-profiler- 低开销,无偏差的采样分析器。
jHiccup- 记录并记录平台JVM停顿。
JITWatch- 分析HotSpot JVM所做的JIT编译器优化。
JMH- 用于构建,运行和分析用Java和其他语言编写的纳米/微/毫/宏基准的Java工具。 JVM。
JProfiler!c- 支持JEE的JDBC,JPA和NoSQL的数据库分析。
LatencyUtils- 用于延迟测量和报告的实用程序。
XRebel!c- 使用浏览器内部小部件对Web应用程序进行实时分析。
YourKit Java Profiler!c- 在JVM上运行的任何应用程序的Profiler。
平台
框架是包含多个类别的多个库的套件。
Apache Commons
Pool- 通用对象池组件。
BCEL- 字节代码工程库 - 分析,创建和操作Java类文件。
Codec- 例如语音,base64,URL通用编码/解码算法。
Compress- 定义用于处理tar,zip和bzip2文件的API。
IO- I / O实用程序的集合。
Configuration- 以各种格式读取配置/首选项文件。
VFS- 虚拟文件系统组件,用于将文件,FTP,SMB,ZIP等视为单个逻辑文件系统。
Jelly- 基于XML的脚本和处理引擎。
CSV- 用于读取和写入逗号分隔值文件的组件。
JCS- Java缓存系统。
Email- 用于从Java发送电子邮件的库。
DbUtils- JDBC帮助程序库。
FileUpload- servlet和Web应用程序的文件上载功能。
Lang- 为java.lang中的类提供额外的功能。
Jexl- 表达语言,它扩展了JSTL的表达式语言。
CLI- 命令行参数解析器。
Validator- 在xml文件中定义验证器和验证规则的框架。
Net- 网络实用程序和协议实现的集合。
RNG- Commons Rng提供伪随机数生成器的实现。
RDF- 可由JVM上的系统实现的RDF 1.1的通用实现。
Weaver- 提供一种增强编织编译字节码的简便方法。
BeanUtils- 围绕Java反射和内省API的易于使用的包装器。
Collections- 扩展或扩充Java Collections Framework。
DBCP- 数据库连接池服务。
Math- 轻量级,自包含的数学和统计组件。
Exec- 用于处理Java中的外部流程执行和环境管理的API。
Logging围绕各种日志API实现的包装器。
OGNL- 对象图导航语言。
JCI- Java编译器接口。
Daemon- 类似于unix-daemon的java代码的替代调用机制。
Functor- 仿函数是一个可以作为对象操作的函数,或者是一个表示单个通用函数的对象。
Digester- XML-to-Java-object映射实用程序。
BSF- Bean Scripting Framework - 脚本语言的接口,包括JSR-223。
Imaging- 一个纯Java图像库。
SCXML- 状态图XML规范的实现,旨在创建和维护Java SCXML引擎。
JXPath- 使用XPath语法操作Java Bean的实用程序。
Chain- 责任链模式实施。
Proxy- 用于创建动态代理的库。
BeanUtils2- 重新设计Commons BeanUtils。
ClassScan- 无需加载即可查找类接口,方法,字段和注释。
CLI2重新设计Commons CLI。
Convert- Commons-Convert旨在提供一个专门用于将一种类型的对象转换为另一种类型的任务的库。
Finder- 受UNIX find命令启发的Java库。
Flatfile- 用于处理平面数据结构的Java库。
Graph- 通用图形API和算法。
I18n- 添加本地化消息包的功能,该功能包含一个或多个属于一起的本地化文本。
Id- Id是用于生成标识符的组件。
Javaflow- 继续实现以捕获应用程序的状态。
JNet- JNet允许通过java.net API动态注册url流处理程序。
Monitoring- 监控旨在为Java应用程序提供简单但可扩展的监控解决方案。
Nabla- Nabla提供自动微分类,可以生成用Java语言实现的任何函数的派生。
OpenPGP- 使用OpenPGP签名和验证数据的接口。
Performance- 微基准客户端的小框架,具有Commons DBCP和Pool的实现。
Pipeline- 提供一组围绕工作队列设计的管道实用程序,这些工作队列并行运行以顺序处理数据对象。
其他
CUBA平台- 基于Spring,EclipseLink和Vaadin开发具有丰富Web界面的企业应用程序的高级框架。
Light-Java- 一个快速,轻量级和高效的微服务框架。
Orienteer- 用于快速配置/开发CRM,ERP,LMS和其他应用程序的开源业务应用程序平台。
Spring- 提供许多用于依赖注入,面向方面编程,安全性等的包。
进程
帮助管理操作系统进程的库。
ch.vorburger.exec- 围绕Apache Commons Exec的便捷API。
zt-exec- 为Apache Commons Exec和ProcessBuilder提供统一的API。
zt-process-killer- 停止从Java启动的进程或通过PID启动系统进程。
反射库
用于开发反射应用程序的库。
Akka- 用于构建并发,分布式,容错和事件驱动应用程序的工具包和运行时。
Reactive Streams- 为具有非阻塞背压的异步流处理提供标准。
Reactor- 用于构建反应式快速数据应用程序的库。
RxJava- 允许使用可观察序列组合异步和基于事件的程序。
vert.x- Polyglot事件驱动的应用程序框架。
REST框架
专门用于创建RESTful服务的框架。
Dropwizard- 使用Jetty,Jackson,Jersey和Metrics设置现代Web应用程序的意见框架。
Jersey- JAX-RS参考实现。
Microserver- 一个方便,可扩展的微服务插件系统,用于Spring和Spring Boot。有超过30个插件和增长,它支持微整体和纯微服务风格。
Rapidoid- 一个简单,安全且极其快速的框架,由嵌入式HTTP服务器,GUI组件和依赖注入组成。
rest.li- 使用类型安全绑定和异步,非阻塞IO以及端到端开发人员工作流构建健壮,可扩展的RESTful架构的框架促进清洁实践,统一界面设计和一致的数据建模。
RESTEasy- 完全认证和可移植的JAX-RS规范实现。
RestExpress- JBoss Netty HTTP堆栈上的瘦包装器,提供扩展和性能。
Restlet Framework- 具有强大路由和过滤功能的先锋框架,以及统一的客户端和服务器API。
Spark- Sinatra启发框架。
Crnk- 实现JSON API规范,以构建面向资源的REST端点,包括排序,过滤,分页,链接,对象图,类型安全,批量更新,集成和更多。
Swagger- 与REST API的标准,语言无关的接口。
科学
用于科学计算,分析和可视化的库。
DataMelt- 科学计算,数据分析和数据可视化的环境。
Erdos- 理论算法的模块化,轻量级和简单的图形框架。
GraphStream- 用于建模和分析动态图的库。
JFreeChart- 用于Swing,JavaFX和服务器端应用程序的2D图表库。
JGraphT- 提供数学图论理论对象和算法的图库。
JGraphX- 主要是Swing用于可视化和与节点边缘图形交互的库。
Mines Java Toolkit- 用于地球物理科学计算,可视化和数字信号分析的库。
Morpheus- 提供一种多功能的二维内存高效表格数据结构,称为DataFrame,可为JVM上的科学计算提供高效的内存分析。
Tablesaw- 包括数据框架,嵌入式列存储以及数百种转换,汇总或过滤数据的方法。
搜索
索引文档的引擎,用于搜索和分析。
Apache Lucene- 高性能,功能齐全的跨平台文本搜索引擎库。
Apache Solr- 针对大量流量进行了优化的企业搜索引擎。
Elasticsearch- 具有RESTful Web界面和无架构JSON文档的分布式,多租户能力的全文搜索引擎。
安全
处理安全性,身份验证,授权或会话管理的库。
Apache Shiro- 执行身份验证,授权,加密和会话管理。
Bouncy Castle- 通用加密库和JCA提供程序,提供从基本帮助程序到PGP / SMIME操作的各种功能。
Cryptomator- 云中文件的多平台,透明,客户端加密。
Hdiv- 运行时应用程序,可以排除OWASP Top 10中包含的应用程序安全风险,包括SQL注入,跨站点脚本,跨站点请求伪造,数据篡改,和暴力攻击。
jjwt- 适用于Java和Android的JSON Web令牌。
Jwks RSA- JSON Web Key Set解析器。
Keycloak- 用于浏览器应用和RESTful Web服务的集成SSO和IDM。
Keyczar- 易于使用,安全的加密框架,带有密钥版本控制。
Keywhiz- 用于分发和管理机密的系统。
Nbvcxz- 高级密码强度估算。
OACC- 提供基于权限的授权服务。
pac4j- 安全引擎。
PicketLink- 用于安全和身份管理的伞项目。
SecurityBuilder- 用于JCA和JSSE类的Fluent Builder API,尤其是X.509证书。
Themis- 多平台高级加密库提供易于使用的加密,用于保护敏感数据:具有前向保密的安全消息传递,安全数据存储AES256GCM ; 适合构建端到端加密应用程序。
Tink- 为常见的加密任务提供简单且防误用的API。
Vault- 保护,存储和严格控制对令牌,密码,证书,API密钥和其他机密的访问。它处理租赁,密钥撤销,密钥滚动和审计。通过统一的API,用户可以访问加密的键/值存储和网络加密即服务,或生成AWS IAM / STS凭证,SQL / NoSQL数据库,X.509证书,SSH凭据等。
序列化
高效处理序列化的库。
FlatBuffers- 内存高效的序列化库,可以访问序列化数据而无需解压缩和解析。
FST- 兼容JDK的高性能对象图序列化。
Kryo- 快速高效的对象图序列化框架。
MessagePack- 高效的二进制序列化格式。
PHP Serializer- 以PHP序列化格式序列化对象。
服务器
专门用于部署应用程序的服务器。
Apache Tomcat- 用于Servlet和JSP的强大,全面的服务器。
Apache TomEE- Tomcat和Java EE。
Jetty- 提供Web服务器和javax.servlet容器,以及对HTTP / 2,WebSocket,OSGi,JMX,JNDI,JAAS和许多其他集成的支持。
nanohttpd- 小巧,易于嵌入的HTTP服务器。
WebSphere Liberty- 由IBM开发的轻量级模块化服务器。
WildFly- 以前称为JBoss,由Red Hat开发,具有广泛的Java EE支持。
模板引擎
替换模板中表达式的工具。
Handlebars.java- 无逻辑和语义的胡须模板。
Jade4J- 以前称为Jade Pug的实现。
Jtwig- 模块化,可配置且经过全面测试的模板引擎。
Pebble- 受Twig的启发,并以其继承功能和易于阅读的语法分离。它附带内置自动安全功能,用于安全性,并包含对国际化的集成支持。
Thymeleaf- 旨在成为JSP的替代品,适用于XML文件。
测试
从模型到视图进行测试的工具。
异步
简化测试异步服务的工具。
Awaitility- 用于同步异步操作的DSL。
ConcurrentUnit- 用于测试多线程和异步应用程序的工具包。
GreenMail- 用于集成测试的内存中电子邮件服务器。支持SMTP,POP3和IMAP,包括SSL。
Hoverfly Java- Hoverfly的本机绑定,一种允许您模拟HTTP服务的代理。
REST Assured- 用于轻松测试REST / HTTP服务的DSL。
BDD
测试TDD出现的软件开发过程,受DDD和OOAD的影响很大。
Cucumber- 提供一种用客户可以理解的简单语言描述功能的方法。
Cukes-REST- 使用Cucumber进行REST服务测试的Gherkin步骤集合。
J8Spec- 遵循类似Jasmine的语法。
JBehave- 广泛可配置的框架,用于描述故事。
JGiven- 提供流畅的API,允许更简单的组合。
Lamdba Behave- 旨在提供一个流畅的API,用长而简洁的句子写出测试,读起来像普通的英语。
Fixtures
与随机数据的创建和处理相关的一切。
Beanmother- 从YAML Fixtures设置bean。
Fixture Factory- 从模板生成假对象。
JFairy- 假数据生成器。
Randomized Testing- JUnit测试运行器和用于以伪随机方式运行JUnit测试的插件。
Java Faker- Ruby虚假数据生成器的一个端口。
构架
提供环境以运行特定用例的测试。
ArchUnit- 用于指定和断言体系结构规则的测试库。
Apache JMeter- 功能测试和性能测量。
Arquillian- Java EE容器的集成和功能测试平台。
Citrus- 集中测试框架,侧重于客户端和服务器端消息传递。
Gatling- 负载测试工具,易于使用,可维护性和高性能。
JUnit- 通用测试框架。
Pact JVM- 消费者驱动的合同测试。
PIT- 用于评估现有JUnit或TestNG测试套件的故障检测能力的快速变异测试框架。
Matchers
提供自定义匹配器的库。
AssertJ- 流畅的断言,提高了可读性。
JSONAssert- 简化测试JSON字符串。
Truth- Google的断言和提议框架。
杂项
与测试有关的其他内容。
Mutability Detector- 报告给定类的实例是否是不可变的。
raml-tester- 测试请求/响应是否与给定的RAML定义匹配。
TestContainers- 提供常用数据库,Selenium Web浏览器或可在Docker容器中运行的任何其他内容的一次性实例。
pojo-tester- 自动执行基本POJO方法的测试。
模拟
模拟合作者帮助测试单个隔离单元的工具。
JMockit- 集成测试,API模拟和伪造以及代码覆盖。
Mockito- 模拟框架,允许您使用简洁的API编写测试。
MockServer- 允许模拟与HTTPS集成的系统。
Moco- 存根和模拟的简洁Web服务。
PowerMock- 模拟静态方法,构造函数,最终类和方法,私有方法以及静态初始化程序的删除。
WireMock- 存根和模拟Web服务。
参数化
简化参数化测试的编写。
Burst- 用于改变测试数据的单元测试库。
junit-dataprovider- JUnit的类似TestNG的数据提供者/运行者。
JUnitParams- 创建可读且可维护的参数化测试。
效率
提供一般实用功能的库。
bucket4j- 基于令牌桶算法的速率限制库。
cactoos- 面向对象原语的集合。
CRaSH- 为运行CRaSH的JVM提供shell。由Spring Boot和其他人使用。
Dex- Java / JavaFX工具,具有强大的ETL和数据可视化功能。
Embulk- 批量数据加载器,可帮助在各种数据库,存储,文件格式和云服务之间进行数据传输。
fswatch- 用于监视目录文件系统更改的微库,简化了java.nio.file.WatchService
Gephi- 用于可视化和操作大型图形网络的跨平台。
Guava- 集合,缓存,基元支持,并发库,通用注释,字符串处理,I / O等。
JADE- 用于构建和调试多代理系统的框架和环境。
JavaVerbalExpressions- 帮助构建困难的正则表达式的库。
JGit- 一个实现Git版本控制系统的轻量级纯Java库。
minio-java- 提供简单的API来访问任何与Amazon S3兼容的对象存储服务器。
Protégé- 提供本体编辑器和构建基于知识的系统的框架。
Underscore-java- Underscore.js函数的端口。
版本管理员
有助于创建开发shell环境并在不同Java版本之间切换的实用程序。
jabba- 受nvm启发的Java版本管理器。支持Mac OS X,Linux和Windows。
jenv- 受rbenv启发的Java版本管理器。可以全局配置或按项目配置。在Debian和Mac OS X上测试过。
SDKMan- 受RVM和rbenv启发的Java版本管理器。支持基于UNIX的平台和Windows。
网页抓取
分析网站内容的库。
Apache Nutch- 适用于生产环境的高度可扩展,高度可扩展的Web爬虫。
Crawler4j- 简单轻巧的网页抓取工具。
jsoup- Scrapes,解析,操作和清理HTML。
StormCrawler- 用于构建低延迟和可扩展的Web爬虫的SDK。
webmagic- 具有下载,网址管理,内容提取和持久性的可扩展爬虫。
Web框架
处理Web应用程序各层之间通信的框架。
Apache Tapestry- 面向组件的框架,用于创建动态,健壮,高度可扩展的Web应用程序。
Apache Wicket- 基于组件的Web应用程序框架,类似于Tapestry,具有状态GUI。
Blade- 轻巧,模块化的框架,旨在优雅和简单。
Bootique- 针对可运行应用程序的最小观点框架。
Firefly- 用于快速开发高性能Web应用程序的异步框架。
Grails- Groovy框架,通过优于配置,不支持XML和支持mixin,提供高效的环境。
Jooby- 可扩展,快速和模块化的微框架,提供多种编程模型。
Ninja- 全栈Web框架。
Pippo- 小型,高度模块化,类似Sinatra的框架。
Play- CPU,内存,线程 基于Akka,它为Java和Scala中的高度可伸缩应用程序提供可预测的最小资源消耗。
PrimeFaces- 包含免费和商业/支持版本以及前端组件的JSF框架。
Ratpack- 一组库,可以促进快速,高效,可进化和经过良好测试的HTTP应用程序。
Takes- 基于真实面向对象编程和不变性概念构建的意见Web框架。
Vaadin- 基于GWT构建的事件驱动框架。在客户端使用Ajax的服务器端体系结构。
资源
令人敬畏的名单
与Java和JVM生态系统相关的令人敬畏的列表。