前言

  本来应该继续从 Oracle 官网搬砖的,但是随着示例代码越来越复杂,涉及的类库越来越多,使用 Vim 写 Java 代码就很力不从心了,是时候上 IDE 了。我最熟悉的 IDE 环境是 Eclipse,但是大家都说 IntelliJ IDEA 好,所以我今天也试了一下 IntelliJ IDEA,也许我以后会逐渐增加 IntelliJ IDEA 的使用频率,但最主要的还是用 Eclipse。还有一个差点被我遗忘的 NetBeans,我今天又下载试了一下,还是最新的 8.1 版,只能用失望透顶来形容我的心情。我很早以前用过一段时间 NetBeans,后来就基本不碰了,只是偶尔下载试用一下,但是每试用一次失望就加深一次。难道 NetBeans 就这样没落了吗?

Eclipse,我的最爱

  Eclipse的官网是 www.eclipse.org,前几年访问 Eclipse 的官网都有点慢,不管是下载程序还是阅读文档。今年感觉不同,速度提升了不少。以前访问 Eclipse 的官网总觉得它的语法和用词略显晦涩,今年感觉不同,阅读起来流畅了不少。是 Eclipse 越改越好了?还是我的英语水平提升了?废话少说,直接上图,在我的 Ubuntu 下,Eclipse界面看起来是这样的:

  有了自动提示功能,我们就再也不用去死记硬背 API 了,查文档的次数也可以大幅度减少,Eclipse 的自动提示是这样的:

  Java API 中的包太多太分散,没关系,知道类名就行了,Eclipse 自动导入 package 是这样的:

  Eclipse 中的 Type Hierarchy 功能挺不错。还记得上一篇 使用 SecurityManager 和 Policy File 管理 Java 程序的权限 吗?JDK 中的 Permissions 何其之多也,想看看究竟有哪些 Permission 可用吗?使用 Eclipse 就是这么方便,如下图:

IntelliJ IDEA,行业新宠

  IntelliJ IDEA 的官网是 www.jetbrains.com,访问速度也是很快的,直接到官网下载即可。这个公司很 NB 的,什么 WebStorm、PyCharm、RubyMine 全是它们的产品。IntelliJ IDEA 分 Community 版和 Ultimate 版,Community 版是不要钱的,而 Ultimate 版 $499,还是每年付费。先看一下它的界面,如下图:

  界面很漂亮啊。不过 IntelliJ IDEA 的 Type Hierarchy 功能比 Eclipse 隐藏得更深,需要先到 Navigate 菜单下找到相应的 Class, Type Hierarchy 才会显示它的信息,如下图:

  更改 IntelliJ IDEA 的 Theme 进入护眼模式,如下图:

  使用 IntelliJ IDEA 的 Community 版只能支持如下类型的项目:

  而使用 Ultimate 版,则可以支持这么多类型的项目:

  不过说实话,大部分我们用不到,哈哈哈哈.....,而且就算没有项目模板,我们也可以手动建立项目的目录和结构,或者使用 Maven 的 ArchType。但是,499刀绝对不是让客户扔到水里听响的,卖这么贵定有其值钱的地方,下面这功能 Community 版绝对没有:

  这上面的 UML 图是对 JAAS 中涉及到的接口和类的一个展示,它是通过 IntelliJ IDEA 的逆向工程自动生成的,我只把 LoginModel、Principal、CallbackHandler 接口以及 UnixLoginModel、KeystoreLoginModel、Subject、DialogCallbackHandler、TextCallbackHandler、UnixPrincipal、X500Principal类加入到该 UML 类图中,它就自动分析它们的实现、继承、依赖、关联、聚合等关系,并生成 UML 图,这个图是可以导出的。而 Community 版就没有这么好的功能了。

  IntelliJ IDEA Community 版也可以安装 PlantUML 插件,如下图:

  该插件的使用,如下图:

  但是这个插件只能算一个面向程序员的画图工具,可以通过相应的语句绘制 UML 图,没有任何前向工程和逆向工程的能力。另外, Community 版也不支持 JavaScript。Ultimate 版有30天的试用期,试用期内请尽情使用。

逐渐没落的 NetBeans

  很多年前,我还用过 NetBeans,也写了几篇博客,请戳这 NetBeans 与 J2ME。当时就觉得 NetBeans 的字体有点问题,这么多年了,它还是没有改,如下图:

  再看看编辑器,如下图:

  这字体,我是真的没法忍啊。记得多年前我还用 NetBeans 画过 UML 图,不过这功能现在也没了,完全没了。这可是 8.1 版啊,怎么完全没有进步啊,还倒退了不少,请看下图的安装插件的界面:

  这少得可怜的插件,还有无法显示的字体,有吐血的感觉没有?还有一个更让人吐血的,那就是 NetBeans 的官网 www.netbeans.org 慢得像乌龟啊,真想不通 Oracle 为什么将 NetBeans 当成 Java EE 的官方开发工具。

  总之,NetBeans 真的变成一个完全的垃圾了,有没有?博客园里面大神多,有 NetBeans 高手跳出来反驳吗?我是多么希望有人能跳出来打我的脸啊。我是多么希望是我没有用好这个工具啊,是多么希望 NetBeans 不是真的这么垃圾啊。

总结

  没什么总结,纯粹是体验一下几个主流的 Java IDE。私人观点,非喜勿喷,除了欢迎有人来为 NetBeans 正名,记得要有图有真相哦。

Java 开发主流 IDE 环境体验的更多相关文章

  1. Java开发和运行环境的搭建

    Java开发需要准备的东西? JDK+Eclipse 其中JDK的意思是Java开发工具包,Eclipse是进行用于做Java程序开发的工具(当然你也可以用记事本什么的去做). 其他开发工具:JCre ...

  2. 现在的企业用到的Java开发主流框架有哪些

    虽然Java一直被唱衰,但是直到现在Java软件开发也坚持霸主地位不动摇.毫无疑问,Java是目前最热门的编程语言之一.随着Java面向对象语言的流行以及多层架构应用的出现,使得应用程序的可复用性得到 ...

  3. 【Java】JAVA开发人员常见环境工具安装

    1.安装配置JDK1.7:jdk-7u45-windows-x64.exe,环境变量配置:JAVA_HOME---[F:\1024\jdk1.7],CLASSPATH---[.;%JAVA_HOME% ...

  4. java 开发常用IDE

    1.IntelliJ IDEA 2.eclipse 3.netbeans 这三个IDE都不错,据说IntelliJ IDEA最好,主要还是看个人喜好和需要.

  5. idea npm vue java开发工具安装 环境配置

    感谢此链接内容作者,从前往后流程较完整详细,助我成功配置好(不知道在这之前做的一些尝试有没有影响) https://blog.csdn.net/qq_42564846/article/details/ ...

  6. 如何在一台新电脑上配置JAVA开发环境

    对于JAVA新手来说,刚开始要学JAVA,而自己的电脑上毫无与JAVA开发有关的环境,应该如何进行配置呢? (安卓新手也需要JAVA开发环境) 第一步,下载.安装java JRE JRE (Java ...

  7. 配置Arcengine10.1+java开发环境(Eclipse)

    以下开发环境配置是假定用户已经安装了Java开发的IDE(Eclipse) 软件准备 (一)ArcEngine 10.1 安装包 提取码:poa0 (二)ArcGIS License Manager ...

  8. Win7 32位系统下Java开发环境的安装及配置

    目录: Java JDK安装. Java JDK系统环境的配置. 配置常见问题的解决. Java JDK的安装 Java Jdk(Java Development Kit)Java开发不可缺少的环境, ...

  9. Ubuntu搭建Java开发环境-刘志敏-专题视频课程

    Ubuntu搭建Java开发环境-3人已学习 课程介绍        主要介绍在Ubuntu环境如何安装Java开发的基本环境课程收益    学会Ubuntu中安装jdk.mysql.maven和id ...

随机推荐

  1. 使用CSS3实现一个3D相册

    CSS3系列我已经写过两篇文章,感兴趣的同学可以先看一下CSS3初体验之奇技淫巧,CSS3 3D立方体效果-transform也不过如此 第一篇主要列出了一些常用或经典的CSS3技巧和方法:第二篇是一 ...

  2. Content Security Policy 入门教程

    阮一峰文章:Content Security Policy 入门教程

  3. ASP.NET MVC5+EF6+EasyUI 后台管理系统(64)-补充WebApi与Unity注入-配置文件

    系列目录 上一篇演示了WebApi利用Unity注入 很多人问我如何用配置文件来配置注入,本节演示如何利用配置文件来注入,道理是一样的,跳转到上一节下载源码一起来动手! 1.打开源码定位到文件Depe ...

  4. JS判断鼠标进入容器方向的方法和分析window.open新窗口被拦截的问题

    1.鼠标进入容器方向的判定 判断鼠标从哪个方向进入元素容器是一个经常碰到的问题,如何来判断呢?首先想到的是:获取鼠标的位置,然后经过一大堆的if..else逻辑来确定.这样的做法比较繁琐,下面介绍两种 ...

  5. 你所能用到的BMP格式介绍

    原理篇: 一.编码的意义. 让我们从一个简单的问题开始,-2&-255(中间的操作符表示and的意思)的结果是多少,这个很简单的问题,但是能够写出解答过程的人并不 多.这个看起来和图片格式没有 ...

  6. PHP设计模式(五)建造者模式(Builder For PHP)

    建造者模式:将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示的设计模式. 设计场景: 有一个用户的UserInfo类,创建这个类,需要创建用户的姓名,年龄,爱好等信息,才能获得用 ...

  7. 微信小程序监控 - HotApp统计

    HotApp小程序统计,第一个专业的微信第三方小程序监控统计工具 1.什么是HotApp小程序统计 HotApp小程序统计是第一个微信第三方小程序统计工具,就像做android 和 ios开发的人知道 ...

  8. 初识git版本控制系统

    当下git分布式版本控制系统越来越火,掌握git也是必须的一个技能.因此,对git做了如下学习. Git初级指南 1. 先安装git.(ps:在select cmponents处要勾选Git Bash ...

  9. SQL-union

    集合运算符是对两个集合操作的,两个集合必须具有相同的列数,列具有相同的数据类型(至少能隐式转换的),最终输出的集合的列名由第一个集合的列名来确定.(可以用来连接多个结果)联合(union)与连接(jo ...

  10. sqlyog导出json数据格式支持mysql数据转存mongodb

    <!-------------知识的力量是无限的(当然肯定还有更简单的方法)-----------!> 当我考虑将省市区三级联动数据从mysql转入mongodb时遇到了网上无直接插入mo ...