原文地址:http://kim.saabye-pedersen.org/2014/02/intellij-idea-vs-netbeans-ide.html?utm_source=tuicool
I have used the two IDEs on a Maven based project containing around 4000 Java files and 500 jsp and a lot of JavaScript. Frameworks used are Spring, Hibernate and various other. To be clear from the outset I have been more involved in NetBeans as I volunteered to be part of the NetCat for NetBeans 8.0. I thought that was a good way to learn the IDE. To be fair against IntelliJ IDEA it should be stated that what I focus on in this blog entry is not tied to the Ultimate edition.
There are obviously many parts of both IDEs that I have not used. However what I have used is the basic stuff that any decent Java developer will use.
Here are my findings:
General findings:
IntelliJ has ctrl-w and Netbeans has alt-shift-period. Both commands select the syntactical element the caret is placed at and pressing w or period multiple times will expand this selection (you can also decrease the scope using other commands). When editing Java files the two are equally good but when editing JSP/html and JavaScript files IntelliJ is far superior. I have added an enhancement request to NetBeans.
NetBeans code refactoring tools are not the best. For instance introducing a new variable does not give you an easy way to change the type of the new variable (in IntelliJ this works). I have filed an enhancement request for this in NetBeans. I also experienced another problem with NetBeans not being able to extract a method but in fairness to the NetBeans team it should be stated that they promptly fixed it.
I have also experienced some strange problems in NetBeans, for instance that running a Spring Boot project will not shut down the Tomcat process that fires up when stopping the project from running. This means that the Tomcat port will be taken when you rerun the project (this is Mac specific). Doing the equivalent in IntelliJ or Eclipse for that matter takes down the Tomcat process (also on a Mac). I also experience exceptions that the NetBeans team say is caused by the JDK (1.8 which they recommend) but that they won't/can't fix or work around. Maybe Mac and NetBeans are not a match made in heaven because have also reported another bug that is related to Mac and that can't be solved.
Slowness issues:
Running unit tests in Netbeans is very slow compared to IntelliJ (my workflow is the usual TDD flow where you make some tests, make code change, run test and so on). It seems to me that Netbeans is noticeably rebuilding everything via Maven to run a single test, whereas IntelliJ must have a better model or does something in the background as you code as it can run the tests immediately (turning compile on save on or off in NetBeans does not change this). I have filed an enhancement request to NetBeans.
Alt-F7 in NetBeans and IntelliJ means the same thing: finding usages - something I do a lot. However, finding usages in the two IDEs is very different. In NetBeans finding usages takes some time (you acutally have to wait while the IDE searches) whereas the usages pop up immediately in IntelliJ. This must be due to some superior indexing in IntelliJ. Also simply finding files or types in the two IDEs show that IntelliJ has better indexing and it gives you instantaneous results.
Debugging in NetBeans and IntelliJ also leaves you with two very different user experiences. NetBeans is annoyingly slow at showing the variable values. I often have to sit and wait for long enough to notice that I am waiting.
When you import a Maven project into NetBeans, it will try to update its Maven index (at least on the first run, but I experienced it often, also simply when adding new dependencies in the pom files). This is a very painful experience as it takes a lot of time to process the index files that it downloads (+10 minutes where the IDE is practically unusable - but I least I get to hear my fans fire up).
NetBeans IDE has a slowness detector which will report an exception if an operation takes more than 5 seconds. I think 5 seconds is a long time to wait and that should probably be down to 2 seconds for IDE operations (of course if you ask it to do a Maven build, you can't blame the IDE for Maven being slow).
Final words:
To be honest I started out the investigating hoping that NetBeans would be better. But IntelliJ is simply a better IDE. But don't take my word for it, try it yourself. That said, is was fun to be part of the NetBeans community, finding and filing bugs (of which I have filed +40 in the last two months) and seeing them get fixed so I will probably give NetBeans a try again later which might be when I have to pay for a personal license for IntelliJ :)
相关推荐
IntelliJ IDEA is a commercial Java development tool which competes with the free Eclipse and NetBeans projects. It is an integrated development environment (IDE) designed to automate parts of the ...
Coffee or Tea?...Eclipse or IntelliJ IDEA (or NetBeans)? Believe it or not, software developers argue as much about their IDE as any of these other hotly-debated topics. And for a good reason...
IntelliJ Idea 67 NetBeans 67 使用Eclipse 67 安装Eclipse 67 设置Eclipse 68 Eclipse IDE结构 70 .......... 5. 编程规约 826 (一) 命名规约 826 (二) 常量定义 829 (三) 格式规约 829 (四) OOP规约 832 (五) 集合...
Netbeans 有他们的代码审查插件,...)而 IDE 集成是关键特征。 主要特征 设置简单 不需要服务器。 审查定义存储在 XML 文件中,您可以在版本控制系统上共享这些文件。 语言不可知论您可以查看各种文本文件 灵活,您...
为 NetBeans 设置 Maven 这是发布的另一个 NetBeans 插件,它创建基于 Aspose maven 的项目。 Aspose Maven for NetBeans IDE 插件使 Java 开发人员能够使用处理各种二进制文件格式。... (IntelliJ IDEA 插件)
对Swing开发者来说,使用NetBeans可以充分的利用NetBeans的强有力的RCP(RichClien Eclipse作为开发Java的IDE,从出现到现在已经有几年的时间了,其丰富的特性,操作容易和在提高生产力方面收到了广大开发者的青睐。...
- 使用IDE(如Eclipse, IntelliJ IDEA或NetBeans)创建第一个Java程序 2. **Java基本语法**: - 变量声明与类型(int, String, boolean等) - 基本数据类型和运算符 - 控制结构:if-else语句、switch-case语句、...
最初,我为NetBeans IDE开发了插件,但是由于在我工作的公司中(主要是在使用Intellij IDEA的公司),我也为Intellij IDEA开发了插件。 然后一个朋友请我开发一些独立版本,供与Java没有任何关系的用户使用,因此我...
常用的Java开发工具包括Eclipse、IntelliJ IDEA和NetBeans等。Java开发环境包括Java开发工具包(JDK)和Java虚拟机(JVM)。JDK是Java编程语言的开发工具包,包括Java编译器、Java调试器等工具。JVM是Java程序的运行...
一、Java技术介绍 Java是一种广泛应用于软件开发的高级编程语言,由Sun ...使用集成开发环境(IDE):为了更好地编写和调试Java代码,建议使用一个Java集成开发环境(IDE),如Eclipse、IntelliJ IDEA或NetBeans。
Yourkit 2017版本针对专业java开发者设计,其最大的特点是能够对Java应用程序的CPU和内存进行分析,并且可以集成在Eclipse, JBuilder, JDeveloper, NetBeans 以及 Intellij IDEA等Java IDE中,使用起来比较方便。
文件有适用于Jakarta EE新手,包括: 使用流行的IDE设置本地开发环境,例如: Apache NetBeans IDE Eclipse IDE IntelliJ IDEA。 在流行的应用程序服务器上部署和运行应用程序,例如: 玻璃鱼野蝇开放自由使用Junit...
java开发环境配置:JDK 开源开发工具:NetBeans 因为IntelliJ IDEA、MyEclipse是付费软件,所以只做了提及。
实时待办清单 ...使用Java Ide(如IntelliJ IDEA,netbeans)打开此文件夹。 添加postgresql-jdbc驱动程序作为外部库。 使用.sql文件创建注释表。 运行代码。 演示版 未来更新 在当前笔记中进行更改。
Eclipse- IntelliJ IDEA- NetBeans- 命令行工具命令行工具入门: 命令行工具入门很容易: 下载发行版下载 该ZIP包含Forge运行时+核心插件下载此ZIP仅包含Forge运行时将ZIP提取到目录并导航到forge-distribution-...
IDE (Optional): Eclipse, IntelliJ IDEA, or NetBeans Apache CXF: Version 3+ was used Apache Tomcat: Version 7 was used or you can use the latest version Apache Maven: Version 3+ was used Gradle: A ...
文件有适用于Jakarta EE新手,包括: 使用流行的IDE设置本地开发环境,例如: Apache NetBeans IDE Eclipse IDE IntelliJ IDEA。 在流行的应用程序服务器上部署和运行应用程序,例如: 玻璃鱼野蝇开放自由使用Junit...
IntelliJ IDEA:项目采用IntelliJ IDEA编写,但示例源码与具体的IDE无关,各位朋友可以自行选择适合自己的IDE,比如Eclipse、NetBeans等。 Maven 3.3.9 Spring Boot 2.0.3.RELEASE Spring Boot Web Starter 2.0.0.M4...
Java API文档是Java编程语言的一部分,它是一组文档,提供了Java编程...在许多集成开发环境(IDE)中,例如Eclipse、NetBeans和IntelliJ IDEA等,都提供了内置的Java API文档浏览器,可以直接查看和搜索Java API文档。