现在java语言已经成为一大编程语言,java开发工程师越来越有需求,当下很多学生或者是已从业人员选择软件开发这个职业,实现自己的IT梦,下面小编给大家说说java有哪些开发工具,希望能对你有些帮助。
(资料图)
1、集成开发环境
Eclipse是最有名也最广泛使用的Java集成开发环境(IDE),允许开发者结合语言支持和其他功能到任何的默认包中,而且Eclipse市场有许多定制和扩展的插件。
IntelliJ已经引起了开发者的“追捧”,甚至比Eclipse还受宠,有免费版和专业版。IntelliJ为众多Java EE框架提供了针对框架的编码帮助和提升生产效率的功能,还有大多数应用服务器的部署工具。
NetBeans的也属于IDE类,允许开发者快速、简便地开发桌面应用、移动应用和Web应用。NetBeans是免费开源的,还拥有全球性的用户和开发者社区。
JDeveloper是Oracle提供的一个免费的集成开发环境,它为Oracle融合中间件和融合应用产品提供完整的端到端开发,支持整个开发生命周期。
2、测试
JUnit是一个Java语言的单元测试框架,用于编写和运行可重复的测试。它为测试预期结果提供断言,为共享的常用测试数据提供测试装置(test fixtures),以及运行测试的测试者(test runners)。可以在这里看一下JUnit的教程。
TestNG是受到了JUnit的启发开发而成,但同时还具有一些新功能,所以相对而言,TestNG更加强大也更便于使用,如注解(annotations)、灵活的测试配置、数据驱动的测试和参数支持,以及强大的执行模型。它涵盖了单元测试、功能、端到端、集成测试,支持各种工具和插件(Eclipse、IDEA、Maven等)。具体内容可以参考分别使用 Maven Failsafe 与 TestNG 进行单元测试与集成测试的文章。
Mockito是一个mocking框架,帮助开发者编写具有简洁API的精美测试。其测试的可读性很好,并能产生清晰的验证错误。使用Mockito还能在执行后可以对交互进行问询。Mocks是透明的,所以开发者可以专注于测试选定的行为。更多详情可以参考mockito的相关文章。
Arquillian是一个Java和JVM的测试平台,主要侧重于集成和功能测试。它去掉了单元测试,重点关注真正实时环境下的程序代码的相互作用。Arquillian为测试配备了容器生命周期管理和典型测试精选。
3、集成
Apache Maven是一个非常著名的软件项目管理和综合工具。基于项目对象模型(POM)的概念,它的信息中心管理着项目的构建、报告和文档。Maven提供了一个统一的构建系统、项目信息和最佳的开发实践指导,并且支持新功能的透明迁移。
Gradle是一个开源的自动化构建系统。Gradle可以自动构建、测试、发布、部署,还有多种软件包或其他类型项目,如生成静态网站。Gradle结合了Ant的能力和灵活性,以及Maven的依赖管理和约定,形成了一种高效的构建方式。
Apache Ant是一个开源的Apache项目,经Apache软件许可发布。它由多种内置任务而成,允许开发者编写、装配、测试和运行java应用程序。它的特点是高度灵活,不会严格限制Java项目的编码惯例或目录布局。
Apache Ivy是一种流行的依赖管理工具,注重灵活性和简单性。它是Apache Ant项目的一个子项目,而Ivy用来解决项目依赖项。外部的XML文件定义项目依赖项,并列出构建项目的所需资源。然后Ivy从artifact 存储库(artifact repository)中下载资源,它具有良好的灵活性和可配置性。Apache Ivy 是由Apache Apache Ant集成的,因此将使Apache Maven的依赖管理优势也带到Apache Ant构建文件中,为那些已经使用Apache Ant且不想迁移到Apache Maven的开发者提供了便利。
###系统的学习Java编程的基础
如果真的想成为Java程序员,那么学习Java时就不要东一片、西一片的学习,要全面的、系统的学习Java编程基础,包括AWT、Swing这些不是经常用到的 内容也要学习,深刻的理解面向对象(Object-Oriented)的编程思想,掌握封装(Encapsulation)、继承(Inheritance)、多态(Polymorphism)三大特性,把面向对象的思想运用到实际的代码编写中。
掌握常用的API用法
每一门成熟的编程语言都会向用户提供丰富的应用编程接口(Application programming Interface),也就是通常所说的API,熟练掌握这些API,无疑会极大的提高我们编码的效率,但是Java提供的API实在是太多了点,全部掌握很难实现,而且也没有必要,我们只要熟练掌握常用的API就好,不常用的API用到的时候,再在API文档中查找用法即可。
通读官方语言教程和规范
发布编程语言的官方,一般都会在其官方网站上提供官方语言教程(Tutorials)和规范(Specification),Java的官方网站当然也不例外。Oracle提供的Java Tutorials官方教程是很好的入门读物,系统全面还带有示例演示,非常易学,看到很多Java的初学者还在满网络的找教程,殊不知最好的教程就在官方网站上等着呢,即使是Java老司机也可以在里面发现自己以前的知识遗漏点。Java Specification 语言规范是更进一步的读物,里面解释了语言的内部规范,比较难以读懂,但是初读时不要强求读懂所有的内容,适当的囫囵吞枣,多读几遍可能就理解了。而对于要求更高的Java程序员,可以读读JVM Specification,Java虚拟机规范。
借鉴Java重要类的官方源代码
Java是一门开源的编程语言,下载其JDK(Java Development Kit,Java开发 工具包)时,会自带Java的源代码压缩包src.zip,解压后就可以查看Java自带类的源代码,这些源代码都是Java大神们写的,非常有学习意义。这也是学习Java语言相对于其它闭源开发语言的一大优势。
掌握常用的设计模式
设计模式(Design Pattern)并不是Java编程语言独有的,而是所有编程语言之间通用的,因此设计模式也更具有学习的必要性。虽然设计模式不是独属于Java的,但是有用Java实现的设计模式版本,像是单例模式、观察者模式等经典模式必须熟练掌握。有些初学者把设计模式看的非常高端,非常难以学习,这是没有必要的,因为设计模式并不是凭空想出来的,它们就是从日常的写代码过程中一步步演化过来了的,只要写代码到一定程度,自然而然就能使用和理解设计模式了。而提前学习设计模式可以加快自己的编程水平提高速度,编写易维护、低耦合、扩展性强的代码。
学习相关的开源框架
Java有非常多的开源框架,比如常见的Spring、Hibernate、Struts等。有些初学者把这些框架当作是学习Java编程的负担,笔者个人认为这恰恰是Java的一大优势,这些框架的源代码都是出色的、开源的,其中运用了很多的设计模式 和编程思想,通过学习使用这些框架,可以加深自己对设计模式的理解,提升自己的编程层次。
###首先要学好java的基础部分,重点学习java SE,尤其要熟练掌握面向对象、集合框架,常用的数据结构、JDBC、异常、IO、线程和网络编程,对于每个知识点,最好是能学做结合,开发一些程序,便于深入了解。
基础学习完毕之后,开始进入java web部分的学习,主要是考虑到java web的应用范围很广,而且招聘的时候,基本都要求这些。首先学习Servlet、JSP的基础知识,了解httprequest,httpResponse,之后开始学习Struts2、Hibernate和Spring,经典的SSH框架。
在学习SSH框架的时候,平时要多应用,多开发。同时需要阅读一些框架的源代码程序,了解原理,之后开始自己动手写一些小的框架。
做java web方向的时候,除了后台java 代码需要进行学习之外,还需要学习前台的css html jquery 等前台开发框架,同时需要学习后台数据库的配置,以及sql语句的书写和数据库的调优。
java的大数据方向,尤其是要学习hadoop,spark这些主流的大数据框架,学习如何使用这些开源工具,在使用的过程中,了解原理,熟悉源代码。
java的移动开发方向,主要就是学习android手机客户端程序的开发,学习anrdoi的体系架构,一些常用的组件开发,下拉框,菜单。熟练掌握activity,service的概念。
###1.奠定java的语法基础
学习java的第—步,就是学会使用java这个程序语言来编写程序,而学习程序语言的第—步就是熟悉其语法的使用。程序语言就是一门语言,所不同的是这种语言是用来与计算机沟通的,所以若要熟悉语言,使用的方法莫过于多看别人写的程序,了解别人是如何使用java来解决问题的,然后针对同样的程序进行练习,并从实例中测试自己是否真正了解到如何解决问题。
2.运用基本的j2seAPI
除了java语言本身的语法之外,懂得运用j2se的API也是一个必要的课题,然而在这么多的API下,您必然想知道哪些API是必要或常用的。我的建议是先掌握字符串处理、异常处理、容器(Container)、输入/输出(I/O)、线程(Thread)这几个主题。API的内容庞大,没有任何一本是可以详细讲解每个API如何运用,您也不需要将API背诵下来,您要懂得查询API文件说明,虽然API文件都是英文的,但基本上只要有基本的英文阅读能力就足以应付查询需求。
3.使用搜索引擎
作为一个开发人员,懂得使用搜索引擎来寻找问题的答案是一项必要的能力。我习惯使用搜索引擎,几个简单的关键词通常就可以为您找到问题的答案
4.参与实战课程
学校教的大多是理论行的东西,你可以去网上找一些实战性的课程来看,看书是一个非常枯燥的过程,视频课程让你在理解更容易掌握要领。
5.加入java队伍参与讨论
在学习的过程中,如果有人可以共同讨论,将会加速学习的速度。您可以找一个讨论区并摸索当中的资源,这可以省去不少的学习时间。
Copyright 2015-2022 魔方网版权所有 备案号:京ICP备2022018928号-48 联系邮箱:315 54 11 85 @ qq.com