本文将告诉你学习Java需要达到的25个目标,希望能够对你的学习及找工作有所帮助。对比一下自己,你已经掌握了这25条中的多少 条了呢?
1.你需要精通面向对象分析与设计(OOA/OOD)、涉及模式(GOF,J2EEDP)以及综合模式。你应该了解UML,尤其是 class,object,interaction以及statediagrams。
2.你需要学习Java语言的基础知识以及它的核心类库 (collections,serialization,streams,networking,?multithreading,reflection,event,handling,NIO,localization, 以及其他)。
3.你应该了解JVM,classloaders,classreflect,以及垃圾回收的基本工作机制等。你应该有能力反编译一个类文件并且明白一些基本的汇编指令。
4.如果你将要写客户端程序,你需要学习Web的小应用程序(applet),必需掌握GUI设计的思想和方法,以及桌面程序的 SWING,AWT,?SWT。你还应该对UI部件的JavaBEAN组件模式有所了解。JavaBEANS也被应用在JSP中以把业务逻辑从表现层中分 离出来。
5.你需要学习Java数据库技术,并且会使用至少一种persistence/ORM构架,例如Hibernate,JDO,?CocoBase,TopLink,InsideLiberator(国产JDO红工厂软件)或者iBatis。
6.你还应该了解对象关系的阻抗失配的含义,以及它是如何影响业务对象的与关系型数据库的交互,和它的运行结果,还需要掌握不同的数据库产品运用,比如racle,mysql,mssqlserver。
7.你需要学习Servlets,JSP,以及JSTL(StandardTagLibraries)和可以选择的第三方TagLibraries。
8.你需要熟悉主流的网页框架,例如JSF,Struts,Tapestry,Cocoon,WebWork,以及他们下面的涉及模式,如MVC/MODEL2。
9.你需要学习如何使用及管理Web服务器,例如tomcat,resin,Jrun,并且知道如何在其基础上扩展和维护Web程序。
10.你需要学习分布式对象以及远程API,例如RMI和RMI/IIOP。
11.你需要掌握各种流行中间件技术标准和与Java结合实现,比如Tuxedo、CROBA,当然也包括JavaEE本身。
12.你需要学习最少一种的XMLAPI,例如JAXP(JavaAPIforXMLProcessing),JDOM(JavaforXMLDocumentObjectModel),DOM4J,或JAXR(JavaAPIforXMLRegistries)。
13.你应该学习如何利用Java的API和工具来构建WebService。例如JAX- RPC(JavaAPIforXML/RPC),SAAJ? (SOAPwithAttachmentsAPIforJava),JAXB(JavaArchitectureforXMLBinding),JAXM(JavaAPIforXMLMessaging),?JAXR(JavaAPIforXMLRegistries), 或者JWSDP(JavaWebServicesDeveloperPack)。
14.你需要学习一门轻量级应用程序框架,例如Spring,PicoContainer,Avalon,以及它们的IoC/DI风格(setter,constructor,interfaceinjection)。
15.你需要熟悉不同的J2EE技术,例如JNDI(JavaNamingandDirectoryInterface),JMS? (JavaMessageService),JTA/JTS(JavaTransactionAPI /JavaTransactionService),JMX?(JavaManagementeXtensions),以及JavaMail。
16.你需要学习企业级JavaBeans(EJB)以及它们的不同组件模 式:Stateless/StatefulSessionBeans,EntityBeans(包含 Bean-?ManagedPersistence[BMP]或者Container-ManagedPersistence[CMP]和它的EJB- QL),或者?Message-DrivenBeans(MDB)。
17.你需要学习如何管理与配置一个J2EE应用程序服务器,如WebLogic,JBoss等,并且利用它的附加服务,例如簇类,连接池以及分布式处理支援。你还需要了解如何在它上面封装和配置应用程序并且能够监控、调整它的性能。
18.你需要熟悉面向方面的程序设计以及面向属性的程序设计(这两个都被很容易混淆的缩写为AOP),以及他们的主流Java规格和执行。例如AspectJ和AspectWerkz。
19.你需要熟悉对不同有用的API和framework等来为你服务。例如Log4J(logging/tracing),Quartz(scheduling),JGroups(networkgroupcommunication),JCache(distributedcaching),?Lucene(full- textsearch),JakartaCommons等等。
20.你应该熟练掌握一种JavaIDE例如sunOne,netBeans,IntelliJIDEA或者Eclipse。(有些人更喜欢VI或EMACS来编写文件。随便你用什么了:)
21.Java(精确的说是有些配置)是冗长的,它需要很多的人工代码(例如EJB),所以你需要熟悉代码生成工具,例如XDoclet。
22.你需要熟悉一种单元测试体系(JNunit),并且学习不同的生成、部署工具(Ant,Maven)。
23.你需要熟悉一些在Java开发中经常用到的软件工程过程。例如RUP(RationalUnifiedProcess)andAgilemethodologies。
24.你还需要紧跟Java发展的步伐,比如现在可以深入的学习Webwork2.0
25.你必需要对实际项目的开发流程有所了解,至少要有两个有实际应用价值的项目,而不是练习项目!因为现在企业看重的是你有没有实际的开发经验,真正开发经验的体现就是你做的项目,也就是有实际应用的项目!
http://blog.csdn.net/hstar00004/article/details/7193197
分享到:
相关推荐
无论是独立学习者还是参加研讨会的学员,都能够受益于这套系统化的学习方案,不断前进,最终成为一名真正的Java编程高手。通过持续的努力和实践,每一位学习者都有望达到精通Java的境界,开启通往软件工程世界的无限...
简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级、中级、高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情、执着,对IT的憧憬、向往!...
这份学习计划旨在帮助初学者从零开始,逐步掌握Java编程,并最终达到J2SE(Java Standard Edition)精通,进而进阶到J2EE(Java Enterprise Edition)的高手水平。以下是基于给定内容的详细学习路径: 1. **基础...
在提供的"Java2.pdf"文件中,可能包含了以上或更多相关主题的详细讲解,从基础到高级,逐步引导读者成为Java高手。通过深入阅读和实践,开发者可以掌握Java的核心技术,并有能力解决实际开发中的各种挑战。
通过深入研究XML及其相关技术、理解Java与XML的结合、掌握面向对象编程、精通JavaScript、设计模式、跨平台开发、SQL及数据库管理,以及培养持续学习的态度,你将能够从一个初学者成长为真正的Java高手。记住,每一...
其最终目标是帮助学习者“自学成为java高手”,暗示这个教程不仅教授基本概念,还会涉及更高级的主题,以使学习者在Java编程方面达到精通水平。 【标签】"java"明确了这个资源的核心内容,即Java编程语言。Java是一...
《21天学通JAVA》是一本旨在帮助读者在三周时间内掌握JAVA语言核心概念与应用的教材。此书不仅适合有一定编程基础的学习者,包括经验丰富的...本书的实用性、易读性和深度,使其成为JAVA学习者不可多得的宝贵资源。
带领读者从第一 步做起,来完成一个Java的小程序,通过这个小程序...,读者应该能够达到如下几个目标。 • 熟练掌握如何搭建Java开发环境,包括下载、安装和配置JDK。 • 能够编写和编译Java程序,并能够运行生成文件。
对于一个以前从来没有接触过java的人,java无疑是庞大的,似乎每个领域都可以拓展开来都是一片开阔地,每一个领域要想深入接触到每一个细节所耗费的精力都是巨大的。这个时候大家都胸怀壮志,两眼发光的盯着每一个...
1. 技术路线:对于热衷于技术的JAVA工程师,可以选择成为技术高手、技术专家或软件架构师。这需要不断学习新的编程语言、框架和技术,提升自身的技术深度和广度,以便解决更复杂的问题。 2. 管理路线:如果对团队...
【JAVA·初级】GC垃圾回收机制是Java编程中一个至关重要的概念,对于任何Java开发者来说,理解并掌握这一机制都是提升程序性能的关键。在Java中,内存管理主要...在实践中不断探索和学习,才能真正成为Java编程的高手。
以下是一些帮助你成为ChatGPT提问高手的策略: 1. **明确目标**:在向ChatGPT提问前,先明确你想要得到什么样的答案。是寻求解释、解决方案,还是希望得到深入的分析?清晰的目标有助于构建更有针对性的问题。 2. ...
然而,随着技能的提升,C#开发者也需要投入大量时间学习.NET Framework、WPF、ASP.NET等技术,才能达到专业水平。尽管如此,C#的进阶路径相对平缓,更适合快速就业的需求。 五年后,无论是C++还是C#,要达到高手...