Java语言】【Java基础】java常用开发工具有哪些

2020-12-05 14:41发布

8条回答
爱梦 - 拿来吧你
2楼 · 2020-12-07 09:51

1、Eclipse

据数据显示很多Java开发人员的Java开发工具便是Eclipse,这主要得益于Eclipse是一个开源的、可以基于Java的可扩展开发平台。Eclipse本身而言,它只是一个框架和一组服务,但可以通过插件组件构建开发环境。

2、editplus

EditPlus是一款由韩国 Sangil Kim (ES-Computing)开发的编辑器,可以作为C,Java,Php等等语言的一个简单的IDE。EditPlus拥有无限制的撤消与重做、英文拼字检查、自动换行、列数标记、搜寻取代、同时编辑多文件、全屏幕浏览功能,也是一款常见的Java开发工具。

3、NetBeans

NetBeans提供了功能全面的阵列,如转换器,编辑器和代码分析器,使用这些工具可以帮助我们使用的Java技术实现应用程序。NetBeans工具范围相当广泛,是一款的Java开发工具。

4、Junit

Junit是一个可以帮助Java开发人员编写和运行测试的单元测试框架。JUnit和市场上其他类似的框架有着本质的区别。主要表现在你可以一次测试一个代码块,而不需要等待该模块在运行测试前完成。实际上是你可以“先测试,然后写代码”。

5、VisualVM

VisualVM也是一款使用较多的Java开发工具。它最主要的功能便是可以排查故障,可以使用VisualVM整合多命令行JDK工具。如jvmstat、JMX和Serviceability Agent(SA)中使用VisualVM。VisualVM最出名的是附加了API,以获得更多的数据,以及自动使用更快捷。


小磊子
3楼 · 2020-12-07 09:53

常用源码编辑工具介绍

Java 源代码本质上其实就是普通的文本文件,所以理论上来说任何可以编辑文本文件的编辑器都可以作为我们的 Java 代码编辑工具。比如:Windows 记事本,Mac OS X 下的文本编辑,Linux 下的 vi、emacs、gedit、DOS 下的 edit 等。但是这些简单工具没有语法的高亮提示、自动完成等功能,这些功能的缺失会大大降低代码的编写效率。

所以学习开发时一般我们不会选用这些简单文本编辑工具。我们一般会选用一些功能比较强大的类似记事本的工具,比如: Notepad++、Sublime Text、editplus、ultraedit、vim 等。下面我们分别具体介绍一下它们的优缺点,方便大家找到适合自己开发工具。

大家可以点击文中蓝色的工具名称,直接进入官网下载。

1)Notepad++

Notepad++ 是 Windows 操作系统下的一套文本编辑器,有完整的中文化接口及支持多国语言编写的功能(UTF8 技术)。

Notepad++ 优点:

  • 功能比 Windows 中的 Notepad(记事本)强大,除了可以用来制作一般的纯文字说明文件,也十分适合编写计算机程序代码。

  • 不仅有语法高亮度显示,也有语法折叠功能,并且支持宏以及扩充基本功能的外挂模组。

  • 是免费软件,可以免费使用,自带中文,支持所有主流的计算机程序语言。


Notepad++ 缺点:

  • 比起专用的 IDE 缺少语法检查,颜色选取,代码的 outline,注释的解析,TODO,调试工具集成,部署工具集成等等好多功能。

  • 打开大文件比较慢


Java开发工具Notepad++
Notepad++

2)EditPlus

EditPlus 是一款由韩国 Sangil Kim (ES-Computing)出品的小巧但是功能强大的可处理文本、HTML 和程序语言的 Windows 编辑器,甚至可以通过设置用户工具将其作为 C,Java,Php 等等语言的一个简单的 IDE。

EditPlus 优点:

  • EditPlus 界面简洁美观,且启动速度快。

  • 对中文支持比较好。

  • 支持多种日期、时间输入;支持语法高亮;支持代码折叠;支持代码自动完成。

  • 配置功能强大,且比较容易,扩展也比较强。

  • 适合编辑网页。


EditPlus 缺点:

  • 不支持代码提示功能。

  • 不免费,收费单位美元,注册费用高

  • 功能较简单。

  • 版本更新比较慢。

Java开发工具EditPlus
EditPlus

3)UltraEdit

UltraEdit 是一套功能强大的文本编辑器,可以编辑文本、十六进制、ASCII 码,完全可以取代记事本,它是一款需要花费 49.95 美元的共享软件。

UltraEdit 优点:

  • 提供了友好界面的编程编辑器,支持语法高亮,代码折叠和宏。

  • 内置了对于 HTML、PHP 和 JavaScript 等语法的支持,可同时编辑多个文件,而且即使开启很大的文件速度也不会慢。


UltraEdit 缺点:

  • 启动速度较慢。

  • 默认的设置中不支持 Pascal 语言。

  • 对中文支持不是很好。

Java开发工具ultraedit
UltraEdit

4)Sublime Text

Sublime Text 是由程序员 Jon Skinner 于 2008 年 1 月份所开发出来,它最初被设计为一个具有丰富扩展功能的 Vim。

它是一款收费软件,但是可以无限期试用,它是一个跨平台的编辑器,同时支持 Windows、Linux、Mac OS X 等操作系统。

Sublime Text 优点:

  • 主流前端开发编辑器

  • 体积较小,运行速度快

  • 文本功能强大

  • 支持编译功能且可在控制台看到输出


Sublime Text
Sublime Text

5)Vim

Vim 是从 Vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。是 Unix 系统用户最喜欢的文本编辑器。

Vim 优点:

  • 支持多种操作系统

  • 打开大文件速度较快,在大文件中查找的速度也非常快。

  • 免费,开源

  • 有搜索高亮功能

  • 支持多中编辑语言

  • 功能强大


Vim 缺点:

  • 比较难学

  • 虽然有菜单,但 Windows 用户第一次上手会很难

  • 界面不太好看

  • 键盘命令多,必须长期使用才能熟练。


Java开发工具vim
Vim

集成开发工具介绍

Java 初学者为了能更好的掌握 Java 代码的编写,我们一般会选用一款高级记事本类的工具作为开发工具, 而实际项目开发时,更多的还是选用集成 IDE 做为开发工具,比如当下最流行的两款工具:Eclipse、IDEA。

所谓集成 IDE 就是把代码的编写、调试、编译、执行都集成到一个工具中了,不用单独在为每个环节使用工具。

1)Eclipse IDE

Eclipse 是一个开放源码的项目,是著名的跨平台的自由集成开发环境(IDE),最初主要用来 Java 语言开发,后来通过安装不同的插件 Eclipse 可以支持不同的计算机语言,比如 C++ 和 Python 等开发工具。

Eclipse 优点:

  • 能提供关于代码完成、重构和语法检查这些急需的帮助。

  • 能提供 JDT 的一系列工具,包括各种插件工具来帮助开发各种 Java 应用。

  • 允许开发人员使用不同的语言支持,如它也可以提供 C/C++ 和 PHP 的 IDE。这使得它成为了 Java 开发的一个一站式资源。

  • Eclipse 是免费的,这点很重要,所以大多公司里依然是使用 Eclipse 这款 IDE,而且它良好的性能,也在市场占着不小的比重。


Eclipse 缺点:

  • 版本间不兼容,特别是插件,在一个版本下可以很好工作,在另一个版本下就完全无法工作,就算两个版本的版本号只有微小的差异。

  • 与 JDK 捆绑过于紧密。当 JDK 新的版本出来后,Eclipse 一般要滞后很长一段时间才有一个新版本支持新的 JDK,然后等各个插件能在新版本的 Eclipse 下使用又要过很长时间。


Java开发工具Eclipse
图 2  Eclipse

2)MyEclipse

MyEclipse 是同 Eclipse 一个公司的,在功能上增加了不少,相对于 Eclipse 来说,MyEclipse 更像将 Eclipse 中好多插件都集成起来了,当然,性能上面也有更好的考虑,不过这款 IDE 是收费的。

因 MyEclipse 属于收费软件,所以大公司很少使用。

Java开发工具MyEclipse
图 3  MyEclipse

3)Intellij IDEA

Intellij IDEA 简称 IDEA,具有美观,高效等众多特点。IDEA 是 JetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。它的旗舰版本还支持 HTML,CSS,PHP,MySQL,Python 等。免费版只支持 Java 等少数语言。

据传它有“最智慧的 Java ide”之称。它能帮助开发人员拿出最具有创造性的解决方案。它的“Smart Code Completion”和“On-the-fly Code Analysis”功能等可以提高开发人员的工作效率,并且还提供了对 web 和移动开发高级支持。

IDEA 缺点:

  • 编辑超大文件不靠谱,易卡顿或直接卡死。

  • 相对于一些专用工具,显得不够专业:比如批量修改项目中的文件编码效果就很差劲。

  • 消耗大量硬件资源,IntelliJ IDEA 要求内存大,并且还要用的流畅还需要固态硬盘辅助。比如在做微服务类的项目的时候,一般需要同时启动多个项目,内存一会就上来的,8G 内存完全不够用的。


Java开发工具Intellij IDEA
图 4  Intellij IDEA

4)NetBeans

NetBeans 是业界第一款支持创新型 Java 开发的开放源码 IDE。开发人员可以利用业界强大的开发工具来构建桌面、Web 或移动应用。同时,通过 NetBeans 和开放的 API 的模块化结构,第三方能够非常轻松地扩展或集成 NetBeans 平台。 

NetBeans IDE 目前支持 PHP、Ruby、JavaScript、Ajax、Groovy、Grails 和 C/C ++ 等开发语言。

NetBeans 是甲骨文公司生产的 IDE,在其中也内置了许多功能,相对于 idea 和 Eclipse 市场还是较少的。

NetBeans 提供了功能全面的阵列。如转换器,编辑器和代码分析器,这些工具可以帮助你使用最新的 Java 技术实现应用程序。工具范围相当广泛,而且 IDE 背后的团队也在不断地改进。此外你还可以得到静态分析工具的帮助——编写出无 bug 的代码。

Java开发工具NetBeans
图 5  NetBeans


在使用这些开发工具之前,我们最好能熟知这些软件的优点和缺点,以便根据实际情况选择应用。编程工具只是工具,为了方便人们工作而开发的,各有特点,因此,选工具主要的依据自己将要从事的领域是什么,而不是盲目的认为那种工具好,那种工具不好。看完这篇文章后希望大家都能找到自己合适的 Java 开发工具。


魏魏姐
4楼 · 2020-12-07 10:35

 一、Eclipse

  Eclipse做为一款开发源代码的Java扩展性开发平台,是行业内半数Java开发人员都会选择的开发工具。Eclipse的基本工作流程包括:工作台、工作空间和视角三个方面。Eclipse不仅能够给Java程序员提供关于代码完成、重构和语法检查等帮助,而且使用起来灵活、方便利用各种Eclipse包含的各种插件工具开发各种Java应用。

  二、IDEA

  DEA是业内被认为最好的Java开发工具之一。作为一款综合的Java编程环境,IDEA提供了一系列具有实用性的工具组合,可支持Ant、GIT、JUnit、J2EE、SVN等集成,还可以实现智能编码辅助、自动控制。从开发效率和运行速度方面来讲,IDEA完美的将Java程序员从费事耗力的常规工作中解放出来。

  三、Git

  作为一款免费、开源的分布版式控制系统,Git可用来处理任何大小项目,且能够达到快速、高效标准。Git通常被分为两个类型的标签,一个是“轻标签”另一个是“署名标签”。“轻标签”类似于一个分支,运用起来十分简单。而“署名标签”作为一个真正的git对象,既包含想要标记状态的指针,而且还具有标记名和信息,以及可选择的PGP签名。

  四、FindBugs

  FindBugs的主要作用是分析Java代码中的问题,Java开发者可以毫不费劲的找到代码中存在的缺陷。可以说,是一款必不可少的静态扫码工具。需要注意的是,FindBugs仅仅是一个工具,作为一名优秀的Java开发人员不可过度依赖FindBugs,要在编程过程中尽量避免bug的出现。、

  五、Jcreator

  Jcreator是专注于Java程序设计的集成式开发环境。具有小巧、易用、美观等优点,是适合Java初学者的IDE。不仅可以支持JSP、Ant、CVS,还可以进行无限撤销、自动类库方法提示、代码缩进等功能。

  六、Navicat

  Navicat是Java程序员必备的工作伙伴,能够有力的简化数据库的管控、降低数据库成本,使用户界面更加直觉化。此外快速高效、价格便宜是Navicat的另一优势。也正因为这些优势,受到世界各大企业、政府、教育机构的喜爱。

  七、UItraEdit

  UltraEdit是初学者们非常喜爱的一款开发工具。可以为Java、C/C++、VB、HTML、Perl进行语法着色。它不仅具有查找、替换、复制、粘贴、剪切、格式控制等编辑功能,而且可以配合Java的编辑器和解释器,直接进行Java程序的编辑和运行。


flame
5楼 · 2020-12-07 11:36

常用的工具有:

Eclipse 据数据显示很多Java开发bai人员的Java开发工具便是Eclipse,这主要得益于Eclipse是一个开源的、可以基于Java的可扩展开发平台。Eclipse本身而言,它只是一个框架和一组服务,但可以通过插件组件构建开发环境。

editplus EditPlus是一款由韩国 Sangil Kim (ES-Computing)开发的编辑器,可以作为C,Java,Php等等语言的一个简单的IDE。EditPlus拥有无限制的撤消与重做、英文拼字检查、自动换行、列数标记、搜寻取代、同时编辑多文件、全屏幕浏览功能,也是一款常见的Java开发工具。

NetBeans NetBeans提供了功能全面的阵列,如转换器,编辑器和代码分析器,使用这些工具可以帮助我们使用的Java技术实现应用程序。NetBeans工具范围相当广泛,是一款的Java开发工具。

Junit Junit是一个可以帮助Java开发人员编写和运行测试的单元测试框架。JUnit和市场上其他类似的框架有着本质的区别。主要表现在你可以一次测试一个代码块,而不需要等待该模块在运行测试前完成。实际上是你可以“先测试,然后写代码”

VisualVM VisualVM也是一款使用较多的Java开发工具。它最主要的功能便是可以排查故障,可以使用VisualVM整合多命令行JDK工具。如jvmstat、JMX和Serviceability Agent(SA)中使用VisualVM。VisualVM最出名的是附加了API,以获得更多的数据,以及自动使用更快捷。

Gradle Gradle是一个自动化项目工具,是建立在Apache Maven和Apache Ant的功能上。虽然Gradle并不是的构建工具(的是Maven,64%的Java开发人员会选择它),但它的普及速度很快。它同时也可作为默认的Android构建开发工具。

SparkJava SparkJava是一款体形轻巧,功能强大的Web应用框架。Spark可以通过一些繁琐的XML配置来使用Spark框架编写应用程序。能让我们花最少的精力来开发Java的Web应用程序。是一款的Java web开发工具。

Clover Clover主要用于代码覆盖,可以帮助用于测试应用程序的代码。我们可以在IDE或持续集成系统中运行Clover。能够让测试的运行速度更快。是Java开发测试必不可少的工具之一。


楠楠楠楠
6楼 · 2020-12-07 13:42

写代码的工具有Eclipse,IDEA 数据库管理工具有Sqlyog,Navicat,Redis图形化工具RedisManager,接口测试工具Postman,还有powerDesigner等其他工具

寂静的枫林
7楼 · 2020-12-08 09:19

Intellij IDEA是当前Java开发人员呼声很高的一款IDE,具有美观,高效等众多特点;JDK是java环境安装后的产物,可以对java程序进行编译,通过记事本等文本编辑器编写的java文件均可以进行编译;Eclipse是免费的,这点很重要,所以大多公司里依然是使用eclipse这款IDE

布啦啦
8楼 · 2020-12-08 09:34

Eclipse\editplus\NetBeans\Junit...

py大白
9楼 · 2020-12-09 09:20

1、Eclipse

据数据显示很多Java开发人员的Java开发工具便是Eclipse,这主要得益于Eclipse是一个开源的、可以基于Java的可扩展开发平台。Eclipse本身而言,它只是一个框架和一组服务,但可以通过插件组件构建开发环境。

2、editplus

EditPlus是一款由韩国 Sangil Kim (ES-Computing)开发的编辑器,可以作为C,Java,Php等等语言的一个简单的IDE。EditPlus拥有无限制的撤消与重做、英文拼字检查、自动换行、列数标记、搜寻取代、同时编辑多文件、全屏幕浏览功能,也是一款常见的Java开发工具。

3、NetBeans

NetBeans提供了功能全面的阵列,如转换器,编辑器和代码分析器,使用这些工具可以帮助我们使用的Java技术实现应用程序。NetBeans工具范围相当广泛,是一款的Java开发工具。

4、Junit

Junit是一个可以帮助Java开发人员编写和运行测试的单元测试框架。JUnit和市场上其他类似的框架有着本质的区别。主要表现在你可以一次测试一个代码块,而不需要等待该模块在运行测试前完成。实际上是你可以“先测试,然后写代码”。

5、VisualVM

VisualVM也是一款使用较多的Java开发工具。它最主要的功能便是可以排查故障,可以使用VisualVM整合多命令行JDK工具。如jvmstat、JMX和Serviceability Agent(SA)中使用VisualVM。VisualVM最出名的是附加了API,以获得更多的数据,以及自动使用更快捷。


相关问题推荐

  • 回答 7
    已采纳

    里氏代换原则(Liskov Substitution Principle, LSP):所有引用基类(父类)的地方必须能透明地使用其子类的对象里氏代换原则告诉我们,在软件中将一个基类对象替换成它的子类对象,程序将不会产生任何错误和异常,反过来则不成立,如果一个软件实体使用的是一...

  • 回答 8
    已采纳

    心里有个预期,然后看看是以什么目的进这家企业工作,要是赚钱的话,那就多要点,要是学习的话,可以根据情况要一个能养活自己的价格。

  • 回答 4
    已采纳

    Java中有八种数据类型,基础数据类型分别是:byte,short,int,long,float,double,char,boolean,引用数据类型分别是:数组,类和接口。方法传参的时候我们有两种,一种是形式参数(定义方法时写的参数),一种是实际参数(调用方法时给的具体值)。首先...

  • 回答 15
    已采纳

    现在的架构很多,各种各样的,如高并发架构、异地多活架构、容器化架构、微服务架构、高可用架构、弹性化架构等,还有和这些架构相关的管理型的技术方法,如 DevOps、应用监控、自动化运维、SOA 服务治理、去 IOE 等等,还有很多。分布式架构其实就是分布式系...

  • 回答 10

    1、监控GC的状态使用各种JVM工具,查看当前日志,分析JVM参数的设置,分析堆内存快照和GC日志,根据实际的各区域的内存划分和GC的执行时间,判断是否需要进行优化2、分析结果、判断是否需要优化如果各项参数设置合理,系统没有超时的日志出现,GC频率也不高,...

  • 回答 6

    MyBatis 每次创建结果对象的新实例时,它都会使用一个对象工厂(ObjectFactory)实例来完成。 默认的对象工厂需要做的仅仅是实例化目标类,要么通过默认构造方法,要么在参数映射存在的时候通过参数构造方法来实例化。 如果想覆盖对象工厂的默认行为,则可以...

  • 回答 6

    学vue应该要先学习javascript 的基础知识和用法。

  • 回答 8

    1、lambda是jdk8的新特性2、使用lambda的前提,必须是一个接口,接口只能有一个抽象方法3、Lambda 表达式的简单例子:// 1. 不需要参数,返回值为 5  () -> 5    // 2. 接收一个参数(数字类型),返回其2倍的值  x -> 2 * x    // 3. 接受2个参数(数...

  • 回答 5

    你没有把jdk配置到eclipse里,步骤如下:打开eclipse,菜单栏找到window -> preference -> java -> install jres -> add -> standard vm -> 设置好相应的jre home就可以了。

  • 回答 8

    使用场景:常规key-value缓存应用。常规计数: 微博数, 粉丝数。实现方式:String在redis内部存储默认就是一个字符串,被redisObject所引用,当遇到incr,decr等操作时会转成数值型进行计算,此时redisObject的encoding字段为int。...

  • 回答 11

    1. 区别:堆和栈区别堆:主要用于储存实例化的对象,数组。由JVM动态分配内存空间。一个JVM只有一个堆内存,线程是可以共享数据的。栈:主要用于储存局部变量和对象的引用变量,每个线程都会有一个独立的栈空间,所以线程之间是不共享数据的。2. 堆内存和栈内...

  • 回答 18

    至少h5、CSS、JS,包括数据库连接技术,ajax都要会哦

  • 回答 7

    对于一个秒杀系统来说,瞬时的大量请求会对后台服务造成冲击,需要保证服务的可用性以及业务的正确性。设计了一个高并发高可用的系统简要流程架构如下图:1.将商品(或券)的信息等静态数据放到cdn节点,实现动静分离2.业务请求和业务处理之间使用MQ对请求进行削...

  • 回答 16

    为了避免上面出现的几种情况,在标准SQL规范中,定义了4个事务隔离级别,不同的隔离级别对事务的处理不同。未授权读取(Read Uncommitted):允许脏读取,但不允许更新丢失。如果一个事务已经开始写数据,则另外一个数据则不允许同时进行写操作,但允许其他事...

  • 回答 10

    封装就是把抽象出来的JAVA类的变量和方法集成为一个集体,就像集成电路元件成为一个独立的芯片一样,它只留出对外的接口,使用者可以直接使用它,但看不到其内部是怎样实现的,JAVA类的封装就是对外而言能直接使用它来定义的对象去调用相关变量和方法。...

  • 回答 4

    1. java.awt:提供了绘图和图像类,主要用于编写GUI程序,包括按钮、标签等常用组件以及相应的事件类。2. java.lang:java的语言包,是核心包,默认导入到用户程序,包中有object类,数据类型包装类,数学类,字符串类,系统和运行时类,操作类,线程类,错...

没有解决我的问题,去提问