太顺手了!Java开发中那些非常好用的工具

Posted 四猿外

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了太顺手了!Java开发中那些非常好用的工具相关的知识,希望对你有一定的参考价值。

最近几年,Java 的技术栈发展的非常快,成百上千的技术工具正不断地涌出来,这也造成了一个问题:

我们作为开发者,到底应该选哪些工具搭建出最合适的技术栈呢?

今天我就推荐一波我常用的、我了解的工具和框架。

一、项目工具

1.1 IDE

主流的 Java 开发工具现在非 IntelliJ IDEA 莫属。前几年,可能 Eclipse 还能和 IDEA 一争高下,到了现在已经基本是 IDEA 的天下了。

就拿我自己来说吧,我最早用 IDEA,后来用了几年 Eclipse,再后来又用回了 IDEA。

包括我身边的程序员,之前用 Eclipse 的人,这几年不少人都换成用 IDEA 了。

如果你问我用 IDEA 到底哪最爽,我觉得有 3 点:

  1. 代码智能提示,爽!
  2. 代码自动生成,爽!
  3. 代码调试,爽!

而这 3 点,恰恰就是能极大提高程序员开发效率的 3 点。所以建议做 Java 后端开发的程序员,可以优先考虑 IDEA 作为开发工具。

1.2 版本管理工具

对于项目中的代码版本管理工具,Git 已经处于垄断地位了,新项目的话不需要再考虑 SVN、CVS了。

之所以 Git 现在处于垄断地位,主要胜在 2 点:

  1. Git 是分布式的,不会因为版本管理服务器崩溃导致完整的代码历史版本丢失。

  2. Git 创建分支是非常廉价的操作,可以随意创建分支,从而使并行开发很容易落地。而 SVN、CVS 这些版本管理工具创建分支则非常笨拙,并行开发非常麻烦。

上述第 1 点大大提升了代码资产的安全可靠程度;第 2 点则完美适应当代的敏捷开发需求。也因此,Git 大行其道就不足为怪了。


1.3 构建工具

Java 项目的构建工具现在是龙争虎斗,业内一般有两个选择:Maven 和 Gradle。

如果是后端的 Java 项目,那绝大部分用的还是 Maven 去构建项目。如果是前端的 android 项目,则选择 Gradle。

Gradle 本身要比 Maven 先进很多:它配置灵活,性能优秀,真的是个非常优秀的构建工具。

那为什么在后端 Java 项目构建的时候,大部分用的还是 Maven 呢?

因为Gradle本身太过灵活了,这种灵活带来了两个和后端项目构建特性不太匹配的问题:

  1. Gradle 因为灵活,所以用法规则多变,导致学习门槛过高——后端项目本身的构建流程,套路比较死板,变化非常少,所以不需要太多的构建特性、构建规则。也就是说,灵活本身引入的多种用法、规则、特性对后端项目意义不大,为了构建工具本身的使用,去投入时间学习,本身性价比不高。

  2. 上面说了,后端项目本身的构建流程是比较套路化的,需要进行一些强约束,去保证这种套路的可靠与稳定。而 Gradle 因为本身比较灵活的配置规则,反而失去了 Maven 的那种强约束,这就很可能因为失去了约束,从而造成团队在使用 Gradle 的时候,出现各种冲突和潜在的错误,造成项目构建的不稳定,这对后端项目来说是得不偿失的。

二、开发框架

2.1 Web 框架

现在的 Web 项目开发,大部分都转向了 SpringBoot 了。使用 SpringBoot 有三个最大的好处:

  1. 配置非常少,可以说是即插即用
  2. 基于 Spring 构建,入手门槛非常低
  3. 直接运行,不需要再考虑 Web 容器的问题

SpringBoot 大部分人都很熟了,不再赘述了。

2.2 持久层框架

项目开发中用到的持久层框架,基本有两类:

  1. Mybatis 系列衍生框架
  2. JPA 系列衍生框架

在国内来讲,大部分持久层框架还是首选 Mybatis,貌似在国外大部分项目是用的 JPA 框架。

在我看来,互联网项目、toC 的项目更适合 Mybatis,toB 的项目更适合 JPA。

toC 项目的业务需求经常是灵活多变的,所以,往往它需要项目的技术也要跟着灵活多变,而Mybatis本身就是 SQL 的简单封装,很容易加表加字段、改SQL。

而 toB 项目则不一样,需求基本比较稳定,设计好的数据模型不会频繁变化,所以不太需要 Mybatis 的灵活性的,反而更需要对随意修改模型进行一系列的强约束。而这也是 JPA 自身的特性:非常规范,且有众多约束,要改 JPA 的数据模型成本比较大。

因此,大家选持久层框架的时候,要看清项目的特性,根据实际情况选择用 Mybatis 还是 JPA。

2.3 RPC 框架

现在 Java 项目的架构,基本都在转向分布式架构。分布式系统的整合,核心就是 RPC,因此很多项目中都引入了 RPC 框架。

RPC 框架,现在用的比较多的是 Dubbo 框架。

Dubbo 性能非常好:

  1. 很多 RPC 框架底层使用的通信协议是 HTTP,而 Dubbo 则选择了 TCP 协议作为通信协议。仅从性能上来说,TCP 的性能肯定要比 HTTP 好上许多。

  2. 而且 Dubbo 自身还大量使用了 NIO 异步编程去进一步做了性能优化。

所以,如果项目中需要使用 RPC,可以首先考虑 Dubbo 框架。

三、中间件

3.1 Web 服务器

现在的 Java 开发,由于大部分使用了 SpringBoot,所以以前大家常用的什么 Tomcat、Jetty、Resin 等 Web 容器都不怎么单独部署使用了。

但是,有一个 Web 容器反而还愈加兴旺起来,这就是 nginx

Nginx 在 Java 项目开发里,地位是非常特殊的。它在 Java 项目架构里起到了两个作用:

  1. 处理静态资源请求的web容器——Nginx 在 Java 项目中,专门负责处理对图片、html、js、css等这类静态资源的 Http 请求。

  2. 反向代理做分发——除了做专门处理静态资源请求的 Web 容器之外,Nginx 同时还会把对 servlet、controller 等这些动态资源的请求,转发给后面的 SpringBoot 中内置的 Tomcat 容器。

多说一句,因为反向代理这个特性,Nginx 后面会被部署上集群,Nginx 在转发请求的时候,同时也会做负载均衡的请求分发的反向代理。

3.2 消息队列

如今,大家做架构越来越趋向分布式架构。分布式架构里,常用的通信手段,除了网络请求,就是消息队列了。

现在主流的消息队列框架有 RabbitMQ、RocketMQ、Kafka 等。

我之前写过一篇 RabbitMQ 和 Kafka 对比的文章:

懵了,Kafka、RabbitMQ到底选哪个?

RabbitMQ 性能虽然低一些,但是容易上手,更适合用在中小项目。

另外,做金融领域相关项目,用消息队列的话可以优先考虑 RabbitMQ,原因有以下两点:

  1. RabbitMQ 是 AMQP 协议的实现,而 AMQP 协议本身就是来自于金融行业的软件专家们联手制定的,非常成熟和全面,已经成了工业标准。

  2. RabbitMQ 是 Erlang 写的,Erlang 的虚拟机对内存和 CPU 过载的保护非常成熟,也因此塑造了 Erlang 应用本身的可靠和健壮。

大项目、非金融项目,大家可以在 RocketMQ、Kafka 这两者之间选择。

RocketMQ 和 Kafka 差不多 90% 的功能和概念都是相通的,只是 RocketMQ 在 Kafka 理念的基础上做了一些改进,更适用的业务场景也更广泛。

在流数据处理上,大家应该优先考虑 Kafka,原因是 Kafka 的流数据处理生态更加的完善周全。

3.3 数据库

互联网领域,主流数据库就是mysql。在一些传统行业,比如银行,Oracle 用的不少。

Oracle 贵,互联网项目的一个特点就是数据库服务器数量贼多,如果用 Oracle 的话,成本太高了。

而且大家越来越有版权意识,国家对这方面也抓的越来越紧,所以,在互联网领域几乎都在用 MySQL。

使用 MySQL,常见的有 MHA 方案——MySQL 的高可用方案,基本架构就是一主两从。当主机出故障了,从机就会被提升为主机。

3.4 外置缓存

对于高并发的架构,外置缓存不可或缺,其中最最最常见的就是 Redis。

之所以大家都采用 Redis 做外置缓存,原因有三点:

  1. Redis 本身性能非常好。

  2. Redis 有很多数据结构去适配不同的业务缓存需求。

  3. Redis 的集群高可用方案和分片存储的高性能方案相对成熟。

以上,就是 Java 开发中经常遇到的主流技术工具了。

由于篇幅所限,我也只列出了一些最核心(或者说每个人都会用到的)工具和中间件。

有一些重要的中间件,我觉得不是所有人都会用到,就没有提及,比如 ElasticSearch、MongoDB、Zookeeper 等(以后再写文章和大家介绍)。

希望这篇文章对大家有帮助,能帮大家快速精准的找到当今的主流技术工具,能帮大家提高开发效率。

看完有收获的话,求在看、转发、分享,好文章让更多人的人看到


你好,我是四猿外。

原创了不少文章,把其中的一些精华文章做了个汇总整理,搞了一份PDF——《爬坡》,其中包括了15篇技术文章(学习编程技巧、架构师、MQ、分布式)和 13 篇非技术文章(主要是程序员职场)。


这份文档的质量咋样?我就不多自吹了,很多人看完说”受益匪浅“。


想获取《爬坡》,可以关注我的公众号「四猿外」,在后台回复:爬坡

另外,我建了一个读者交流群,里面大部分是程序员,一起聊技术、工作、八卦。欢迎加我微信,拉你入群。

推荐阅读

面试题详解:用Redis实现分布式锁的血泪史

学好Spring,分三步!

Java的常用开发工具


java常用的开发工具。都说工欲善其事必先利其器,要想学好java这门语言,选择一款好用顺手的开发工具是必不可少的。另外面试java工作时开发工具的使用也是一个重要的考核点。

要想全面了解java开发工具,我们首先需要先了解一下java程序的开发过程,通过这个过程我们能够了解到java开发都需要用到那些工具。

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

Java的常用开发工具

 

 

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

Java的常用开发工具

从上图中我们可以看到:

1、要想编写程序,需要一个能编写源代码的编辑工具。例如:Notepad++; 2、要想测试程序,需要一个编译、执行工具。例如:JDK; 3、要想单独测试一个单元,需要一个单元测试工具。例如:JUnit、TestNG; 4、要想编写开发文档,需要开发文档编辑工具。例如:word、Excel、PPT; 5、要想分析设计程序,需要程序的分析设计工具。例如:StarUML; 6、要想方便管理源码和版本升级,需要源码管理和版本维护工具。例如:SVN,Git; 7、要想多个团队协作开发或者项目用到很多的第三方类库和Jar包。需要自动化构建工具。例如:Maven、gradle; 8、要想在一个工具中使用以上所有功能,需要用到集成开发工具IDE。例如:Eclipse;

大家看到这么多工具是不是很头疼。哈哈:) 所以说java开发入门门槛有点高。没关系。后面的课程我会一个一个逐步给大家详细介绍。 下面我们先简单了解一下这些java开发常用工具。

一、java初学者常用源码编辑工具介绍

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

Java的常用开发工具
Notepad++


Java的常用开发工具

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

Java的常用开发工具
editplus


Java的常用开发工具

 

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

Java的常用开发工具
ultraedit


Java的常用开发工具

 

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

Java的常用开发工具
Sublime Text


Java的常用开发工具

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

Java的常用开发工具
vim


Java的常用开发工具

 

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

二、java编译执行工具介绍

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

Java的常用开发工具
JDK


Java的常用开发工具

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

三、java单元测试工具介绍

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

Java的常用开发工具
JUnit


Java的常用开发工具

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进行自动测试了。

Java的常用开发工具
TestNG


Java的常用开发工具

 

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

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

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

Java的常用开发工具
SVN


Java的常用开发工具

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

Java的常用开发工具
Git


Java的常用开发工具


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

五、自动化构建工具

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

Java的常用开发工具
Maven


Java的常用开发工具

 

 

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

Java的常用开发工具
gradle


Java的常用开发工具

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般项目构建周期。

六、java集成开发工具介绍

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

Java的常用开发工具
Eclipse


Java的常用开发工具

 

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

Java的常用开发工具
IDEA


Java的常用开发工具

 

 

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

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

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

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

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

Java的常用开发工具
Staruml


Java的常用开发工具

 

StarUML是一款开放源码的UML开发工具,是由韩国公司主导开发出来的产品,是一种创建UML类图,生成类图和其他类型的统一建模语言(UML)图表的工具。它可以绘制常用的9种UML图,而且完全免费,软件也比较小,是非常好用的一款软件,不过作者已经很多年不更新了。由此软件延伸一款新的软件:StarUML2。但这款新的软件属于收费软件。

Java的常用开发工具
PowerDesigner


Java的常用开发工具

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

本文转载自:www.lechengu.com



喜欢本文的朋友们,欢迎长按下图关注订阅号成猿之路,收看更多精彩内容!

推荐阅读:

  • 《》

  • 《》

  • 《》

  • 《》



以上是关于太顺手了!Java开发中那些非常好用的工具的主要内容,如果未能解决你的问题,请参考以下文章

JAVA之常用开发工具

盘点下我用的顺手的那些开发者工具!

java开发工具除了eclipse之外,还有那些啊?有那个比较好用啊?

那些年,Java程序员用过的开发工具

开发效率在于找自己顺手的利器/那些年的开发工具与习惯

java常用开发工具介绍