TEL:15195455103

Java培训 > Java知识 >

哪个JAVA编程IDE适合你

作者:南京    来源:南京    发布时间:2020-01-11 09:35    浏览量:80

  Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球大的开发者专业社群。

  给你java学习路线:html-css-js-jq-javase-数据库-jsp-servlet-Struts2-hibernate-mybatis-spring4-springmvc-ssh-ssm

  每个Java开发人员都需要一个代码编辑器或IDE,可以帮助我们在编写Java、使用类库和框架的时候处理一些复杂、麻烦的场景,常见的就是纠错。哪个编辑器或IDE适合你,取决于几件事情:项目的性质,你在组织中的角色,团队使用什么开发过程,程序员的水平和技能。 另外考虑的是团队是否对工具进行了标准化,以及个人喜好。

  常用于服务器端Java开发的三个IDE是IntelliJ IDEA,Eclipse和NetBeans。 然而,这些并不是唯一的选择,也是时候也可以考虑一些轻量级的IDE。

  下面通过在MacBook Pro上,对几个开源项目使用IntelliJ IDEA Ultimate 2016.2,Eclipse Neon Java EE和NetBeans 8.1 Java EE对比一下三种IDE。

  基本问题:你需要Java IDE帮你做什么事情

  首先,你可能需要IDE支持JAVA 8,Scala,Groovy,其他JVM语言。还需要支持主要的应用服务器和流行的Web框架,包括Spring MVC,JSF,Struts,GWT,Play,Wicket,Grails和Vaadin。IDE应与开发团队使用的任何构建和版本控制系统兼容,例如Ant,Maven和/或Gradle,以及Git,SVN,CVS,Mercurial或Bazaar。

  更多一点的要求,包括能处理客户端和数据库层,支持嵌入式JavaScript,TypeScript,HTML,SQL,JavaServer Pages,Hibernate和Java Persistence API。

  后,Java IDE应该可以让你轻松编辑,构建,调试和测试系统。理想情况下,不仅可以完成智能代码,还可以重构和做代码质量检测。如果你采用了测试驱动的开发模式,IDE还需要支持你的测试框架。如果你的团队使用CI或BUG跟踪系统,则IDE好连接到它们。如果你需要部署到容器和云上并进行调试,则IDE应该对此提供帮助。

  IntelliJ IDEA

  IntelliJ IDEA是首屈一指的Java IDE,两个版本:mf的社区版和付费的终极版。

  社区版可用于JVM和Android开发。支持Java,Kotlin,Groovy,Scala;Android;Maven,Gradle,SBT; Git,SVN,Mercurial和CVS。终极版用于Web和企业开发的除了Git,SVN,Mercurial和CVS之外,还支持Perforce,ClearCase和TFS;JavaScript和TypeScript;Java EE,Spring,GWT,Vaadin,Play,Grails等框架; 还有数据库工具。

  商业的终极版通过提高程序员的生产力来获得收益。对于学生,老师和开放源代码开发者而言都是mf的。

  IntelliJ IDEA深入了解你的代码,开发人员的人体工程学,有内置的开发人员工具,通晓数种语言的编程经验。

  IntelliJ IDEA用类似lint的方式对Java代码做了静态分析,显示了一些警告和建议。 可以通过点击它们展开这些,如下所示。在许多情况下,还可以获得如何快速修复操作的选择列表。

  深入分析代码

  Java编辑器通常都会给出语法着色和简单的代码完成提示。除此之外,IDEA还能提供“智能完成”,这意味着它可以弹出在当前上下文中的可能的相关符号或操作列表,并且按你的个人使用频率排列。更智能的是“链式完成”,它显示的是适合当前上下文的方法或getter列表。IDEA还能帮助完成静态成员或常量,import语句的导入。

  Java代码经常以字符串的形式,把其他语言包括在代码中。IDEA可以将SQL,XPath,HTML,CSS或JavaScript代码的片段注入Java字符串文字。重构的时候,IDEA也能充分考虑到这些表示其他语言的字符串。比如,如果在JPA语句中重命名一个类,IDEA也能更新相应的实体类和JPA表达式。

  当重构一段代码时,如果我们在其他地方也有这段代码的拷贝的话,通常我们也需要对这些拷贝进行重构。 IDEA Ultimate(终极版)可以检测重复和类似的片段,并一次性将同样的的重构应用于这些拷贝。

  IntelliJ IDEA在读取代码以及你输入代码的时候,就在分析这些代码。它提供了一些指示来指出可能的问题。如果需要的话,也会列出快速修复这些问题的建议列表。

  开发人员人体工程学

  IntelliJ设计IDEA的时候,充分考虑了开发人员的工作流程中很重要的一点,也就是“在区域中”。上图所示的项目工具窗口通过简单的鼠标点击就会从视图中消失,你可以专注于代码编辑器。编辑时要做的一切都具有键盘快捷键,包括在弹出窗口中显示一些符号定义。学习捷径确实需要时间和实践当然不知道快捷方式,开发人员也可以轻松快速地学习使用IDEA。

  IDEA的调试器设计非常友好。变量值在编辑窗口的右边展示,靠近相对应的代码。当时某个变量状态改变的时候,会高亮显示。

  IDEA还集成了构建工具,单元测试的运行和覆盖率检查工具,以及内置的终端窗口。IntelliJ没有自己的性能分析工具,但它通过插件来支持。这些包括由前IntelliJ主要开发人员创建的YourKit和VisualVM。IntelliJ IDEA为大多数的版本控制系统提供了接口,包括Git,SVN,Mercurial,CVS,Perforce和TFS。你可以在IDE中管理所有的代码变化。IntelliJ IDEA还有个插件,可以把源代码块中的后一次更改将作为注释显示在编辑器窗口中。

  IntelliJ IDEA支持所有主流的JVM应用服务器,并且可以在服务器中进行部署和调试,为Enterprise Java开发人员解决一个痛点。IDEA通过添加Docker工具窗口的插件来支持Docker。

  多语言编程

  IDEA已经扩展了针对Spring,Java EE,Grails,Play,Android,GWT,Vaadin,Thymeleaf,Android,React,AngularJS等框架的编码协助。并非所有这些都是Java框架。除Java之外,IDEA也能理解许多其他语言,包括Groovy,Kotlin,Scala,JavaScript,TypeScript和SQL。如果您需要更多的话,目前有大约19种IntelliJ语言插件,包括R,Elm和D的插件。

  Eclipse是流行的Java IDE,mf且开源。主要用Java编写,但同时它的插件架构允许Eclipse以其他语言进行扩展。Eclipse起源于2001年,是一个IBM项目,目的是开发一个可移植的基于Java的IDE来替代基于Smalltalk的IBM Visual Age系列IDE。该项目的重要目标是针对Microsoft,要打败微软在工具市场上的领导地位,引领大家到Java开发上来,因此要做的事情是要吞噬微软的市场,这就叫“Eclipse”。在中文里面,eclipse作名词用就是“月蚀”,“日蚀”的意思。做动词讲,就是“使黯然失色”,“蒙蔽”的意思。

  Java的可移植性帮助Eclipse成功实现跨平台,Eclipse可以运行在Linux,Mac OS X,Solaris,Windows等。Java标准窗口小部件工具包(SWT)部分负责了Eclipse的外观UI。同样地,Eclipse也是它的性能依赖于JVM。早年因为硬件的低性能和JVM低版本,Eclipse有运行慢的名声。但即使在今天,还是可以感觉到慢,特别是当装了许多插件再进行更新的时候。

北大青鸟软件学校

  Eclipse中的一部分开销是因为内置的增量编译器。每当它加载一个文件,并且每当你更新你的代码,它就会运行。其实总的来看,这是一个很好的事情,因为但你在输入代码的时候可以及时提供错误提示。

  一个Eclipse Java项目在独立于构建系统之外,维护着项目的内容模型。这个模型包含有关Java的类层次结构,引用和声明的信息。通过这个模型可以支持多个编辑和导航助手以及大纲视图。

  Eclipse安装的时候,通常需要安装很多其他的包。包括一个小化的Eclipse SDK和必要的插件。安装插件的时候很容易就会引入冲突,特别是新人。

  编辑、浏览、重构、调试

  第一次使用Eclipse的人可能会感到困惑。你的第一个任务是适应Eclipse的工作空间、透视图和视图的概念体系,这些概念又跟你安装的插件有关。比如Java服务器开发,你可能使用Java,Java EE,浏览视图;package explorer视图;调试透视图;团队同步视角;Web工具;数据库开发视图;数据库调试视图。

  插件生态系统是Eclipse的优势之一,也是有时候造成问题的原因之一。Eclipse市场中目前包含1700多个解决方案,提供了数以千计的插件。这些插件可能会,也可能不会像期望的那样工作(因为彼此的冲突)。尽管如此,Eclipse插件仍然支持超过100种编程语言和近200个应用程序开发框架。大多数主流的Java服务器也支持;如果你在Eclipse定义一个新服务器连接,你会看到一个供应商列表。下面你会发现大约30个应用服务器,包括9个版本的Apache Tomcat。商业公司倾向于把他们的产品在一起。例如在Red Hat JBoss中间件下面只有一个条目,包括WildFly,EAP服务器工具以及JBoss。

  在Eclipse中,通常有不止一种方法来完成一个任务。例如,你可以使用package explorer或Java浏览视图来浏览代码。选择哪个方式取决于你自己的体验感受。

  Java搜索支持查找Java包、类型、方法、字段。您还可以使用快速访问搜索,并使用快速视图来弹出类大纲之类的内容。

  添加方法和生成类都有错误注释和内容辅助支持(其实其他两个IDE也支持)。可以从代码模板生成常见的代码模式,而Eclipse可以自动生成和组织import语句。在Eclipse中,重构支持23个操作,从常见的重命名操作到更晦涩的转换,从Martin Fowler的书中可以得到。重构不仅可以交互式地执行,还可以从重构脚本中进行。

  Eclipse支持本地和远程调试(其实其他两个IDE也支持),假设您使用的是支持远程调试的JVM。调试的过程是标准的方式:设置断点,然后在调试视图的一个选项卡中查看变量。(相关推荐:Java占据主要地位的12个因素

  Eclipse提供了丰富的帮助和文档。但经常会发现,文档中的图片可能并不匹配当前的版本,或者快捷键跟帮助中说的不太一样。这可能是开源项目的常见问题:文档会延迟几个月甚至几年才更新。Eclipse的生态系统非常庞大,所以在文档及时性上问题不小。



本文内容、图片由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至2353260942@qq.com 举报,一经查实,本站将立刻删除。(如需投稿联系管理员开通!)

© CopyRight njjava.com      苏ICP备14052071号

抢试听名额

名额仅剩66名

教育改变生活

WE CHANGE LIVES