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. 你还应该了解对象关系的阻抗失配的含义以及它是如何影响业务对象与关系型数据库的交互,和它的运行结果。还需要掌握不同的数据库产品运用,比如Oracle、MySQL、SQL server。
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和frame work等来为你服务。例如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. 你必需要对实际项目的开发流程有所了解,至少要有两个有实际应用价值的项目,而不是练习项目!因为现在企业看重的是你有没有实际的开发经验,真正开发经验的体现就是你做的项目,也就是有实际应用的项目!
相关推荐
### Java高手的25个学习要点详解 #### 1. 掌握面向对象分析与设计(OOA/OOD),模式(GOF、J2EE、DP)及UML类图、对象图、交互图和状态图。 面向对象分析与设计是Java开发的核心思想之一,它帮助开发者更好地理解和...
这篇名为“如何迅速成为Java高手[原创]”的文章,很可能是作者根据自身经验总结出的一套学习路径和技巧。下面,我们将根据这个标题和描述,结合Java的知识体系,探讨一些关键的学习要点。 首先,扎实的Java基础知识...
### Java高手必经之路 ...综上所述,成为一名Java高手并非一蹴而就的过程,需要经过系统的学习和大量的实践积累。通过上述各阶段的学习,可以逐步建立起全面的技术栈,并在实践中不断提高自己的技能水平。
首先,我们要明确,成为Java高手不仅仅是掌握语言本身,更重要的是能够利用Java解决实际问题。因此,学习Java的重点应放在理解和应用上,而不仅仅是理论知识。 1. **网络原理**:Java广泛应用于分布式系统,因此...
从文件名“要成为Java高手需要注意的25个学习目标”来看,这可能包括深入理解JVM工作原理、垃圾回收机制、并发编程高级概念、Spring框架应用、数据库设计与优化等。这些目标涵盖了从底层到上层应用的广泛知识,有助...
在编程的世界里,每个程序员都渴望成为高手,而高手的成长往往离不开经验和智慧的积累。"编程高手箴言"就是这样一份宝贵的资源,它凝聚了前辈编程大师们的精辟见解和实战经验,旨在引导编程初学者少走弯路,快速提升...
通过本文的学习,你能够对Java有一个全面而深刻的理解,并为成为Java编程高手打下坚实的基础。 #### Java的历史与发展 - **创始人与发布时间**:Java是由James Gosling等人于1995年5月23日发布的。 - **版本发展**...
Java是一种广泛使用的面向对象的编程语言,以其平台独立性和丰富的类库而受到开发者青睐。对于初学者来说,掌握Java的基础知识至关重要。以下是一些关键要点: ...记得,不断练习和查阅文档是成为Java高手的关键。
ARM嵌入式Linux开发是一项涉及硬件、软件和操作系统深度融合的技术,对于想要成为高手的开发者来说,需要遵循一定的学习路径和掌握关键知识点。以下是对标题和描述中提到的要点的详细阐述: 1. **软硬件资源准备**...
Java是一种广泛使用的面向对象的编程语言,以其跨平台、高性能和丰富的类库而闻名。在Java面试中,面试官通常会考察候选人的基础知识、编程能力、问题解决技巧以及对Java特性...不断实践和总结,是成为Java高手的关键。
综上所述,“世界第一高手编程”虽然只是一个形象的说法,但其背后蕴含了丰富的编程知识和技术要点。要想成为顶尖的程序员,不仅需要扎实的基础知识、精通高级技术,还需要具备强大的软技能,这样才能在不断变化的...
根据给定文件的信息,我们可以提炼出与Elastic...通过以上内容的学习,学员不仅能够深入了解Elasticsearch的核心技术和最佳实践,还能够掌握解决实际问题的能力,为成为一名Elasticsearch顶尖高手奠定坚实的基础。
JSP的语法基本上和Java是相同的,有Java基础的读者可以很快学会如何使用JSP,而没有Java语言基础的读者,只要循序渐进地阅读本书,一样可以成为JSP编程的高手。本书主要分为两个部分:第一部分为JSP基础部分。通过...
### 电子无忧网资料盘目录知识点汇总 ...这些资源涵盖了从单片机、电子电路到编程等多个领域,不仅适合于专业人士学习深造,也适用于初学者入门学习。通过这些资源的学习,可以极大地提升个人技能和职业竞争力。
它通过系统地介绍面向对象设计的基础知识、符号表示、发展历史、原理、优点和缺点,为读者提供了一个全面的、可操作的学习框架。无论是初学者还是经验丰富的开发者,都能从中获得知识和技能的提升。该书不仅帮助...