跟老杨学java系列(四) java经常使用开发工具介绍

跟老杨学java系列(四) java经常使用开发工具介绍

声明:转载请注明做者出处,欢迎你们留言探讨技术问题。其余问题概不回复。前端

       (书接上回)上节课咱们简单介绍了java语言的发展历史、版本历史以及java语言的特色、应用领域等。这节课咱们来介绍java经常使用的开发工具。都说工欲善其事必先利其器,要想学好java这门语言,选择一款好用顺手的开发工具是必不可少的。另外面试java工做时开发工具的使用也是一个重要的考核点。因此这节课你们要好好学习。我会尽可能介绍全面一些。让你们对经常使用的工具都能有些简单的了解。java

要想全面了解java开发工具,咱们首先须要先了解一下java程序的开发过程,经过这个过程咱们可以了解到java开发都须要用到那些工具。

首先咱们先了解完整项目开发过程,如图所示:git

 

 

从上图中咱们能看到一个完整的java项目的开发包括不少的环节,每一个环节都须要用到不一样的开发工具。在实际java项目开发中,通常每一个环节都有专门的人负责。好比:原型的设计有产品经理负责。界面的美化有专门的美工负责。前端有专门的前端开发人员负责。咱们的课程中主要涉及的是研发这个环节。而研发主要工做就是根据项目的需求文档设计系统架构、设计数据库、编写调试程序代码。对于普通的码农来讲,主要的就是编写和调试程序。程序员

从上图中咱们能够看到:github

一、要想编写程序,须要一个能编写源代码的编辑工具。例如:Notepad++; 二、要想测试程序,须要一个编译、执行工具。例如:JDK; 三、要想单独测试一个单元,须要一个单元测试工具。例如:JUnit、TestNG; 四、要想编写开发文档,须要开发文档编辑工具。例如:word、Excel、PPT; 五、要想分析设计程序,须要程序的分析设计工具。例如:StarUML; 六、要想方便管理源码和版本升级,须要源码管理和版本维护工具。例如:SVN,Git; 七、要想多个团队协做开发或者项目用到不少的第三方类库和Jar包。须要自动化构建工具。例如:Maven、gradle; 八、要想在一个工具中使用以上全部功能,须要用到集成开发工具IDE。例如:Eclipse;面试

你们看到这么多工具是否是很头疼。哈哈:) 因此说java开发入门门槛有点高。不要紧。后面的课程我会一个一个逐步给你们详细介绍。 下面咱们先简单了解一下这些java开发经常使用工具。数据库

1、java初学者经常使用源码编辑工具介绍

java源代码本质上其实就是普通的文本文件,因此理论上来讲任何能够编辑文本文件的编辑器均可以做为咱们的java代码编辑工具。好比:WINDOWS记事本、写字板、word等。可是这些简单工具没有语法的高亮提示、自动完成等功能,这些功能的缺失会大大下降代码的编写效率。因此学习开发时通常咱们不会选用这些简单文本编辑工具。咱们通常会选用一些功能比较强大的相似记事本的工具,好比: Notepad++、Sublime Text、editplus、ultraedit、vim等,具体介绍以下:编程

Notepad++

Notepad++是 Windows操做系统下的一套文本编辑器(软件版权许可证: GPL),有完整的中文化接口及支持多国语言编写的功能(UTF8技术)。Notepad++功能比 Windows 中的 Notepad(记事本)强大,除了能够用来制做通常的纯文字说明文件,也十分适合编写计算机程序代码。Notepad++ 不只有语法高亮度显示,也有语法折叠功能,而且支持宏以及扩充基本功能的外挂模组。Notepad++是免费软件,能够无偿使用,自带中文,支持全部主流的计算机程序语言。vim

editplus

 

EditPlus是一款由韩国 Sangil Kim (ES-Computing)出品的小巧可是功能强大的可处理文本、HTML和程序语言的Windows编辑器,你甚至能够经过设置用户工具将其做为C,Java,Php等等语言的一个简单的IDE。EditPlus功能强大,界面简洁美观,且启动速度快;中文支持比较好;支持语法高亮;支持代码折叠;支持代码自动完成(但其功能比较弱),不支持代码提示功能;配置功能强大,且比较容易,扩展也比较强。windows

ultraedit

 

UltraEdit 是一套功能强大的文本编辑器,能够编辑文本、十六进制、ASCII 码,彻底能够取代记事本,它是一款须要花费49.95美圆的共享软件,它提供了友好界面的编程编辑器,支持语法高亮,代码折叠和宏,以及一大堆其余的功能,内置了对于HTML、PHP和JavaScript等语法的支持,可同时编辑多个文件,并且即便开启很大的文件速度也不会慢。由于收费它的流行程度不及以上两款软件。可是用它编辑十六进制时很是好用。另外在国内是否收费对咱们影响不大:)。

Sublime Text

Sublime Text是由程序员Jon Skinner于2008年1月份所开发出来,它最初被设计为一个具备丰富扩展功能的Vim。它是一款收费软件,可是能够无限期试用,它是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操做系统,Sublime Text具备漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。它目前很是流行的一款编辑器,特别是前端开发,基本成了标配。

vim

 

im是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被普遍使用,和Emacs并列成为类Unix系统用户最喜欢的文本编辑器。目前Vim已经有各主流系统的版本,但由于学习入门难度比较大,所以在windows平台一直没有流行起来。可是在类Unix系统很是流行。尽管vim较vi已经改良了很多,可是初次使用仍是会一头雾水,不知如何操做,因此学习vim要首先过2关。第一关是理解vim的设计思路,vim设计之初就是整个文本编辑都用键盘而非鼠标来完成,键盘上几乎每一个键都有固定的用法。第二关是命令关,vim有过百条命令对应编辑的须要,若是能熟练使用vim这些命令,编辑速度会比鼠标要快不少。

2、java编译执行工具介绍

以上工具的主要功能是编写java源代码,要想编译、执行编写的java代码,咱们还须要一个编译和执行的工具。也就是java官方提供的JDK(Java Development Kit),也叫java开发工具包。关于JDK的安装与配置。咱们下一节专门讲解。在这咱们简单了解一下就好了。

JDK

JDK是 Java 语言的软件开发工具包,JDK是整个java开发的核心,它包含了JAVA的运行环境,JAVA工具和JAVA基础的类库等。当咱们编写好java源码后,使用JDK提供的java工具来编译、执行java程序。因此要作java开发,首先就是要在开发电脑上安装JDK。下节课咱们专门介绍JDK的安装与配置。

3、java单元测试工具介绍

单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。一般而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为是否合理正确。例如:是在现实世界中,某公司为神州十一号生产了一个零件,必需要单独测试这个零件是否有问题。若是单个零件都不测试。等到都集成到产品中之后再测试。遇到问题每每会找不到缘由出在那里,会形成很是大的损失。因此要把全部问题在零件集成到产品之前就解决。这就是单元测试。

JUnit

JUnit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma创建,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个。 JUnit有它本身的JUnit扩展生态圈。多数Java的开发环境都已经集成了JUnit做为单元测试的工具。JUnit是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing framework)。Junit测试是程序员测试,即所谓白盒测试,由于程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit是一套框架,继承TestCase类,就能够用Junit进行自动测试了。

TestNG

 

TestNG即Testing, Next Generation,下一代测试技术,它是一个测试 Java 应用程序的新框架。是一套根据JUnit 和NUnit思想而构建的利用注解来强化测试功能的一个测试框架,便可以用来作单元测试,也能够用来作集成测试。TestNG 不只确实强大、创新、可扩展、灵活。TestNG是一个设计用来简化普遍的测试需求的测试框架。因为设计目标的不一样,对比junit的只适合用于单元测试,TestNG无疑走的更远。

4、java源码管理与版本控制工具

java项目通常都是团队开发,当多人共同编写一个项目的时候。代码的整合就须要用到专门的源码管理工具了。另外java项目版本的不断更新,也须要版本的管理。因此源码管理与版本控制工具也是每一个java程序员必需要熟练掌握的。目前比较流行的java版本控制工具主要有svn、git这两款软件。这两种工具也是每一个java程序员必需要熟练掌握的。本节咱们只是简单介绍一下,后面的课程咱们会拿出专门的一节来说解这些工具的具体使用。

SVN

SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上不少版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多我的共同开发同一个项目,共用资源的目的。SVN的缺陷是过度依赖网络,不适合分布式开发。使用svn的工做流程以下:一、早上从从服务器下载项目组最新代码。二、进入本身的分支,进行工做,每隔一个小时向服务器本身的分支提交一次代码(不少人都有这个习惯。由于有时候本身对代码改来改去,最后又想还原到前一个小时的版本,或者看看前一个小时本身修改了哪些代码,就须要这样作了)。三、下班时间快到了,把本身的分支合并到服务器主分支上,一天的工做完成,并反映给服务器。

Git

Git是一个开源的分布式版本控制系统,能够有效、高速的处理从很小到很是大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。与经常使用的版本控制工具 CVS, Subversion 等不一样,它采用了分布式版本库的方式,没必要服务器端软件支持(ps:这得分是用什么样的服务端,使用http协议或者git协议等不太同样。而且在push和pull的时候和服务器端仍是有交互的。),使源代码的发布和交流极其方便,目前GIT已经能够在windows下使用,主要方法有二:msysgit和Cygwin。Cygwin和Linux使用方法相似,Windows版本的GIT提供了友好的GUI(图形界面),安装后很快能够上手使用。

5、自动化构建工具

一个大型的java项目的开发每每须要加载不少的各式各样的第三方jar包依赖,这时就须要专门工具来维护这些繁杂的jar包,不然各个jar包的版本问题,依赖问题会让你头很大,当多个团队协做开发时,项目的标准框架配置也须要可以快速在不一样团队之间复制,另外项目从建立、开发、测试、发布的整个项目生命周期也须要专门的工具来维护。自动化构建工具就是为了解决以上这些问题的。目前比较主流的自动化构建工具主要有:Maven、gradle、Ant等。其中Ant已经走下坡路,除了维护之前的老项目之外,已经基本没有公司用了。过去几年中Maven已经成为java项目的事实构建工具,没有之一。而近两年Gradle得到愈来愈多的人使用,分走了很多Maven的用户。在这咱们主要了解一下Maven和gradle。

Maven

 

 

Maven是一个采用纯Java编写的开源项目管理工具。它包含了一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。Maven采用了一种被称之为project object model (POM)概念来管理项目,全部的项目配置信息都被定义在一个叫作POM.xml的文件中,经过该文件,Maven能够管理项目的整个生命周期,包括编译,构建,测试,发布,报告等等。

gradle

Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各类繁琐配置。面向Java应用为主。当前其支持的语言限于Java、Groovy和Scala,计划将来将支持更多的语言。和Maven同样,Gradle只是提供了构建项目的一个框架,真正起做用的是Plugin。Gradle在默认状况下为咱们提供了许多经常使用的Plugin,其中包括有构建Java项目的Plugin,还有War,Ear等。与Maven不一样的是,Gradle不提供内建的项目生命周期管理,只是java Plugin向Project中添加了许多Task,这些Task依次执行,为咱们营造了一种如同Maven般项目构建周期。

6、java集成开发工具介绍

初学java为了能更好的掌握java代码的编写,咱们通常会选用一款高级记事本类的工具做为开发工具, 而实际项目开发时,更多的仍是选用集成IDE作为开发工具,好比当下最流行的两款工具:Eclipse、IDEA,所谓集成IDE就是把代码的编写、调试、编译、执行都集成到一个工具中了,不用单独在为每一个环节使用工具。对于这两款软件近些年广大网友一直有争议。有说IDEA最流行的,也有说eclipse最流行的。实际状况估计没人能说的清。你们在学习的时候,这两款软件都尝试使用使用吧。具体介绍以下:

Eclipse

 

Eclipse是一个开放源码的项目,是著名的跨平台的自由集成开发环境(IDE),最初主要用来Java语言开发,后来经过安装不一样的插件Eclipse能够支持不一样的计算机语言,好比C++和Python等开发工具。Eclipse的自己只是一个框架平台,可是众多插件的支持使得Eclipse拥有其余功能相对固定的IDE软件很难具备的灵活性。许多软件开发商以Eclipse为框架开发本身的IDE。目前最新版本已经到了4.5版,代号为Mars。基于Eclipse平台开发并集成了不少插件的myeclipse也有不少人在使用。但因myeclipse属于收费软件,因此大公司不多使用。

IDEA

 

 

IDEA 全称 IntelliJ IDEA,是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤为在智能代码助手、代码自动提示、重构、J2EE支持、各种版本工具(git、svn、github等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能能够说是超常的。IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。它的旗舰版本还支持HTML,CSS,PHP,MySQL,Python等。免费版只支持Java等少数语言。

7、java项目分析与设计工具介绍

因为面向对象技术的发展,传统的java项目的开发过程须要作不少的面向对象的分析和设计。整个分析和设计过程当中,须要专业的工具来描述和记录分析设计的结果。也须要专门的工具来协助理清分析的思路,UML就是这样的工具。

UML的全称是,统一建模语言(UML,UnifiedModelingLanguage),它是面向对象软件的标准化建模语言。UML因其简单、统一的特色,并且能表达软件设计中的动态和静态信息,目前已成为可视化建模语言的工业标准。在软件开发过程当中,统一建模语言能够在整个设计周期中使用,帮助设计者缩短设计时间,减小改进的成本,使软硬件分割最优。

须要注意的是:在如今流行的敏捷开发中。UML的地位远不如之前重要了。另外数据库的分析与设计也须要专门的工具来描述和理清数据库之间的关系。下面咱们就来简单介绍两款这样的软件。

Staruml

 

StarUML是一款开放源码的UML开发工具,是由韩国公司主导开发出来的产品,是一种建立UML类图,生成类图和其余类型的统一建模语言(UML)图表的工具。它能够绘制经常使用的9种UML图,并且彻底免费,软件也比较小,是很是好用的一款软件,不过做者已经不少年不更新了。由此软件延伸一款新的软件:StarUML2。但这款新的软件属于收费软件。

PowerDesigner

PowerDesigner最初由Xiao-Yun Wang(王晓昀)在SDP Technologies公司开发完成。PowerDesigner是Sybase的企业建模和设计解决方案,采用模型驱动方法,将业务与IT结合起来,可帮助部署有效的企业体系架构,并为研发生命周期管理提供强大的分析与设计技术。PowerDesigner独具匠心地将多种标准数据建模技术(UML、业务流程建模以及市场领先的数据建模)集成一体,并与 .NET、WorkSpace、PowerBuilder、Java™、Eclipse 等主流开发平台集成起来,从而为传统的软件开发周期管理提供业务分析和规范的数据库设计解决方案。此外,它支持60多种关系数据库管理系统(RDBMS)版本。PowerDesigner运行在Microsoft Windows平台上,并提供了Eclipse插件

本节课内容虽然简单,可是对于初学者来讲很重要,这些工具都是之后开发常常用到的,在本节课中咱们只是作了简单的介绍,后面的课程咱们会详细讲解这些工具的使用。下节课咱们将介绍JDK的安装与配置。下课!!~~~


PS:文章是由华宇互联旗下品牌乐橙谷java培训组织整理编写,转载请注明出处!

 本文源发表至:乐橙谷 www.lechengu.com

相关文章
相关标签/搜索