Java开发人员应该知道的7种新工具



博客-红丝带 通过快速浏览一些最新的创新工具,随时准备锁定和加载。 万一您错过了它,RebelLabs最近发布了Java工具和技术前景的全球调查结果 。 除了著名的工具和成熟的工具外,市场还涌现出鲜有人知的新鲜工具和框架。 在这篇文章中,我决定收集这些工具的简短列表,其中大多数是最近才发布的。 有些是特定于Java的,有些还支持其他语言,但是它们对于Java项目都很有用,并且具有简单的愿景。 来吧。

  1. JClarity –性能监控
  2. JClarity于去年9月推出,现在提供围绕Java性能的两种产品:Illuminate和Censum。 Illuminate是性能监视工具,而Censum是专注于垃圾收集日志分析的应用程序。 这两种工具不仅可以收集或可视化数据,还可以提供可行的见解来解决它们检测到的问题。

    “我们要做的是将问题从数据收集转移到数据分析和洞察力上”
    – JClarity联合创始人本·埃文斯(Ben Evans)。

    j清晰度

    主要特点:

  • 瓶颈检测(磁盘I / O,垃圾回收,死锁等)。
  • 行动计划–解决问题的建议,例如“应用程序需要增加活动线程的数量”。
  • 说明–定义问题的一般性和普遍原因,例如“ GC暂停所花的时间百分比很高,可能意味着堆大小不足”。

它的独特之处在于:在监视和识别您的性能问题后提供下一步–可采取行动的见解,以解决现场问题。

幕后花絮总部位于伦敦的JClarity由Martijn Verburg,Kirk Pepperdin和Ben Evans创立,他们都是著名的Java性能资深人士。 在此处了解有关JClarity的更多信息。

  • Bintray –二进制社交平台
  • 从“匿名”存储库导入库时,Java开发人员处于某种黑暗状态。 Bintray在代码中添加了一个面Kong,实际上,它充当了开发人员共享开源程序包的社交平台(有人说过GitHub是二进制文件吗?请登录GitHub以获得完整的启动效果)。 它在18,000个存储库中有超过85,000个软件包,同时展示了流行的存储库和新版本。

    Bintry-Artifactory-1024x591

    主要特点:

    • 上传您的二进制文件供全世界查看,获取反馈并与其他开发人员进行交互。
    • 使用Gradle / Maven / Yum / Apt或直接下载库。
    • 管理发行说明和文档。
    • REST API –搜索/检索二进制文件并自动分发。

    它的独特之处在于: Bintray的基本功能类似于Maven Central 。 但是,它增加了一个社交层,并提供了一个简单的过程来将文件上传到CDN。

    幕后花絮:Bintray由位于以色列和加利福尼亚的JFrog开发。 它于去年4月公开,并在上一次JavaOne会议上获得了Duke的选择奖 。 JFrog还是Artifactory背后的公司。 这也托管在Bintray上。 当然。

  • Librato –监控和可视化云服务
  • 作为监视和管理云应用程序的托管服务,Librato可以在几秒钟内创建自定义仪表板,而无需设置或部署任何软件。 哦,和其他仪表板相比,它的外观和感觉是如此黄油般光滑。

    “数据的价值仅在于您可以从中获得的切实可行的洞察力,” ,联合创始人兼首席技术官Joe Ruscio说。

    Librato样本数据1024x513

    主要特点:

    • 数据收集:与Heroku,AWS,数十个收集代理(甚至Even Nest )集成,以及与Java,Clojure等的纯语言绑定。
    • 自定义报告:通过电子邮件,HipChat,Campfire以及仅HTTP POST请求的度量和警报,以与您能想到的任何内容集成。
    • 数据可视化:带有注释,关联,共享和嵌入选项的精美图形。
    • 警报:指标超过特定阈值时自动发出通知。

    它的独特之处在于:很难找到Librato不知道如何与之交谈并帮助理解其数据的任何内容。

    幕后:总部设在旧金山,Librato是成立由弗雷德·范登博世,乔Ruscio,迈克Heffner和丹Stodin。

  • Takipi –错误跟踪和分析
  • Takipi的构建具有一个简单的目标:告诉开发人员确切的时间和原因破坏生产代码。 每当引发新异常或发生日志错误时,Takipi都会捕获该异常,并在方法和机器之间向您显示导致该异常的变量状态。 Takipi会将其覆盖在错误发生时执行的实际代码上,因此您可以分析异常,就像发生异常时一样。

    塔基皮哇1

    主要特点:

    • 检测-捕获/未捕获的异常,Http和记录的错误。
    • 优先排序–错误在群集中发生的频率,是否涉及新代码或修改后的代码以及错误率是否在不断提高。
    • 分析–即使在不同的机器和应用程序之间,也可以查看实际的代码和变量状态。

    它的独特之处在于:生产代码中的上帝模式。 向您显示错误发生时的确切代码和变量状态,就像发生错误时您在那儿一样。

    幕后: Psst,是我们。 Takipi成立于2012年,总部位于旧金山和特拉维夫。 每个异常类型和错误都有一个代表它的独特怪兽 。

  • Elasticsearch –搜索和分析平台
  • Elasticsearch已经存在了一段时间,但Elasticsearch 1.0.0刚刚于2月发布。 这是一个基于Apache Lucene构建的开源项目,托管在GitHub上,拥有200多个贡献者。 您可以在此处签出代码。 Elasticsearch提供的主要承诺是易于使用的可扩展分布式RESTful搜索。

    Elasticsearch终端

    主要特点:

    • 近实时文档存储,其中每个字段都可以索引并可以搜索。
    • 分布式搜索具有构建为从小型应用程序扩展到大型应用程序的体系结构。
    • RESTful和本机Java API等。 它还有一个Hadoop库。
    • 开箱即用,不一定需要对搜索有深入的了解,它也可以是无模式的,因此您可以快速启动。

    它的独特之处在于:就像锡罐上所说的那样,它具有弹性。 考虑到灵活性和易用性而构建,在不影响硬核功能和自定义选项的情况下,提供了轻松的开始和扩展空间。

    幕后花絮 Elasticsearch由Shay Banon于2010年创立,最近刚刚筹集了7000万美元的资金 。 在创建之前,Banon曾负责Compass开源项目,现在是著名的搜索专家。 他搜索的动机是什么? 他为妻子创建了一个应用程序,用于存储和检索她最喜欢的食谱。

  • Spark –微型Web框架
  • 回到纯Java,Spark是Sinatra启发的微型Web框架,用于快速创建Web应用程序。 据上个月重写,支持Java 8和lambda表达式,Spark是开源和它的代码可以在GitHub的权利在这里 。 它是由Per Wendel和少量贡献者在过去几年中开发的,其任务是以最小的努力支持快速创建Web应用程序。

    火花指令

    主要特点:

    • 快速而简单的设置为您的第一次部署。
    • 直观的路由匹配器。
    • 创建可重用组件的模板引擎,该组件支持Freemarker,Apache Velocity和Moustache。
    • 独立Spark在Jetty上运行,但也可以在Tomcat上运行。

    它的独特之处在于:一张图片价值1000字,但是截图会更简单。 一探究竟。

    幕后花絮: Per Wendel是Spark的瑞典创始人,并与20多位贡献者合作。 查看讨论组 ,了解有关Spark的更多信息,以及如何贡献和解决问题。

  • Plumbr –内存泄漏检测
  • 深入JVM,垃圾收集器将扫描不再使用的对象。 但是,有时开发人员仍然会在不再使用的内存中保留对对象的引用。 这是发生内存泄漏的地方,也是Plumbr出现的地方。它检测并报告应用程序是否存在内存泄漏问题,并提供可解决的信息。

    铅漏

    主要特点:

    • 实时内存泄漏检测和警报。
    • 带有时间,大小,速度(MB / h)和泄漏重要性的报告。
    • 代码中内存泄漏的位置。

    它的独特之处在于:快捷而明确,从代码中收集见解,并告诉您需要解决的问题。

    幕后:总部设在爱沙尼亚,Plumbr是成立由Priit波特,伊沃贤士,尼基塔·萨尔尼科夫,Tarnovski和弗拉基米尔·索尔。 加入一支经验丰富的Java团队,通常被称为“帮助受困项目的人”。 说得通。

    我们还错过任何其他出色的工具吗? 您使用的最佳新工具是什么? 请告诉我们。

    翻译自: https://www.javacodegeeks.com/2014/06/7-new-tools-java-developers-should-know.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/363787.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

leetcode-92-反转链表②

题目描述: 方法一: class Solution:def reverseBetween(self, head: ListNode, m: int, n: int) -> ListNode:dummy ListNode(0)dummy.next headpre dummyfor i in range(m-1):pre pre.nextstart pre.nexttrail start.nextfor i in range(n-m):start.next …

linux 7 services设定,CENTOS/RHEL7系统中设置SYSTEMD SERVICE的ULIMIT资源限制

8种机械键盘轴体对比本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?在bash中,有个ulimit命令,提供了对shell及该shell启动的进程的可用资源控制。主要包括打开文档描述符数量、用户的最大进程数量、coredump文…

ON_COMMAND_RANGE用法

afx_msg voidOnOutPutStatusButtonUp (WPARAM wParam, LPARAM lParam);BEGIN_MESSAGE_MAP(CIOStatue, CDialog)//{{AFX_MSG_MAP(CIOStatue)//}}AFX_MSG_MAPON_COMMAND_RANGE(IDC_STATIC_OUT1,IDC_STATIC_OUT16,OnOutPutStatusButtonUp)END_MESSAGE_MAP()//注意IDC_STATIC_OUT1…

re正则表达式公式讲解5

1.refullmatch() 完全匹配字符串则返回object&#xff0c;否则返回None import res "max123uyt146"print(re.fullmatch("\w \w ",s))# <_sre.SRE_Match object; span(0, 13), matchmax123uyt146>2.re.compile() 两种方法返回的同一个对象&#x…

P1880 [NOI1995]石子合并

\(\color{#0066ff}{ 题目描述 }\) 在一个圆形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆&#xff0c;并将新的一堆的石子数&#xff0c;记为该次合并的得分。 试设计出1个算法,计算出将N堆石子合并成1堆的最小得分和最大得分.…

在c语言中a 这条语句的作用,C语言复习第二章

C语言第二章C语言复习(第二章)一、填空1、若采用十进制数的表示形式&#xff0c;则077为( )&#xff0c;0111为( )&#xff0c;0xab为( )。 2、C语言中的标识符只能由3种字符组成&#xff0c;它们是( )、( )和( )。 3、在C语言中&#xff0c;用“\\”开头的字符序列称为转义字符…

python执行linux和window的命令

linux&#xff1a; python执行shell脚本常用的方法 import os valos.system("shell语句") >>> valos.system("more /tmp/web.access.log |grep 222.132.79.77 -wc")826>>> print val0 valos.popen("shell语句").read() val可…

外部服务的集成测试

我们的系统通常依赖于第三方服务&#xff08;它们甚至可能是我们无法控制的公司内部服务&#xff09;。 此类服务包括公开API的社交网络&#xff0c;带有诸如Salesforce&#xff0c;身份验证提供程序之类的API的SaaS或我们系统与之通信但不在产品生命周期内的任何系统。 在常规…

自定义控件中使用Render的writer

给自定义控件一个模板并输出&#xff0c;可以在重写控件的Render&#xff0c;并使用它的HtmlTextWriter writer例如&#xff1a;publicclassMyTextBox : TextBox { private string _template"<tr><td> {0} </td><td> {1} </td>&l…

使用JBoss AS 7进行SSL加密的EJB调用

加密客户端和服务器之间的通信可为您的系统提供改进的安全性和隐私保护。 这可能是客户的一项重要要求&#xff0c;尤其是在客户端或服务器需要在不受保护的网络中工作时。 本文向您展示了如何在JBoss AS 7中设置SSL加密的EJB调用。 服务器 在服务器端只需完成两件事&#xf…

random模块详解

1.import random randomrandint&#xff08;a&#xff0c;b&#xff09; 括号里是一个范围&#xff0c;randomrandint&#xff08;&#xff09;是取括号里范围的随机数。 >>> import random>>> random.randint(1,10)8>>>>>> random.randi…

【ABAP系列】SAP 面试 ABAPer的一些感想

公众号&#xff1a;SAP Technical本文作者&#xff1a;matinal原文出处&#xff1a;http://www.cnblogs.com/SAPmatinal/ 原文链接&#xff1a;【ABAP系列】SAP 面试 ABAPer的一些感想前言部分 大家可以关注我的公众号&#xff0c;公众号里的排版更好&#xff0c;阅读更舒适。 …

mean技术栈 linux,“MEAN”技术栈开发web应用

var express require(express);var app express();app.listen(3000);var _rootDir __dirname;var protectDir _rootDir /protect/;app.use(express.static(_rootDir));//注册路由app.get(/, function(req, res){res.sendFile(_rootDir/src/index.html);});app.use(functio…

VS2005 VS2008新建网站和新建项目里选Web应用程序区别

WebApplication编程模型的优点&#xff1a;●网站编译速度快&#xff0c;使用了增量编译模式&#xff0c;仅仅只有文件被修改后&#xff0c;这部分才会被增量编译进去。●生成的程序集WebSite&#xff1a;生成随机的程序集名&#xff0c;需要通过插件WebDeployment才可以生成单…

Perl线程池

Thread::Pool模块提供了Perl解释器线程的线程池&#xff0c;手册&#xff1a;https://metacpan.org/pod/Thread::Pool。 转载于:https://www.cnblogs.com/f-ck-need-u/p/10422449.html

编写干净的测试–分而治之

好的单元测试应该仅出于一个原因而失败。 这意味着适当的单元测试仅测试一个逻辑概念。 如果我们要编写干净的测试&#xff0c;则必须识别这些逻辑概念&#xff0c;并且每个逻辑概念仅编写一个测试用例。 这篇博客文章描述了我们如何识别从测试中发现的逻辑概念&#xff0c;以…

初学servlet之使用web.xml配置

先写两个servlet,之后展示web.xml配置 package app01c;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.Htt…

根本不存在 DIV + CSS 布局这回事

实际上div不是用来布局的&#xff0c;div只是用来表示一个其它元素都无法准确表达语意的一个块区&#xff0c;只有CSS是用于布局的&#xff0c;所以根本就不存在divCSS布局这回事。反过来&#xff0c;table布局的时候经常依赖于CSS定义一个单元格的布局属性&#xff0c;所以可以…

c语言空格键 key,c语言获得键盘的按键

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼TC 2.0版#include#includeint main(){int key;while(1){keygetch();/*用于去掉第一个字节*/if(key27) break; /*如果是ESC退出*/if(key>31 && key<127) /*如果不是特殊键*/{printf("You have pressed %c Press …

仔细研究Java Identity API

在深入探讨之前&#xff0c;让我们看一下有关Java Identity API JSR 351的一些快速事实。 这仍在进行中。 。 。 JSR是什么时候发起的&#xff1f; 该JSR在2011年10月通过了批准投票&#xff0c;随后在2011年11月成立了专家组。 谁负责此规范&#xff1f; Java Identity AP…