Java开发者值得关注的7款新工具
英文原文:7 New Tools Java Developers Should Know
云计算、大数据地快速发展催生了不少热门的应用及工具。作为老牌语言 Java,其生态圈也出来了一些有关云服务、监控、文档分享方面的工具。本文总结了 7 款较新的 Java 工具,大家不妨看下。
1. JClarity——性能监控
JClarity 目前提供两款有关 Java 性能的工具:Illuminate 和 Censum,Illuminate 是一款性能监控工具,而 Censum 是一款专注于垃圾回收的日志分析工具。除了收集和可视化数据之外,这两款工具还会根据检测到的问题提供解决方案。
核心功能:
- 瓶颈问题检测(磁盘 I/O、垃圾回收、死锁等)
- 行动计划——会根据问题提出修改建议,例如“应用程序需要增加活动线程数。”
- 说明——会界定一般问题以及常见的案例,例如在 GC 中,长时间的暂停可能表示堆体积过小。
独特之处:在监测和定义性能问题后会提供下一步操作——提供可行的建议,当场解决问题。
起源:JClarity 于去年 9 月创建于伦敦,由几位著名的 Java 性能老将 Martijn Verburg、Kirk Pepperdin 和 Ben Evans 创建。
2. Bintray——社交分享平台
Bintray 为开发者提供了一种可以分享代码的平台,开发者可以在上面分享开源包,除此以外,它还具备社交功能,用户还可以使用 Github 账号登陆 Bintray。它上面有 85000 多个文件包,18000 多个库,并且显示一些流行库和最新版本。
核心功能:
- 上传文档,并且与世界各地的开发者进行交互;
- 可以用 Gradle、 Maven 、Yum 、Apt 下载代码库,也可以直接下载;
- 管理发布信息和文档;
- REST API-搜索/检索文档并自动分配。
独特之处:Bintray 的基本功能类似于 Maven Central,但是 Bintray 有社交特性,上传文件的步骤也更加简便。
起源:Bintray 由以色列创业公司 JFrog 创立,于去年四月发布,并赢得了 JavaOne 协会的 Duke's选择奖。
3. Librato——监控&可视化云服务
Librato 是一个托管服务,用来管理和监控云端应用程序。用户无需安装或部署任何软件即可创建自定义 dashboard,并且非常流畅。
核心功能:
- 数据收集:集成了 Heroku、AWS 以及数十种收集代理(甚至包括 Nest),以及纯语言绑定,Java、Clojure 等;
- 自定义报表;
- 数据可视化;
- 自动通知功能。
独特之处:Librato 几乎可以表现任何东西,并且把数据变得有意义。
起源:Librato 创建于美国旧金山,由 Fred van den Bosch,Joe Ruscio, Mike Heffner 和 Dan Stodin 合作开发。
4. Takipi–错误追踪和分析
Takipi 的目标很简单:告诉开发者代码崩溃的时间及原因。无论何时发生异常,Takipi 都会抓取到并给出分析报告,方便开发者改善代码。
核心功能:
- 监测——抓取异常、HTTP 和登陆错误;
- 重点排查——经常发生错误的集群,分析错误率是否有上升;
- 分析——查看实际代码和变量状态,甚至通过不同的机器和应用程序。
独特之处:当代码出现错误时,会及时报告出错的代码位置及信息。
起源:Takipi 于 2012 年在旧金山和特拉维夫市创建。每个异常类型和错误都有独一无二的 monster 表示。
5. Elasticsearch ——搜索和分析平台
ElasticSearch 出来已经有一段时间了,但是其 1.0.0 版本是在今年 2 月份发布的,它是一个创建于 Apache Lucene 上的开源项目,托管在 Github 上,由 200 多名开发者在维护。ElasticSearch 提供了一种可扩展的分布式的 RESTful 搜索引擎服务。
核心功能:
- 接近实时文档存储,每个字段都是可索引可检索的;
- 它的分布式搜索架构支持小型到大型的应用程序;
- RESTful 和原生 Java API,还有针对 Hadoop 的库;
- 开箱即用,也不需要程序员对搜索有很深入的了解,并且它还提供免费模式。
独特之处:容易上手,使用简单。
起源:Elasticsearch 由 Shay Banon 在 2010 年创立,最近刚刚获得7000 万美元的融资。在创建 Elasticsearch 之前,Banon 运营着 Compass 这款开源项目,现在是一名搜索专家。这个应用最开始是 Banon 为他的妻子开发的,便于她搜索和保存其最喜欢的食谱。
6. Spark——微 Web 框架
Spark 是一款受 Sinatra 启发的微型 Web 框架,最新支持 Java8 和 lambdas。Spark 是完全开源的,源码托管在 Github 上。
核心功能:
- 第一次部署非常快速而简单;
- 灵活的路由匹配;
- 它有一个模板引擎,可以创建支持 Freemarker,Apache Velocity 和 Mustache 的可重用组件;
- 独立的 Spark 可运行在 Jetty 上,也可以运行在 Tomcat 上。
独特之处:一张图能抵过 1000 个单词,但截图或许会更直接,用了便知。
起源:Spark 是由瑞典的 Per Wendel 发起的,初期参与的人很少,后来有 20 多个开发人员参与了开发。
7. Plumbr——内存泄漏检测
Plumbr 是一款内存泄漏检测工具,并出具内存泄漏报告。除此以外,它还提供可靠的解决方案。
核心功能:
- 实时内存泄漏检测并给出警报;
- 出具内存泄漏报告:包括具体的时间、大小、速度(MB/h)以及泄漏原因;
- 内存泄漏的代码位置。
独特之处:快速地诊断并给出解决方案。
起源:Plumbr 创立于 Estonia,由 Priit Potter、Ivo Mägi、Nikita Salnikov-Tarnovski 和 Vladimir Šor 几位经验丰富的 Java 程序员创建。