学习语言是一个漫长的过程,所以我们需要一个清晰的学习思路和学习规划,这样我们才能高效快速的学习。下面小编给大家说说java开发工具都有哪些,希望能对你有些帮助。
1、集成
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的开发者提供了便利。
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、集成开发环境
Eclipse是最有名也最广泛使用的Java集成开发环境(IDE),允许开发者结合语言支持和其他功能到任何的默认包中,而且Eclipse市场有许多定制和扩展的插件。
IntelliJ已经引起了开发者的“追捧”,甚至比Eclipse还受宠,有免费版和专业版。IntelliJ为众多Java EE框架提供了针对框架的编码帮助和提升生产效率的功能,还有大多数应用服务器的部署工具。
NetBeans的也属于IDE类,允许开发者快速、简便地开发桌面应用、移动应用和Web应用。NetBeans是免费开源的,还拥有全球性的用户和开发者社区。
JDeveloper是Oracle提供的一个免费的集成开发环境,它为Oracle融合中间件和融合应用产品提供完整的端到端开发,支持整个开发生命周期。
###我们必须明确一个大方向,也就是说现在面向对象的编程范畴。尽管人工智能曾经有所浪潮,但未来5-10年工业界广泛承认并接受的将是面向对象式的编程。工业界目前最流行的面向对象编程语言就是C++和Java。所以基本上锁定这两个方向就可以了。而且完全可以同时掌握。
掌握Java的精华特性而且一定要知道为什么。比如,Interface和multi-thread。用interface是更好的多继承的模型,而多线程则是设计到语言一级的重要特性。要完全理解interface是为什么,用多线程又有几种常用的编程模型。
理解了Java语言的特性是为什么了之后,就可以试着上升到设计这个层次,毕竟学习语言是要用的。目前比较好的开发模式是采用自定向下的面向对象的设计,加上MVC的模式(你可以看一下我介绍的关于MVC的内容)。首先要找出最顶层的对象(这往往是最难的),然后一层一层往下递归,记住每次应符合7+/-2的原则,因为我们人的短记忆就是这样。一般有图形用户界面的 应从界面开始设计。
最好的方法其实是实践。一般教科书上的例子并不能算是实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能是你自己越来越迷糊。比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的,比如在我的实践当中,我曾经学习过一个很经 典的例子就是用Java实现的HotDraw(源自SmallTalk),你可以用rolemodel或hotdraw在搜索引擎上找一下,我记不大清楚了。从HotDraw上我学到了什么是 Framework,以及如何用rolemodel的方式来构造,这样我就可以应用到其他的地方。顺便 说一句,这个例子你绝对不会觉得小,只会觉得大,并且他还是真正的商用的Framework 。
###初学者请不要看太多太多的书,只会纷乱你的心思,先找本好书完整系统的学,很多人只对部分功能熟悉而已,不系统功能体系上还是不够的。
看帮助,不要因为很难而自己是初学者所以就不看;多看的参考手册,虽然你可能看不懂,总觉得不够直观。但这才是最根本的东西。
不要被对象、属性、方法等词汇所迷惑;最根本的是先了解最基础知识。
要关注那些细小的细节的问题--他们往往并不那么简单,为了解决它你可能要用到很多很多的东西,帮你回顾知识点;拓宽思路。
知道一点东西,并不能说明你会写脚本,脚本是需要经验积累的。学脚本并不难,JSP、ASP、PHP等等也不过如此--难的是长期坚持实践和不遗余力的博览群书;
学习java最好的方法之一就是上手动手去练习;永远不要认为自己看的书足够了;要看懂书,仔细看书;遇到完全看不懂的书,请硬着头皮看; 别指望看第一遍书就能记住和掌握什么,一次,两次,三次知道搞懂所有的东西;
不着急,因为学习脚本不是一蹴而就的,只有厚积才能薄发。学习的过程中,记下自己喝别人不懂的思路想法。与别人经常交流,记录下在和别人交流时发现的自己忽视或不理解的知识点;
首先你得学会出现问题自己想办法找答案,谷歌、百度都是很好的搜索引擎,你只要输入关键字就能找到很多相关资料,用自己的行动学好java吧。
###学java首先你要学 J2SE,它是java体系的基础,也是重中之重。很多人往往不重视基础,其实这是舍本逐末的做法。说这么多就是希望大家能重视基础,能在这条路上走的更远。
学j2se有下面几个目标:
1、你要能真正理解面向对象的优势,理解为什么不是面向过程。
2、掌握java语法基础。包括异常处理、多线程、网络编程、GUI编程等
3、如果你对swing不感兴趣,可以跳过它。
这一阶段结束后,你需要能独立写一个小游戏,比如坦克大战、俄罗斯方块、贪吃蛇等。
当你完成J2SE的学习之后,你就要开始学习java web了。
你需要掌握web基础知识:html、css、javascript、ajax、jQuery。别怕,这些技术看起来很多,其实也没要你精通它们,只是要你能在用到它们的时候,能通过快速查阅相关文档,能正确使用它们。如果这一阶段顺利的话,你可能还用不到一个月。学习servlet、jsp、jdbc。这些是javaweb的基础,如果你自学有难度,可以在网上下载一些相关视频,帮助理解,降低学习难度曲线。
当你完成上一阶段的学习后,你就可以进入J2EE的阶段了。
这一阶段,你可能会见到很多各种各样的框架,会让你眼花缭乱,头晕目眩。不过别担心,你只需要学习三个就足够了。它们是struts2、hibernate、spring。这些框架为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制。首先你需要学习三个框架的基本配置和使用,直到你能熟练搭建一个ssh项目。如果学有余力,你可以深入学习这些框架的设计模式。
Copyright 2015-2022 魔方网版权所有 备案号:京ICP备2022018928号-48 联系邮箱:315 54 11 85 @ qq.com