在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
一个完整的Java项目开发的整个过程中,会使用到各种各样的工具。而同一个阶段有非常多的工具提供选择,而因为整个项目并非一个人完成的,所以要涉及到非常的团队协作工作。因此在选择每个阶段工具的使用的时候,最好是选择大家普遍使用的,这样才能更好的完成团队协作。本文就为大家整理Java开发中各个阶段常用的工具汇总。
Java语言版本
目前在Java编程语言的版本中,Java 8是使用率最高的。这可能是因为一些期待已久的现代语言功能如lambda表达式,减少了一些Java经常被批评的冗长程度。性能的提升也是很大的一个卖点。
编辑器和IDE
Eclipse和Netbeans都是免费和开源的。Eclipse因其大型的社区和插件(很容易写)的富有而闻名,这使得该平台可无休止地扩展,但有时会加载缓慢和繁琐。Netbeans因包括如Maven和Git的整合开箱即用而显得与众不同。IntelliJ具有商业产品的性能和完美。它有免费和付费两种版本。
web框架
虽然三分之二的调查显示了Spring MVC优于Java Server Faces(JSF),但是Spring MVC和JSF之间的打成了平手。这可能已经没有多大关系了,因为JavaScript框架在许多流行的web堆栈中变得越来越有价值。一项问及AngularJS与纯Java Web框架使用率比较的调查显示,在前端上,AngularJS优于最流行的Java框架。
应用服务器
Tomcat已经很多年担任最常用Java应用服务器的称号了。它轻巧,不会尝试实现所有的Java EE规范。在一些调查中,Jetty,另一个轻量级的应用服务器,领先于Wildfly--顶部Java EE--支持的应用程序服务器。Tomcat是简单Java应用的领导者,而轻量级的应用服务器毫无疑问是微服务架构的首选。
版本控制系统
请记住,Git比只用GitHub及其约定的版本控制更灵活。Git似乎已经几乎打赢了版本控制的战役,大多数的Subversion和CVS用户被开发人员抓进了一套遗留的工具中。
持续集成
这是另一个有着明确领导者的领域。Jenkins的灵活的插件系统,导致其在过去的五年时间里,逐渐上升到主导地位。不使用任何CI server的人比使用任意单一Jenkins竞争者的人要多。最接近的竞争者是Bamboo。
数据库
选择数据库相比这里的许多其他工具,更依赖于上下文。根据你要构建的app,你可能需要一个轻巧的key-value存储,以及一个巨大的列式数据库。对于大多数应用程序,关系数据库可以把这工作做好,这就是为什么你会看到两个关系型数据库站到Java工具世界之巅的原因。Oracle是这篇文章中提到的少数商业产品之一,这意味着它有很多的“企业”特点。MySQL或甚至SQLite是开源的强大选择。
对象关系映射(ORM)
Hibernate是如此受欢迎,若干年前它得到了Java Persistence API规范的标准化。
静态代码分析
FindBugs是一个简单的静态代码分析工具,而SonarQube是一个用于代码质量分析,语法检查和代码度量的完整平台。这两个工具都在范围上有很大的不同,因此很难比较。
语法检查
此功能可以在主要的java ide <http://www.codeceo.com/article/11-free-java-ide-editor.html>中找到,但如果你需要一个单独的程序用于专门的语法检查(又名“linting”),Checkstyle是一个不错的选择。
工件管理
许多开发人员在版本化JAR,WAR,库和完整的app时不使用工件仓库。但是,如果他们这样做的话,Nexus有用户优势。两者都是商业产品。Apache Archiva是一个开源选择。
依赖注入
Spring框架在依赖注入上做的很好,但谷歌的开发者用Guice也创造了一个流行工具。Dagger没有那么普及,但它很新,并且用户在增加,特别是围绕Android开发。它被用于Pokémon Go。
性能分析/分析器
显着数量的Java开发人员不使用任何分析器。YourKit是VisualVM另一个流行的替代分析器。
负载测试
除了这两个之外,还有大量各种负载测试工具,所以一定要研究这个市场。JMeter是开源的,而LoadRunner是商业产品。商业产品的主要优点是运行测试的云服务范围。
自动化构建与依赖管理
虽然Maven明显领先,但Gradle仍然被广泛用作辅助构建工具,并且是Android的标准构建工具。
对于以上这些Java开发过程中各个阶段常用的工具,你正在使用的有哪些呢?本文部分观点来源于网络,仅供参考。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
iHRM实战项目教程课程学什么?
要学习Activiti7工作流引擎、SAAS-HRM系统概述与搭建环境、SAAS-HRM-数据库设计与前端框架、SAAS-HRM系统用户权限设计概述、权限分配与jwt概述、权限分配与jwt概述、JWT的权限控制与Shiro入门、Shiro高级及SaaS-HRM的认证授权等内容。
6400
2019-11-08 10:24:19
Java初学者必须了解的Java基础知识
学习一门新的技术,入门阶段是最关键的。就拿Java学习而言,无论是自学还是参加培训,首先要对Java的基础知识有一定的了解。例如Java到底是什么,主要应用在那些方面,有哪些核心技术,目前市场需求如何等等。在具体学习过程中还要考虑学习路径是什么,学习方法,热门知识点等等。这里小编主要针对Java初学的小伙伴,一起了解一下入门时应该了解的Java基础知识。
22846
2019-12-13 19:00:19
如何用Java查询个人信息?代码怎么写?
如何用Java查询个人信息?编程写好相应的规则,按照规则执行,在一定程度上大大提高了工作效率,在我们生活中的应用无处不在,当你面临公司大量的人员数据如何准确查询处理你想要的数据呢?
7416
2020-02-11 17:13:36
JavaEE实战项目手机快速登录讲解
今天要讲解的JavaEE实战项目是一款应用于健康管理机构的业务系统,它叫做传智健康,能够实现健康管理机构工作内容可视化、会员管理专业化、 健康评估数字化、健康干预流程化、知识库集成化,从而提高健康管理师的工作效率,加强与会员间的互动,增强管理者对健康管理机构运营情况的了解。下面我们来一起看看传智健康实战项目的移动端开发内容,主要包括了需求分析和手机快速登录。
5202
2020-04-22 12:06:56
Java原子操作之CAS原子指令学习
Java原子操作之CAS,CAS(Compare and Swap),即比较并替换,是用于实现多线程同步的原子指令。
2027
2022-07-01 13:57:43