每个Java程序员需要了解的8个Java开发工具

jopen 9年前

Java是计算机应用程序编程语言,被广泛用于创建Web应用、服务器处理、用户端的API开发乃至数据库等多个领域。下面列出了8个有助于你开发Java应用程序最好的Java工具。(在转发的基础上,我又补充了几个)

1. SparkJava

这是一款体形轻巧,功能强大的Web应用框架。Spark拥有简单而直接的方法。您可以通过一些繁琐的XML配置来使用Spark框架编写应用程序。Spark能让你花费最少的精力来开发Java的Web应用程序。Spark是一个类似于Sinatra的微型Web开发框架,最新支持Java8和lambdas。Spark是完全开源的,Github上有它的源代码

官方网站:http://sparkjava.com/

主要功能:

  • 第一次部署非常快速而简单
  • 灵活的路由匹配
  • 它有一个模板引擎,可以创建支持Freemarker, Apache Velocity 和 Mustache的可重用组件
  • 可作为独立的Spark运行在Jetty上,也可以运行在Tomcat上

独特之处:一张图能抵过1000个单词,而一个屏幕截图的威力更大,谁用谁知道~

起源:Spark是由来自于瑞典的Per Wendel发起的,不过一共有20多个开发人员参与了后来的开发

2.  jClarity

jClarity是两款产品的结合:illuminate用于性能监控,而census则可以收集日志和分析数据。jClarity支持云集成,并且其框架紧凑轻巧。

官方网站:http://www.jclarity.com/

主要功能:

  • 故障检测((Disk I/O,垃圾收集,死锁等等)
  • 操作建议 - 对故障提出解决建议,如"The application needs to increase the number of active threads".
  • 解释 - 给出问题出现的原因,如"A high percentage of time spent paused in GC may mean that the heap has been under-sized".

独特之处:该工具和其他性能监控工具之间的一个区别是,它简化了问题报告并用简单的英语描述了建议解决方案。

起源:JClarity诞生于London,创始人是 Martijn Verburg, Kirk Pepperdin and Ben Evans,这三位都是Java性能领域的老将。

3. Clover

Clover是用于代码覆盖的一大利器。该工具有助于用于应用程序测试的代码。我们可以在IDE或持续集成系统中运行Clover。该工具能让测试的运行速度更快。

官方网站:https://www.atlassian.com/software/clover/overview

4. JProfiler

JProfiler拥有直观的用户界面,可以帮助你解决性能瓶颈和理解问题。JProfiler能让你轻松约束内存泄漏和修复线程的问题。

官方网站:http://www.ej-technologies.com/products/jprofiler/overview.html

5. VisualVM

VisualVM是一个集多功能于一身的Java 故障排除工具。你可以使用VisualVM整合多命令行JDK工具。此轻便的工具有着惊人的分析能力。你可以在各种技术,如jvmstat、JMX和Serviceability Agent(SA)中使用VisualVM。VisualVM最出名的是附加了API,以获得更多的数据,以及自动使用更快捷。

官方网站:http://visualvm.java.net/

6. Elasticsearch

Elasticsearch提供了可以整合现有的应用程序来驱动其与输入数据的交互的工具。这款开源工具提供了 实时搜索和分析引擎。Elasticsearch可用于可靠性和可扩展性作为重要因素的分布式环境。该工具提供了超简单的全文搜索体验。 它是一个创建于 Apache Lucene 上的开源项目,由Github上的两百多个开发者义务维护。

官方网站:http://www.elasticsearch.org/

主要功能:

  • 接近实时文档存储,每个字段都是可索引可检索的。
  • 它的分布式搜索架构支持小型到大型的应用程序
  • RESTful和原生Java API,还有针对Hadoop的库
  • 开箱即用,也不需要程序员对搜索有很深入的了解,更棒的是它还提供免费模式

独特之处:非常容易上手,无需定制核心功能和繁杂的自定义选项。

起源:Elasticsearch由Shay Banon在2010年创立,并且在最近刚刚获得7000万美元的融资。这个应用其实最开始是Banon为他的妻子开发的,便于她搜索最喜欢的食谱,很有爱吧~

7. Sonarqube

Sonarqube是一个用来 管理代码质量的开放式平台。基于Web的应用程序可以与Java应用程序进行配置。它提供了规则、警报、阈值、排除和设置功能。 SonarQube允许用户将指标结合在一起,以及使用历史的措施混合。

官方网站:http://www.sonarqube.org/

8. Takipi

Takipi是一个轻量级的Java代理。Takipi安装方便,用不了几分钟就可以搞定。它对代码注释或配置并没有要求。你可以使用一台具有完全功能的服务器与Takipi工作。此款 Java工具能帮助你减少调试时间。Takipi的目标很简单:告诉开发者代码崩溃的时间及原因。无论在何时发生异常,Takipi都会抓取到并给出分析报告。

官方网站:https://www.takipi.com/

主要功能:

  • 检测 - 抓取异常、HTTP和登陆错误
  • 重点排查-经常发生错误的集群,分析错误率是否有上升
  • 分析-查看实际代码和变量状态,甚至通过不同的机器和应用程序。

独特之处:在代码出现错误时即时报告错误。

起源:Takipi诞生于2012年的旧金山和Tel Aviv(特拉维夫市)。每个异常类型和错误都有独一无二的monster表示。

—————————————————————————————————————————————

9. Bintray - 文档分享平台

Bintray为Java开发人员提供了一个可以 分享代码的平台,它上面有85000多个文件包,18,000多个库。对了,你一定会想到GitHub,这个网站也可以用GitHub的账号登陆哦。

主要功能:

  • 上传文档,与全世界各地的开发人员交流
  • 可以用Gradle / Maven / Yum / Apt下载代码库,当然也可以直接下载
  • 管理发布信息和文档
  • REST API-搜索/检索文档并自动分配

独特之处:Bintray的基本功能类似于Maven Central,但是Bintray有社交特性,上传文件的步骤也更加简便。

起源:Bintray由以色列创业公司JFrog创立,于去年四月发布,并赢得了JavaOne协会的Duke's选择奖。

10. Librato –监测&可视化云服务

Librato是一个 监测和管理云应用程序的托管服务,它可以在几秒中之内创建自定义 仪表盘,不需要安装或者部署任何软件。最棒的是它和其他仪表盘比起来更加顺畅。

主要功能:

  • 数据收集:集成了Heroku、AWS、数以万计的代理(包括Nest),绑定了Java、Clojure等开发语言。
  • 自定义报表:通过HipChat, Campfire,邮件或者HTTP POST请求发出指标或警报。
  • 数据可视化:用漂亮的图表展示注释、关联、分享和插入选项。
  • 警报:当指标超出某个阀值时自动发出警报。

独特之处:Librato几乎可以表现任何东西,并且把数据变得有意义。

起源:Librato来自于美国旧金山,由Fred van den Bosch, Joe Ruscio, Mike Heffner 和 Dan Stodin合作开发。

11. Plumbr – 内存泄漏检测

发生 内存泄漏时怎么办?用Plumbr,它可以检测出应用程序的内存泄漏问题并提供切实可行的解决方案。

主要功能:

  • 实时内存泄漏检测和警报
  • 并提供泄漏的时间、大小、速度和重要性的报告
  • 代码中内存泄漏的位置

独特之处:快速定位泄漏点,并给出详尽的解决方案,再也不用担心内存泄漏问题啦~

起源:创立于 Estonia,创始人包括Priit Potter, Ivo Mägi, Nikita Salnikov-Tarnovski 和 Vladimir Šor,都是Java团队中很有实力的人物。


来自: http://原网站已经失效/article/8-best-java-tools-every-java-programmer-must-use.html