Java资源⼤全
古董级⼯具
这些⼯具伴随着Java⼀起出现,在各⾃辉煌之后还在⼀直使⽤。
Apache Ant:基于XML的构建管理⼯具。
cglib:字节码⽣成库。
GlassFish:应⽤服务器,由Oracle赞助⽀持的Java EE参考实现。
Hudson :持续集成服务器,⽬前仍在活跃开发。
JavaServer Faces:Mojarra是JSF标准的⼀个开源实现,由Oracle开发。
JavaServer Pages:⽀持⾃定义标签库的⽹站通⽤模板库。
Liquibase:与具体数据库独⽴的追踪、管理和应⽤数据库Scheme变化的⼯具。
构建⼯具
构建及应⽤依赖关系处理⼯具。
Apache Maven :Maven是⼀款声明式构建及依赖管理⼯具,采⽤约定优于配置⽅式进⾏管理。相对Apache Ant更推荐使⽤Maven,前者采⽤了过程式管理,维护相对困难。
Bazel:来⾃Google的构建⼯具,可以快速、可靠地构建代码。
Gradle:使⽤Groovy(⾮XML)进⾏增量构建,可以很好地与Maven依赖管理配合⼯作。
字节码操作
编程⽅式操作字节码的开发库。
ASM:通⽤底层字节码操作和分析开发库。
Byte Buddy:使⽤流式API进⼀步简化字节码⽣成。
Byteman:在运⾏时通过DSL(规则)操作字节码进⾏测试和故障排除。
Javassist:⼀个简化字节码编辑尝试。
集管理
在集内动态管理应⽤程序的框架。
Apache Aurora:Apache Aurora是⼀个Mesos框架,⽤于长时间运⾏服务和定时任务(cron job)。
Singularity:Singularity是⼀个Mesos框架,⽅便部署和操作。它⽀持Web Service、后台运⾏、调度作业和⼀次性任务。
代码分析
测量代码指标和质量⼯具。
Checkstyle:代码编写规范和标准静态分析⼯具。
Error Prone:将常见编程错误作为运⾏时错误报告。
FindBugs:通过字节码静态分析查隐藏bug。
jQAssistant:使⽤基于Neo4J查询语⾔进⾏代码静态分析。
PMD:对源代码分析查不良的编程习惯。
SonarQube:通过插件集成其它分析组件,对过去⼀段时间内的数据进⾏统计。
编译器⽣成⼯具
⽤来创建解析器、解释器或编译器的框架。
ANTLR:复杂的全功能⾃顶向下解析框架。
JavaCC:JavaCC是更加专门的轻量级⼯具,易于上⼿且⽀持语法超前预测。
外部配置⼯具
⽀持外部配置的开发库。
config:针对JVM语⾔的配置库。
owner:减少冗余配置属性。
约束满⾜问题求解程序
帮助解决约束满⾜问题的开发库。
Choco:可直接使⽤的约束满⾜问题求解程序,使⽤了约束规划技术。
JaCoP:为FlatZinc语⾔提供了⼀个接⼝,可以执⾏MiniZinc模型。
OptaPlanner:企业规划与资源调度优化求解程序。
Sat4J:逻辑代数与优化问题最先进的求解程序。
持续集成
Bamboo:Atlassian解决⽅案,可以很好地集成Atlassian的其他产品。可以选择开源许可,也可以购买商业版。
CircleCI:提供托管服务,可以免费试⽤。
fabric8:容器集成平台。
Go:ThoughtWork开源解决⽅案。
Jenkins:⽀持基于服务器的部署服务。
TeamCity:JetBrain的持续集成解决⽅案,有免费版。
Travis:通常⽤作开源项⽬的托管服务。
CSV解析
简化CSV数据读写的框架与开发库
uniVocity-parsers:速度最快功能最全的CSV开发库之⼀,同时⽀持TSV与固定宽度记录的读写。
数据库
简化数据库交互的相关⼯具。
Apache Phoenix:HBase针对低延时应⽤程序的⾼性能关系数据库层。
Crate:实现了数据同步、分⽚、缩放、复制的分布式数据存储。除此之外还可以使⽤基于SQL的语法跨集查询。
Flyway:简单的数据库迁移⼯具。
H2:⼩型SQL数据库,以可以作为内存数据库使⽤著称。
HikariCP:⾼性能JDBC连接⼯具。
JDBI:便捷的JDBC抽象。
jOOQ:为SQL schema⽣成typesafe代码。
MapDB:以磁盘或堆内存中并发集合为基础的嵌⼊式数据库引擎。
Presto:针对⼤数据的分布式SQL查询引擎。
Querydsl:Typesafe统⼀查询。
数据结构
Apache Parquet:Google Dremel论⽂中发布的基于组装算法的列式(Columnar)存储格式。
Protobuf:Google数据交换格式。
SBE:简单⼆进制编码,是最快速的消息格式之⼀。
Wire:整洁轻量级协议缓存。
时间⽇期⼯具库
处理时间和⽇期的开发库。
Time4J:⾼级时间和⽇期库。
依赖注⼊
帮助实现依赖翻转范式的开发库。
Apache DeltaSpike:CDI扩展框架。
Dagger2:编译时注⼊框架,不需要使⽤反射。
Guice:可以匹敌Dagger的轻量级注⼊框架。
HK2:轻量级动态依赖注⼊框架。
开发流程增强⼯具
从最基本的层⾯增强开发流程。
ADT4J:针对代数数据类型的JSR-269代码⽣成器。
AspectJ:⾯向切⾯编程(AOP)的⽆缝扩展。
Auto:源代码⽣成器集合。
DCEVM:通过修改JVM在运⾏时⽀持对已加载的类进⾏⽆限次重定义。
HotswapAgent:⽀持⽆限次重定义运⾏时类与资源。
Immutables:类似Scala的条件类。
JHipster:基于Spring Boot与AngularJS应⽤程序的Yeoman源代码⽣成器。
JRebel:⽆需重新部署,可以即时重新加载代码与配置的商业软件。
Lombok:减少冗余的代码⽣成器。
Spring Loaded:类重载代理。
vert.x:多语⾔事件驱动应⽤框架。
分布式应⽤
⽤来编写分布式容错应⽤的开发库和框架。
Akka:⽤来编写分布式容错并发事件驱动应⽤程序的⼯具和运⾏时。
Apache Storm:实时计算系统。
Apache ZooKeeper:针对⼤型分布式系统的协调服务,⽀持分布式配置、同步和名称注册。
Hazelcast:⾼可扩展内存数据⽹格。
Hystrix:提供延迟和容错。
JGroups:提供可靠的消息传递和集创建的⼯具。
Orbit:⽀持虚拟⾓⾊(Actor),在传统⾓⾊的基础上增加了另外⼀层抽象。
分布式数据库
对应⽤程序⽽⾔,在分布式系统中的数据库看起来就像是只有⼀个数据源。
Apache Cassandra:列式数据库,可⽤性⾼且没有单点故障。
Apache HBase:针对⼤数据的Hadoop数据库。
Druid:实时和历史OLAP数据存储,在聚集查询和近似查询⽅⾯表现不俗。
Infinispan:针对缓存的⾼并发键值对数据存储。
发布
以本机格式发布应⽤程序的⼯具。
Bintray:发布⼆进制⽂件版本控制⼯具。可以于Maven或Gradle⼀起配合使⽤。提供开源免费版本和⼏种商业收费版本。
Central Repository:最⼤的⼆进制组件仓库,⾯向开源社区提供免费服务。Apache Maven默认使⽤Central Repository,也可以在所有其他构建⼯具中使⽤。
IzPack:为跨平台部署建⽴创作⼯具(Authoring Tool)。
JitPack:打包GitHub仓库的便捷⼯具。可根据需要构建Maven、Gradle项⽬,发布可⽴即使⽤的组件。
Launch4j:将JAR包装为轻量级本机Windows可执⾏程序。
Nexus:⽀持代理和缓存功能的⼆进制管理⼯具。
packr:将JAR、资源和JVM打包成Windows、Linux和Mac OS X本地发布⽂件。
⽂档处理⼯具
处理Office⽂档的开发库。
Apache POI:⽀持OOXML规范(XLSX、DOCX、PPTX)以及OLE2规范(XLS、DOC、PPT)。
documents4j:使⽤第三⽅转换器进⾏⽂档格式转换,转成类似MS Word这样的格式。
jOpenDocument:处理OpenDocument格式(由Sun公司提出基于XML的⽂档格式)。
函数式编程
函数式编程⽀持库。
Cyclops:⽀持⼀元(Monad)操作和流操作⼯具类、comprehension(List语法)、模式匹配、trampoline等特性。
Fugue:Guava的函数式编程扩展。
Functional Java:实现了多种基础和⾼级编程抽象,⽤来辅助⾯向组合开发(composition-oriented development)。
免费平台源码资源网Javaslang:⼀个函数式组件库,提供持久化数据类型和函数式控制结构。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论