机器学习应用代码java的简单介绍( 三 )


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),在传统角色的基础上增加了另外一层抽象 。
Quasar:为JVM提供轻量级线程和角色 。
分布式数据库
对应用程序而言,在分布式系统中的数据库看起来就像是只有一个数据源 。
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:一个函数式组件库,提供持久化数据类型和函数式控制结构 。

推荐阅读