前言

  本来应该继续从 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. opencv在图像显示中文

    在图像定位和模式识别时,经常需要把结果标注到图片上,标注内容可以是数字字母.矩形框等(opencv支持的)或者是中文汉字(借助freetype). 1.显示数字/矩形框 #include <op ...

  2. 从0开始搭建SQL Server AlwaysOn 第四篇(配置异地机房节点)

    从0开始搭建SQL Server AlwaysOn 第四篇(配置异地机房节点) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...

  3. Swift与C#的基础语法比较

    背景: 这两天不小心看了一下Swift的基础语法,感觉既然看了,还是写一下笔记,留个痕迹~ 总体而言,感觉Swift是一种前后端多种语言混合的产物~~~ 做为一名.NET阵营人士,少少多多总喜欢通过对 ...

  4. [转]利用URLConnection来发送POST和GET请求

    URL的openConnection()方法将返回一个URLConnection对象,该对象表示应用程序和 URL 之间的通信链接.程序可以通过URLConnection实例向该URL发送请求.读取U ...

  5. Opserver开源的服务器监控系统(ASP.NET)

    Opserver是Stack Exchange下的一个开源监控系统,系统本身由C#语言开发的ASP.NET(MVC)应用程序,无需任何复杂的应用配置,入门很快.下载地址:https://github. ...

  6. iOS从零开始学习直播之2.采集

      直播的采集由采集的设备(摄像头.话筒)不同分为视频采集和音频采集,本篇文章会分别介绍. 1.采集步骤   1.创建捕捉会话(AVCaptureSession),iOS调用相机和话筒之前都需要创建捕 ...

  7. Atitit  godaddy 文件权限 root权限设置

    Atitit  godaddy 文件权限 root权限设置 1. ubuntu需要先登录,再su切换到root1 2. sudo 授权许可使用的su,也是受限制的su1 3. ubuntu默认吗roo ...

  8. 如何编译Zookeeper源码

    1. 安装Ant Ant下载地址:http://ant.apache.org/bindownload.cgi 解压即可. 2. 下载Zookeeper源码包 https://github.com/ap ...

  9. .Net 初步学习笔记之一——.Net 平台与.Net FrameWork框架的关系

    .Net 包含两部分 .Net平台 和.Net FrameWork 框架 1..Net FrameWork框架包含于.Net平台. .Net FrameWork提供环境和支撑保证.Net平台运行. 2 ...

  10. PHP 数组浅析

    PHP的数组具有如下特点:1.数组初始化时无需指定长度:2.数组中的元素无需相同类型:3.数组的长度可变4.可使用var_dump(参数)或者print_r(  参数) 函数查看数组变量.5.数组内的 ...