1。常用开发工具2.常用接口测试工具3.常用远程连接工具4.其他一些常用工具5.总结1.常用开发工具作为Java程序开发者,IDE(IntegratedDevelopmentEnvironment)有很多多亏了Java是一种开源语言这一事实??。有开源的,也有免费的;有商业费用。如何选择适合自己的集成开发环境,或者选择符合自己项目开发需求的集成开发环境。选择得当,可以使开发工作事半功倍;否则,你会事半功倍。免费开源的EclipseEclipse最初由IBM开发,用于替代商业软件VisualAgeforJava的下一代IDE开发环境。它于2001年11月被贡献到开源社区。现在它由EclipseFoundation管理,这是一个非营利性软件供应商联盟。.Eclipse是一个开源的、基于Java的、可扩展的开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse附带了一组标准的插件程序,其中包括Java开发工具(JavaDevelopmentTools,JDT)。Eclipse是一个著名的跨平台免费集成开发环境(IDE)。最初主要用于Java语言开发,现在有人通过插件的方式使之成为其他计算机语言如C++、PHP、Python等语言的开发工具。Eclipse本身只是一个框架平台,但是众多插件的支持使得Eclipse具有其他功能相对固定的IDE软件所难以具备的灵活性。许多软件开发人员使用Eclipse作为框架来开发自己的IDE。商业收费MyEclipse(中国,官方网站)MyEclipse是Genuitec发布的一个Eclipse插件和一个功能强大的J2EE集成开发环境。是商业收费。MyEclipse是EclipseIDE的一个扩展,在数据库和JavaEE的开发和发布,以及应用服务器的集成方面可以大大提高工作效率。是一个功能丰富的JavaEE集成开发环境,包括完整的编码、调试、测试和发布功能,全面支持HTML、Struts、JSP、CSS、Javascript、SQL、Hibernate、Spring。Oracle的免费NetBeansNetBeans是Sun(2009年被Oracle收购)于2000年创建的开源开发人员和客户社区的所在地,旨在构建JavaIDE。NetBeans目前可以在Solaris、Windows、Linux和MacintoshOSX平台上开发,并在SPL(SunPublicLicense)这一屡获殊荣的集成开发环境的范围内使用。NetBeans包括一个开源开发环境和应用程序平台。NetBeansIDE使开发人员能够使用Java平台快速创建Web、企业、桌面和移动应用程序。NetBeansIDE目前支持PHP、Ruby、JavaScript、Ajax、Groovy、Grails和C/C++等开发语言。NetBeans项目得到了活跃的开发社区的支持,NetBean开发环境提供了丰富的产品文档和培训资源以及大量的第三方插件。IntelliJIDEAIntelliJIDEA是一个全面的Java编程环境,被许多开发人员和行业专家誉为市场上最好的IDE。它提供了一系列最实用的工具组合:智能编码辅助和自动控制,支持J2EE、Ant、JUnit、SVN和Git集成,非并行编码检查和创新的GUI设计器。IDEA将Java开发人员从一些耗时的日常工作中解放出来,显着提高了开发效率。具有运行速度更快,生成更好代码的特点;持续重新设计和日常编码变得更容易,与其他工具集成;高性价比等IntelliJIDEA以前是付费软件,但是从2009年开始,推出了免费的社区开源版本。但是,商业用途还是要收费的。Eclipse、MyEclipse、NetBeans、IntelliJIDEA的特点及适用场景:Eclipse、MyEclipse、NetBeans、IntelliJIDEA这四种IDE各有特点和优势。根据开发的不同,您可能需要选择不同的IDE。在Java开发的方方面面,这四种IDE都可以胜任,但是根据你做的是Swing开发、Web开发还是企业开发,IDE的选择会有所偏颇。Swing开发:如果你擅长Swing开发,NetBeans无疑是一个非常好的选择。如果您选择Eclipse而不是NetBeans,建议使用MyEclipse及其Matisse4Eclipse构造函数。由于IDEA支持JGoodiesForms,所以在开发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(SpringToolSuite),小而快的JCreator,但最常用的是eclipse和IntelliJ主意。国内Java开发者用得最多的也是eclipse和IntelliJIDEA。笔者多使用eclipse和Spring基于eclipse的STS。如果您在使用中遇到什么,可以随时咨询。2、常用的接口测试工具作为开发人员,在完成开发工作后,单元测试和接口测试是必不可少的。单元测试就不用说了,几乎所有Java人员都会用到JUnit和JUnit相关的测试框架。接口测试呢?有哪些工具可用于此?在谈工具之前,我们先了解两个问题。什么是接口测试?用于检查各个组件的接口测试。接口测试主要检查外部系统与系统之间、各个子系统之间的交互点。测试的重点是数据的传输。为什么要做接口测试?如果项目实现了所有的单元测试,时间不允许,而接口测试是一个特殊的单元测试,覆盖率达不到所有的单元测试,但是覆盖了所有用户喜欢的功能点,接口测试可以采用自动化+持续集成的方式,在提高效率的同时节省时间和成本。如果java第三方包httpclient使用httpclient进行接口测试,必然需要开发者自己编写代码,这不是首选方案。笔者不推荐这种方案,增加了程序员的工作量。PostmanPostman是一个很棒的Chrome扩展,提供强大的API和HTTP请求调试。它可以发送几乎任何类型的带有任意数量参数和标头的HTTP请求。可以说Postman满足了HTTP接口测试的大部分功能,只有少数功能不支持,比如:请求流程控制;这样程序员就可以从编写一些单元测试中解脱出来。Postman特性:支持用例管理支持get、post、文件上传、响应验证、变量管理、环境参数管理等功能支持批量操作支持用例导出和导入支持用例云存储[付费用户]JMeterApacheJMeter是一个压力测试由Apache开发,也是使用最广泛的开源性能测试工具之一。它最初是为Web应用程序测试而设计的,后来扩展到其他测试领域。与其他性能测试工具一样,JMeter可用于模拟服务器、网络或对象的巨大负载,以测试应用系统在不同压力类别下的强度,分析应用系统的整体性能。JMeter100%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)AssertTestPlan、ThreadsGroup和Sampler可以添加断言;Postman的HTTP请求测试可以添加断言。(5)脚本扩展能力Jmeter支持Java语言编写的Beanshell;Postman支持JavaScript语言编写的脚本(6)TeamworkJmeter的TestPlan是一个jmx(xml)文件,不能分割,但是Jmeter有合并功能,可以将多个文件合并在一起。每个团队成员只能自己创建一个TestPlan,按功能块进行测试,最后组织合并;Postman虽然有团队协作的功能,但是需要付费。Jmeter和Postman也都支持数据参数化、自定义变量、显示日志等功能。最要说的是Jmeter在没有界面的情况下也可以在Linux环境下进行压力测试和性能测试;以便分析系统的瓶颈;Jmeter的功能涵盖了Postman的所有功能,所以强烈推荐使用Jmeter。3、开发常用的远程连接工具,国内程序员大多是在windows环境下开发,但是开发完成后,难免要部署到服务器(Liunx);特别是Java开发的程序几乎都是部署在Unix或者Linux系统上,而Unix和Liunx系统是没有接口的系统。如何将程序部署到远程Unix或Linux服务?这就是远程连接工具派上用场的地方。这里特别要说的是,如果是银行项目,远程连接工具就一直在身边。SecureCRT和SecureFXSecureCRT是一个支持SSH协议(SSH1和SSH2)的终端仿真程序。简单的说就是Windows下登录UNIX或者Linux服务器主机的软件;SecureFX是对应的文件上传工具。使用SecureFX允许我们使用SSH协议将文件上传到远程服务器。Xshell和XftpXshell是一个强大的终端仿真器,支持SSH、SFTP、TELNET、Telnet命令连接;Xftp是一个灵活且轻量级的SFTP/FTP客户端,用户需要通过网络安全地传输文件。它提供了强大的功能,例如直接编辑多个窗格、文件夹同步、对服务器到服务器传输的支持以及第三方编辑器集成。远程连接和文件上传工具是笔者最常用的两个,任意一个都足以满足我们日常的工作需要。如果您只想上传文件,也可以使用TotalCommander;如果您只想远程连接,也可以使用Putty.exe。这个远程连接工具非常小巧,免费使用。4.其他一些常用工具文本编辑工具Notepad++和UltraEdit对比工具beyondcompare使用场景:版本上线时,有时需要比较生产版本和需要马上投入生产的版本的区别。需要使用这个工具。这个工具提供了非常强大的比较功能。反编译工具JD-GUI和JD-Eclipse使用场景:有时开发代码的某个界面在开发环境下没问题,运行没有问题和错误;接口),如果开发者需要进一步确认部署者正在部署Jar包,那么反编译工具就派上用场了。开发者可以在UAT环境或者准生产环境中获取对应的Jar包,然后反编译查看对应接口的逻辑是否和开发环境一致。快速启动工具TypeAndRunTypeAndRun(TAR)是一个可以用热键调出的控制台。从这个控制台,您可以运行任何程序,打开各种文档、URL、电子邮件和文件目录。TypeAndRun除了可以方便地为你经常使用的程序创建别名外,还内置了大量的“系统别名”。使用自定义快捷键调出命令行后,输入别名即可执行相应的操作。而且TypeAndRun可以自动补全已经建立的别名,不需要记住所有的名字。不需要像一些快捷键工具那样记住那么多快捷键。我向开发人员强烈推荐这个工具。使用它,您无需每次都打开“我的电脑”并用鼠标双击。SourceInsightSourceInsight是一个用于项目开发的程序编辑器和代码浏览器。它内置了对C/C++、C#和Java等程序的分析。SourceInsight分析您的源代码并在您工作时动态维护自己的符号数据库,自动为您显示有用的上下文信息。使用场景:如果想在大量的Java代码中搜索某些关键字,可以使用SourceInsight工具非常快速的找到对应的关键字;同时,SourceInsight支持Java关键字高亮显示功能。MySQL连接工具SQLyog使用场景:SQLyog是一个小型的图形化连接mysql数据库的工具。使用SQLyog主要是方便开发者操作mysql数据库。提供了补全、关键字高亮、格式化sql语句等功能,在同类mysql图形界面工具中算是比较好用的了。五、总结以上推荐了十几个软件,涉及开发工具、接口测试工具、远程连接工具、文本工具、数据库连接工具等等。这些工具是免费和开源的;还有商业费用(任何长期使用都可以找到办法!!)。在小公司使用以上工具可以满足程序员80%的开发需求。这里的工具不涉及UML工具、原型工具、项目管理工具等。
