【Java程序员福音】国外Java 程序员开发常用的工具(全)

2024-03-28 12:52

本文主要是介绍【Java程序员福音】国外Java 程序员开发常用的工具(全),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Java是一门开源语言,所以可以选择的开发环境很多,你适合哪一个呢?整理了一些Java程序员开发常用的工具,需要的同学可以收藏。


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。



3、Oracle公司免费的NetBeansNetBeans是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开发环境提供了丰富的产品文档和培训资源以及大量的第三方插件。



4、IntelliJ 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进行接口测试,免不了开发人员还需要自己动手去编写代码,这个不是首选方案。笔者也不推荐这个方案,增加了程序人员的工作强度。

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

  • 支持用例管理
  • 支持get、post、文件上传、响应验证、变量管理、环境参数管理等功能
  • 支持批量运行
  • 支持用例导出、导入
  • 支持云端保存用例【付费用户】



2、JMeterApache 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服务呢?这时候远程连接工具就派上用场了。这里特别提一下如果做得是银行项目,远程连接工具是常伴左右的。

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



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



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


一些其他常用工具
 

  • 文本编辑工具Notepad++和UltraEdit
  • 对比工具beyond compare

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

  • 反编译工具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程序员福音】国外Java 程序员开发常用的工具(全)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/855674

相关文章

Java实现检查多个时间段是否有重合

《Java实现检查多个时间段是否有重合》这篇文章主要为大家详细介绍了如何使用Java实现检查多个时间段是否有重合,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录流程概述步骤详解China编程步骤1:定义时间段类步骤2:添加时间段步骤3:检查时间段是否有重合步骤4:输出结果示例代码结语作

Java中String字符串使用避坑指南

《Java中String字符串使用避坑指南》Java中的String字符串是我们日常编程中用得最多的类之一,看似简单的String使用,却隐藏着不少“坑”,如果不注意,可能会导致性能问题、意外的错误容... 目录8个避坑点如下:1. 字符串的不可变性:每次修改都创建新对象2. 使用 == 比较字符串,陷阱满

Java判断多个时间段是否重合的方法小结

《Java判断多个时间段是否重合的方法小结》这篇文章主要为大家详细介绍了Java中判断多个时间段是否重合的方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录判断多个时间段是否有间隔判断时间段集合是否与某时间段重合判断多个时间段是否有间隔实体类内容public class D

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui

Java覆盖第三方jar包中的某一个类的实现方法

《Java覆盖第三方jar包中的某一个类的实现方法》在我们日常的开发中,经常需要使用第三方的jar包,有时候我们会发现第三方的jar包中的某一个类有问题,或者我们需要定制化修改其中的逻辑,那么应该如何... 目录一、需求描述二、示例描述三、操作步骤四、验证结果五、实现原理一、需求描述需求描述如下:需要在

Java中ArrayList和LinkedList有什么区别举例详解

《Java中ArrayList和LinkedList有什么区别举例详解》:本文主要介绍Java中ArrayList和LinkedList区别的相关资料,包括数据结构特性、核心操作性能、内存与GC影... 目录一、底层数据结构二、核心操作性能对比三、内存与 GC 影响四、扩容机制五、线程安全与并发方案六、工程

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

C#中读取XML文件的四种常用方法

《C#中读取XML文件的四种常用方法》Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具,下面我们就来看看C#中读取XML文件的方法都有哪些吧... 目录XML简介格式C#读取XML文件方法使用XmlDocument使用XmlTextReader/XmlTextWr

如何使用Java实现请求deepseek

《如何使用Java实现请求deepseek》这篇文章主要为大家详细介绍了如何使用Java实现请求deepseek功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1.deepseek的api创建2.Java实现请求deepseek2.1 pom文件2.2 json转化文件2.2

Java调用DeepSeek API的最佳实践及详细代码示例

《Java调用DeepSeekAPI的最佳实践及详细代码示例》:本文主要介绍如何使用Java调用DeepSeekAPI,包括获取API密钥、添加HTTP客户端依赖、创建HTTP请求、处理响应、... 目录1. 获取API密钥2. 添加HTTP客户端依赖3. 创建HTTP请求4. 处理响应5. 错误处理6.