Java 开发主流 IDE 环境体验
前言
本来应该继续从 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 环境体验的更多相关文章
- Java开发和运行环境的搭建
Java开发需要准备的东西? JDK+Eclipse 其中JDK的意思是Java开发工具包,Eclipse是进行用于做Java程序开发的工具(当然你也可以用记事本什么的去做). 其他开发工具:JCre ...
- 现在的企业用到的Java开发主流框架有哪些
虽然Java一直被唱衰,但是直到现在Java软件开发也坚持霸主地位不动摇.毫无疑问,Java是目前最热门的编程语言之一.随着Java面向对象语言的流行以及多层架构应用的出现,使得应用程序的可复用性得到 ...
- 【Java】JAVA开发人员常见环境工具安装
1.安装配置JDK1.7:jdk-7u45-windows-x64.exe,环境变量配置:JAVA_HOME---[F:\1024\jdk1.7],CLASSPATH---[.;%JAVA_HOME% ...
- java 开发常用IDE
1.IntelliJ IDEA 2.eclipse 3.netbeans 这三个IDE都不错,据说IntelliJ IDEA最好,主要还是看个人喜好和需要.
- idea npm vue java开发工具安装 环境配置
感谢此链接内容作者,从前往后流程较完整详细,助我成功配置好(不知道在这之前做的一些尝试有没有影响) https://blog.csdn.net/qq_42564846/article/details/ ...
- 如何在一台新电脑上配置JAVA开发环境
对于JAVA新手来说,刚开始要学JAVA,而自己的电脑上毫无与JAVA开发有关的环境,应该如何进行配置呢? (安卓新手也需要JAVA开发环境) 第一步,下载.安装java JRE JRE (Java ...
- 配置Arcengine10.1+java开发环境(Eclipse)
以下开发环境配置是假定用户已经安装了Java开发的IDE(Eclipse) 软件准备 (一)ArcEngine 10.1 安装包 提取码:poa0 (二)ArcGIS License Manager ...
- Win7 32位系统下Java开发环境的安装及配置
目录: Java JDK安装. Java JDK系统环境的配置. 配置常见问题的解决. Java JDK的安装 Java Jdk(Java Development Kit)Java开发不可缺少的环境, ...
- Ubuntu搭建Java开发环境-刘志敏-专题视频课程
Ubuntu搭建Java开发环境-3人已学习 课程介绍 主要介绍在Ubuntu环境如何安装Java开发的基本环境课程收益 学会Ubuntu中安装jdk.mysql.maven和id ...
随机推荐
- 前端网络、JavaScript优化以及开发小技巧
一.网络优化 YSlow有23条规则,中文可以参考这里.这几十条规则最主要是在做消除或减少不必要的网络延迟,将需要传输的数据压缩至最少. 1)合并压缩CSS.JavaScript.图片,静态资源CDN ...
- 简单入门canvas - 通过刮奖效果来学习
一 .前言 一直在做PC端的前端开发,从互联网到行业软件.最近发现移动端已经成为前端必备技能了,真是不能停止学习.HTML5新增的一些东西,canvas是用的比较多也比较复杂的一个,简单的入门了一下, ...
- HTML中上传与读取图片或文件(input file)----在路上(25)
input file相关知识简例 在此介绍的input file相关知识为: 上传照片及文件,其中包括单次上传.批量上传.删除照片.增加照片.读取图片.对上传的图片或文件的判断,比如限制图片的张数.限 ...
- 数据库的快照隔离级别(Snapshot Isolation)
隔离级别定义事务处理数据读取操作的隔离程度,在SQL Server中,隔离级别只会影响读操作申请的共享锁(Shared Lock),而不会影响写操作申请的互斥锁(Exclusive Lock),隔离级 ...
- [C#] 走进异步编程的世界 - 开始接触 async/await
走进异步编程的世界 - 开始接触 async/await 序 这是学习异步编程的入门篇. 涉及 C# 5.0 引入的 async/await,但在控制台输出示例时经常会采用 C# 6.0 的 $&qu ...
- 用C语言封装OC对象(耐心阅读,非常重要)
用C语言封装OC对象(耐心阅读,非常重要) 本文的主要内容来自这里 前言 做iOS开发的朋友,对OC肯定非常了解,那么大家有没有想过OC中NSInteger,NSObject,NSString这些对象 ...
- JS继承之借用构造函数继承和组合继承
根据少一点套路,多一点真诚这个原则,继续学习. 借用构造函数继承 在解决原型中包含引用类型值所带来问题的过程中,开发人员开始使用一种叫做借用构造函数(constructor stealing)的技术( ...
- spring boot 实战:我们的第一款开源软件
在信息爆炸时代,如何避免持续性信息过剩,使自己变得专注而不是被纷繁的信息所累?每天会看到各种各样的新闻,各种新潮的技术层出不穷,如何筛选出自己所关心的? 各位看官会想,我们是来看开源软件的,你给我扯什 ...
- 使用Hudson搭建自动构建服务器
环境: ubuntu1404_x64 说明: 使用hudson和git搭建自动构建服务器的简单示例 安装hudson及相关插件 安装hudson 安装命令如下: sudo sh -c "ec ...
- jQuery radio的取值与赋值
取值: $("input[name='radioName']:checked").val(); 赋值: $("input[name='radioName'][value= ...