0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Java程序员开发常用的工具(全)

机器学习算法与人工智能 来源:未知 作者:邓佳佳 2018-03-20 10:42 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

常用开发工具:1免费开源Eclipse

Eclipse最初是由IBM公司开发的替代商业软件Visual Age for Java的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会(Eclipse Foundation)管理。Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。

Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++、PHP、Python等语言的开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。

2商用收费MyEclipse

MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,由Genuitec公司发布,它是商用收费的。

MyEclipse 是对Eclipse IDE的扩展,利用它可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML、Struts、JSP、CSS、Javascript、SQL,Hibernate,Spring。

3Oracle公司免费的NetBeans

NetBeans是Sun公司(2009年被甲骨文收购)在2000年创立的开放源代码供开发人员和客户社区的家园,旨在构建世界级的Java IDE。

NetBeans当前可以在Solaris、Windows、Linux和Macintosh OS X平台上进行开发,并在SPL(Sun公用许可)范围内使用,是一个屡获殊荣的集成开发环境。NetBeans包括开源的开发环境和应用平台,NetBeans IDE可以使开发人员利用Java平台能够快速创建Web、企业、桌面以及移动的应用程序,NetBeans IDE目前支持PHP、Ruby、JavaScript、Ajax、Groovy、Grails和C /C + +等开发语言。

NetBeans项目由一个活跃的开发社区提供支持, NetBean开发环境提供了丰富的产品文档和培训资源以及大量的第三方插件。

4IntelliJ IDEA

IntelliJ IDEA是一款综合的Java 编程环境,被许多开发人员和行业专家誉为市场上最好的IDE。它提供了一系列最实用的的工具组合:智能编码辅助和自动控制,支持J2EE,Ant,JUnit,SVN和Git集成,非平行的编码检查和创新的GUI设计器。IDEA把Java开发人员从一些耗时的常规工作中解放出来,显著地提高了开发效率。具有运行更快速,生成更好的代码;持续的重新设计和日常编码变得更加简易,与其它工具的完美集成;很高的性价比等特点。IntelliJ IDEA以前是收费软件,不过在2009年以后就开始推出了免费的社区开源版本。不过商用还是需要收费的。

Eclipse、MyEclipse、NetBeans和IntelliJ IDEA的特点和适用场景:

Eclipse、MyEclipse、NetBeans和IntelliJ IDEA这四个IDE有着不同的特性和优点,根据开发的不同可能需要选择不同的IDE。在Java开发的每个方面,这四个IDE都能胜任工作,然而根据你所做的不同开发例如Swing开发,web开发或者企业开发,选择IDE就有所偏向。

Swing开发:

如果你专门从事Swing开发,NetBeans无疑是最好的选择,如果你没有选择NetBeans而是选择了Eclipse,建议使用MyEclipse 和它的Matisse4Eclipse构造器。IDEA由于对JGoodies Forms的支持,所以在开发Swing方面与前两者相比并不占有优势。

JSP/Struts开发:

开发JSP/Struts首选的是IDEA,接下来是MyEclipse,然后是NetBeans,由于缺少对内建Struts的支持,Eclipse的基本版本没有竞争优势。

JSF开发:

在开发JSF方面,这三个IDE可以说都是很好的选择,但是IDEA可能会更好一点,接下来是Eclipse/MyEclipse,最后是NetBeans。

企业开发:

由于NetBeans对JPA的支持和它产生代码的质量以及对持久化单元合适的设置,所以在企业开发方面,NetBeans是首选,接下来是IDEA,由于Eclipse的Dali项目的限制,Eclipse可能是最后选择的。如果放弃标准的JPA,从事Hibernate开发,MyEclipse是最好的选择。

除了上面提到的这四款由大公司开发的IDE外,JAVA开发的IDE还有很多,例如Spring基于eclipse推出的STS(Spring Tool Suite)、小而且快JCreator,但是以上最常用的eclipse和IntelliJ IDEA。国内Java开发人员使用的最多也是eclipse和IntelliJ IDEA。笔者用的最多是eclipse及Spring基于eclipse推出的STS。

常用接口测试工具

作为一名开发人员,完成开发工作后,单元测试及接口测试必不可少。单元测试不用说了,Java人员几乎都是使用JUnit及JUnit相关的测试框架。对于接口测试呢?有什么工具可以使用呢?在说工具之前先来了解几个问题。

什么是接口测试?

用来检查各个组件的接口的测试,接口测试主要检查外部系统与系统之间以及各个子系统之间的交互点,测试的重点在数据的传递上。

为什么要做接口测试?

如果项目全部推行单元测试,时间上不允许,而接口测试是一种特殊的单元测试,覆盖率没有做到所谓的单元测试的百分之百,不过覆盖了所有的面像用户的功能点,而且接口测试可以采用自动化+持续集成的方式,节约时间了成本,同时提高了效率。

java第三方包httpclient

如果使用httpclient进行接口测试,免不了开发人员还需要自己动手去编写代码,这个不是首选方案。笔者也不推荐这个方案,增加了程序人员的工作强度。

1Postman

Postman是一款功能非常棒的Chrome扩展,提供功能强大的API&HTTP请求调试。它可以发送几乎所有类型的HTTP请求,并可以附带任何数量的参数和请求头(headers)。可以说Postman满足了HTTP接口测试的大部分功能,只有少部分的功能不被支持,比如:请求流程的控制;使得程序员可以在编写一些单元测试中解脱出来。

Postman特点:

支持用例管理

支持get、post、文件上传、响应验证、变量管理、环境参数管理等功能

支持批量运行

支持用例导出、导入

2JMeter

Apache JMeter是Apache组织开发的压力测试工具,也是目前应用最广泛的开源性能测试工具之一。它最初被设计用于Web应用测试,后来扩展到其他测试领域。像其他性能测试工具一样,JMeter可以用于对服务器、网络或对象模拟巨大的负载,来测试不同压力类别下应用系统的强度,分析应用系统的整体性能。JMeter由100% JAVA开发,开源,具备完全的可移植性;采用Swing界面和轻量组件支持包;支持插件扩展,可以通过扩展插件支持新的协议,监控系统资源,展示更丰富的性能图表等。企业能够在JMeter的基础上实现二次开发,扩展JMeter的功能为己所用。不过要记住Jmeter由JAVA开发,安装Jmeter之前需要先安装JDK。Jmeter功能非常强大是笔者最喜欢的接口测试工具,没有之一。

Postman和Jmeter特点:

(1)测试用例组织形式

Jmeter和Postman的测试用例组织形式都比较扁平,Jmeter通过测试计划(TestPlan)来组织测试用例;Postman主要通过集合(Collection)来组织测试用例。

(2)支持的接口类型与测试类型

从功能上Jmeter最为强大,可以测试各种类型的接口(包括Http、数据库、webservice、ftp等),不支持的也可以通过网上或自己编写的插件进行扩展;Postman是轻量级的,定位也不同,可用来测试http接口和Rest接口。

(3)流程控制

Jmeter支持Switch控制器、If控制器、随机控制器等一系列控制器实现流程控制,以及Beanshell脚本;Postman则需要通过JavaScript脚本控制

(4)断言

Jmeter中的TestPlan、Threads Group和Sampler均可添加断言;Postman的HTTP请求的Tests中可添加断言。

(5)脚本扩展能力

Jmeter支持用java语言编写的Bean shell;Postman支持使用JavaScript语言编写的脚本

(6)团队协作

Jmeter的一个TestPlan就是一个jmx(xml)文件,无法分割,但是Jmeter有一个合并的功能,允许将多个文件合并在一起。只能每个团队成员自己建立一个TestPlan,分功能块进行测试,最后整理合并;Postman虽然有团队协作的功能,但是需要付费。

Jmeter和Postman都还支持数据参数化、自定义变量、显示日志等功能。其中重点要说的是Jmeter还可以在无界面的Linux环境进行压力测试、性能测试;以便分析系统的瓶颈;Jmeter的功能覆盖了Postman的所有功能,所以强烈推荐使用Jmeter。

常用远程连接工具

做开发是国内程序员大部分都是在windows环境开发,但是开发完毕后,免不了需要部署到服务器(Liunx);特别是Java开发的程序,几乎都是部署在Unix或者Linux系统,而Unix和Liunx系统是无界面的系统。如何把程序部署到远程的Unix或者Linux服务呢?这时候远程连接工具就派上用场了。这里特别提一下如果做得是银行项目,远程连接工具是常伴左右的。

1SecureCRT和SecureFX

SecureCRT是一款支持SSH协议(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件;SecureFX是对应的文件上传工具,使用SecureFX可以让我们使用SSH协议上传文件到远程服务器。

2Xshell和Xftp

Xshell是一个功能强大的终端模拟器,支持SSH、SFTP、TELNET、远程登录命令连接; Xftp是一个灵活和轻量级SFTP / FTP客户端用户需要安全地通过网络传输文件。它提供了强大的功能,如直接编辑多个窗格、文件夹同步、他们支持服务器到服务器转移和第三方编辑器集成。

远程连接和文件上传工具笔者最常用的就是这两款,有这任何一款都足以满足我们日常工作的需要了。如果只想上传文件话也可以使用Total Commander;如果只想远程连接的话也可以使用Putty.exe,这个远程连接工具非常小巧,而且免费使用。

一些其他常用工具

文本编辑工具Notepad++和UltraEdit

对比工具beyondcompare

使用场景:在进行版本上线时,有时需要对比一下生产版本与现在马上需要投产的版本有什么区别就需要用到该工具了,该工具提供了非常强大的对比功能。

反编译工具JD-GUI和JD-Eclipse

使用场景:有时开发的代码某个接口在开发环境是好好的,跑的没有任何问题和纰漏;但是UAT环境或者准生产环境(部署人员确认已经部署了对应的接口),如果开发人员需要进一步确认部署人员正在部署了Jar包,这时反编译工具就派上用场了,开发人员可以在UAT环境或者准生产环境获取相应的Jar包,然后反编译看看相应接口的逻辑跟开发环境的是否一致。

快速启动工具TypeAndRun

TypeAndRun (TAR) 是一个可以用热键呼出的控制台,从这个控制台上可以运行任何程序、打开各类文档、URL、电子邮件和文件目录。除了可以方便的为自己的常用程序建立别名,TypeAndRun也内置了大量“系统别名”用自定义的快捷键调出命令行后,输入别名即可执行相应操作。而且TypeAndRun 可以为已经建立的别名自动补全,无需记住全部名称。也不用像一些快捷键工具一样要记住那么多快捷键。这个工具是我极力推荐给广大开发人员的,使用了它就不需要打开“我的电脑”每次都使用鼠标双击了。

Source Insight

Source Insight是一个面向项目开发的程序编辑器和代码浏览器,它拥有内置的对C/C++,C#和Java等程序的分析。SourceInsight能分析你的源代码并在你工作的同时动态维护它自己的符号数据库,并自动为你显示有用的上下文信息。

使用场景:如果想在大量Java代码中搜索某些关键字,使用Source Insight工具可以非常快速找到相应的关键字;同时Source Insight支持Java关键字的高亮功能。

MySQL连接工具SQLyog

使用场景:SQLyog是一款小巧的、连接mysql数据库的图形化工具。使用SQLyog主要方便开发人员操作mysql数据库,他提供了补全、关键字高亮、格式化sql语句等功能,在同类mysql图形界面工具中相当好用。

总结

以上推荐了十几款软件,涉及到开发工具、接口测试工具、远程连接工具、文本工具、数据库连接工具等等。这些工具有免费开源的;有商用收费的(任何长期使用自己想办法哦!!)。在小公司使用以上的这些工具能满足程序员百分之八十的开发需要。这里的工具没有涉及到UML工具、原型工具、项目管理工具等。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • JAVA
    +关注

    关注

    20

    文章

    2997

    浏览量

    115660

原文标题:Java 程序员开发常用的工具(全)

文章出处:【微信号:machinelearningai,微信公众号:机器学习算法与人工智能】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    奔赴热AI,码力全开!Talkweb House@1024程序员日系列活动圆满收官

    1024程序员日”系列活动至此划上了一个圆满句号。本届1024程序员节以“AI构建世界,智能引领未来”为主题,广邀技术大咖、产业领袖、企业代表与全球开发者齐聚星城
    的头像 发表于 10-27 18:59 420次阅读
    奔赴热AI,码力全开!Talkweb House@1024<b class='flag-5'>程序员</b>日系列活动圆满收官

    飞凌嵌入式ElfBoard-常用编辑器之Vim编辑器

    在Linux下我们对文本进行编辑,经常用到的编辑器就是Vi/Vim, Vi/Vim命令众多,功能强大,是大多数Linux程序员选择使用的编辑器。但是Vi/Vim没有图形界面,对于经常在windows
    发表于 10-13 08:47

    Java效率提升指南:5个Java工具选型建议及Perforce JRebel和XRebel介绍

    企业级Java环境越来越复杂,真正的破局点,可能不在“人”,而在于“工具”。5个实用建议,帮你理清Java工具的选型思路。
    的头像 发表于 09-11 13:59 908次阅读
    <b class='flag-5'>Java</b>效率提升指南:5个<b class='flag-5'>Java</b><b class='flag-5'>工具</b>选型建议及Perforce JRebel和XRebel介绍

    嵌入式软件开发常用的软件有哪些?

    应用程序的全套工具,‌包括代码编辑器、‌编译器、‌调试器等,‌极大地简化了Qt应用程序开发过程。‌Qt Creator支持Qt Widgets Application、‌Qt Qui
    发表于 07-03 17:06

    EtherCAT运动控制卡应用开发教程之Java

    运动控制卡的Java开发及DLL调用
    的头像 发表于 06-13 14:29 621次阅读
    EtherCAT运动控制卡应用<b class='flag-5'>开发</b>教程之<b class='flag-5'>Java</b>

    程序设计与数据结构

    的地址)出发,采用推导的方式,深入浅出的分析了广大C程序员学习和开发中遇到的难点。 2. 从方法论的高度对C语言在数据结构和算法方面的应用进行了深入讲解和阐述。 3. 讲解了绝大多数C程序员
    发表于 05-13 16:45

    Java开发者必备的效率工具——Perforce JRebel是什么?为什么很多Java开发者在用?

    Perforce JRebel是一款Java开发效率工具,旨在帮助java开发人员更快地编写更好的应用
    的头像 发表于 04-27 13:44 646次阅读
    <b class='flag-5'>Java</b><b class='flag-5'>开发</b>者必备的效率<b class='flag-5'>工具</b>——Perforce JRebel是什么?为什么很多<b class='flag-5'>Java</b><b class='flag-5'>开发</b>者在用?

    零基础入门:如何在树莓派上编写和运行Python程序

    是一种非常有用的编程语言,其语法易于阅读,允许程序员使用比汇编、C或Java等语言更少的代码行。Python编程语言最初实际上是作为Linux的脚本语言而开发的。Py
    的头像 发表于 03-25 09:27 1523次阅读
    零基础入门:如何在树莓派上编写和运行Python<b class='flag-5'>程序</b>?

    盘点工程师常用的嵌入式开发工具

    嵌入式开发涉及硬件与软件的紧密结合,开发工具的选择对效率和质量至关重要。以下是嵌入式开发常用工具分类及代表性
    的头像 发表于 02-07 10:06 3736次阅读

    低代码与传统开发的区别 低代码与无代码开发的区别

    工具和图形界面来缩短开发时间和降低技术门槛。以下是对低代码开发与传统开发的详细对比: 适用人群 传统开发 :主要适用于有经验、有基础的
    的头像 发表于 01-31 10:48 1054次阅读

    阿里云升级通义灵码AI程序员,全面上线

    近日,阿里云宣布其备受瞩目的通义灵码AI程序员已正式全面上线,为开发者带来更为强大和便捷的编程辅助工具。 此次上线的通义灵码AI程序员,在功能上实现了全面升级。现在,它支持VS Cod
    的头像 发表于 01-09 11:16 956次阅读

    TMS320C6000程序员指南

    电子发烧友网站提供《TMS320C6000程序员指南.pdf》资料免费下载
    发表于 12-24 17:19 2次下载
    TMS320C6000<b class='flag-5'>程序员</b>指南

    TMS320C55x DSP CPU程序员参考补充

    电子发烧友网站提供《TMS320C55x DSP CPU程序员参考补充.pdf》资料免费下载
    发表于 12-21 11:36 3次下载
    TMS320C55x DSP CPU<b class='flag-5'>程序员</b>参考补充

    SSM框架在Java开发中的应用 如何使用SSM进行web开发

    SSM框架,即Spring、SpringMVC和MyBatis的整合,是Java Web开发常用的技术栈。它通过分层架构,实现了视图、控制、业务逻辑和数据访问的分离,提高了代码的可维护性和可扩展性
    的头像 发表于 12-16 17:28 2127次阅读

    UCD3138A64/UCD3138128程序员手册

    电子发烧友网站提供《UCD3138A64/UCD3138128程序员手册.pdf》资料免费下载
    发表于 12-09 14:42 1次下载
    UCD3138A64/UCD3138128<b class='flag-5'>程序员</b>手册