前言

  本来应该继续从 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. 《Django By Example》第四章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:祝大家新年快乐,这次带来<D ...

  2. MVC5+EF6+MYSQl,使用codeFirst的数据迁移

    之前本人在用MVC4+EF5+MYSQL搭建自己的博客.地址:www.seesharply.com;遇到一个问题,就是采用ef的codefirst模式来编写程序,我们一般会在程序开发初期直接在glob ...

  3. ASP.NET MVC5+EF6+EasyUI 后台管理系统(74)-微信公众平台开发-自定义菜单

    系列目录 引言 1.如果不借用Senparc.Weixin SDK自定义菜单,编码起来,工作量是非常之大 2.但是借助SDK似乎一切都是简单得不要不要的 3.自定义菜单无需要建立数据库表 4.自定义菜 ...

  4. .NET Core的日志[3]:将日志写入Debug窗口

    定义在NuGet包"Microsoft.Extensions.Logging.Debug"中的DebugLogger会直接调用Debug的WriteLine方法来写入分发给它的日志 ...

  5. Python多线程爬虫爬取电影天堂资源

    最近花些时间学习了一下Python,并写了一个多线程的爬虫程序来获取电影天堂上资源的迅雷下载地址,代码已经上传到GitHub上了,需要的同学可以自行下载.刚开始学习python希望可以获得宝贵的意见. ...

  6. vs15 preview5 离线安装包

    1.介绍 vs15是微软打造的新一代IDE,全新的安装方式.官网介绍如下(https://blogs.msdn.microsoft.com/visualstudio/2016/10/05/announ ...

  7. MSYS2环境下编译X265

    HEVC(High Efficiency Video Coding),是一种新的视频压缩标准.可以替代H.264/ AVC编码,使得保持相同质量的情况下,体积减少40%左右.目前有多种实现版本,x26 ...

  8. iOS10之Expected App Behaviors

    昨天上架到appStore的时候碰到个问题,构建好后上传到itunesconnect的的包都用不了, 显示错误为:此构建版本无效. 或者英文显示为:ITC.apps.preReleaseBuild.e ...

  9. 使用Nginx反向代理 让IIS和Tomcat等多个站点一起飞

    使用Nginx 让IIS和Tomcat等多个站点一起飞 前言: 养成一个好习惯,解决一个什么问题之后就记下来,毕竟“好记性不如烂笔头”. 这样也能帮助更多的人 不是吗? 最近闲着没事儿瞎搞,自己在写一 ...

  10. 数据库 DML、DDL、DCL区别 .

    总体解释: DML(data manipulation language): 它们是SELECT.UPDATE.INSERT.DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的 ...