vlambda博客
学习文章列表

Java开发中那些非常好用的工具,简直不要太顺手





最近几年,Java 的技术栈发展的非常快,成百上千的技术工具正不断地涌出来,这也造成了一个问题:
我们作为开发者,到底应该选哪些工具搭建出最合适的技术栈呢?
今天我就推荐一波我常用的、我了解的工具和框架。
一、项目工具
1.1 IDE
主流的 Java 开发工具现在非 IntelliJ IDEA 莫属。前几年,可能 Eclipse 还能和 IDEA 一争高下,到了现在已经基本是 IDEA 的天下了。
就拿我自己来说吧,我最早用 IDEA,后来用了几年 Eclipse,再后来又用回了 IDEA。
包括我身边的程序员,之前用 Eclipse 的人,这几年不少人都换成用 IDEA 了。
建议做 Java 后端开发的程序员,可以优先考虑 IDEA 作为开发工具。

1.2 版本管理工具
对于项目中的代码版本管理工具,Git 已经处于垄断地位了,新项目的话不需要再考虑 SVN、CVS了。
之所以 Git 现在处于垄断地位,主要胜在 2 点:
Git 是分布式的,不会因为版本管理服务器崩溃导致完整的代码历史版本丢失。
Git 创建分支是非常廉价的操作,可以随意创建分支,从而使并行开发很容易落地。而 SVN、CVS 这些版本管理工具创建分支则非常笨拙,并行开发非常麻烦。
上述第 1 点大大提升了代码资产的安全可靠程度;第 2 点则完美适应当代的敏捷开发需求。也因此,Git 大行其道就不足为怪了。
1.3 构建工具
Java 项目的构建工具现在是龙争虎斗,业内一般有两个选择:Maven 和 Gradle。
如果是后端的 Java 项目,那绝大部分用的还是 Maven 去构建项目。如果是前端的 Android 项目,则选择 Gradle。
Gradle 本身要比 Maven 先进很多:它配置灵活,性能优秀,真的是个非常优秀的构建工具。
那为什么在后端 Java 项目构建的时候,大部分用的还是 Maven 呢?
因为Gradle本身太过灵活了,这种灵活带来了两个和后端项目构建特性不太匹配的问题:
Gradle 因为灵活,所以用法规则多变,导致学习门槛过高——后端项目本身的构建流程,套路比较死板,变化非常少,所以不需要太多的构建特性、构建规则。也就是说,灵活本身引入的多种用法、规则、特性对后端项目意义不大,为了构建工具本身的使用,去投入时间学习,本身性价比不高。
上面说了,后端项目本身的构建流程是比较套路化的,需要进行一些强约束,去保证这种套路的可靠与稳定。而 Gradle 因为本身比较灵活的配置规则,反而失去了 Maven 的那种强约束,这就很可能因为失去了约束,从而造成团队在使用 Gradle 的时候,出现各种冲突和潜在的错误,造成项目构建的不稳定,这对后端项目来说是得不偿失的。
以上,就是 Java 开发中经常遇到的主流技术工具了。
由于篇幅所限,我也只列出了一些最核心(或者说每个人都会用到的)工具和中间件。
有一些重要的中间件,我觉得不是所有人都会用到,就没有提及,比如 ElasticSearch、MongoDB、Zookeeper 等(详情看下图 可详细了解)。

希望这篇文章对大家有帮助,能帮大家快速精准的找到当今的主流技术工具,能帮大家提高开发效率。