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高手的道路上,有八个关键条件需要遵循,这些条件不仅适用于Java,也适用于大多数编程领域。首先,要强调的是扎实的基础。学习Java之前,需要先掌握计算机科学的基本理论,如数据结构、离散数学和编译...
【Java程序员高手文章集+(PDF)源码整理】这一资源主要针对的是Java编程语言的学习与实践,特别是对于希望成为Java编程高手的程序员。这个压缩包包含了一整套精选的Java技术文章,以及相关的源码整理,是提升Java技能...
"JAVA编程高手"这个主题是针对那些希望深入理解和掌握Java编程技术的初学者,它旨在提供一个良好的起点,帮助新入行的开发者建立起扎实的Java基础。 在Java编程的入门阶段,理解基本概念至关重要。这包括了解Java的...
总的来说,这个资料集提供了一个全面的Java学习路径,从基础到进阶,覆盖了成为一名Java高手所需的各种技能和知识。无论你是初学者还是有一定经验的开发者,都能从中受益匪浅。记得按照文件中的指示下载和使用,不断...
以下是一些基于高手经验的Java学习路径和技巧,旨在帮助初学者快速上手并深入理解Java。 1. **基础知识:**在开始学习Java之前,了解计算机科学基础和基本的编程概念是必要的。这包括理解变量、数据类型、运算符、...
Java核心API覆盖了广泛的领域,掌握以下关键包的内容是成为Java高手的基石: - **java.lang**:掌握String、Integer、System、Thread等基础类,了解它们的功能和应用场景。 - **java.util**:熟悉List、Set、Map等...
最后,持续学习和实践是成为Java高手的关键。通过完成项目、阅读他人的代码、参与开源社区,你可以不断提升自己的编程技能。记住,Java的学习是一个循序渐进的过程,遇到问题不要气馁,多思考、多动手,你将逐渐精通...
成为优秀程序员的必备条件 - **热爱编程**:成为一名优秀的程序员,首要条件是对编程有着浓厚的兴趣和热爱。只有真正喜欢编程的人才能在这个领域长久发展下去。 - **学习能力和学习方法**:在IT行业,技术更新速度...
Java程序性能优化是Java开发中的重要环节,它旨在提高应用程序的运行效率,减少资源消耗,提升用户体验。在Java世界中,性能优化涵盖了多个层面,包括代码优化、内存...不断学习和实践,才能在这个领域成为真正的高手。
《JSP程序设计实务高手进阶必备》一书聚焦于JSP(JavaServer Pages)的高级应用,旨在帮助程序员提升在实际项目中的技能水平。JSP作为一种动态网页技术,是Java平台上的重要组成部分,它结合了HTML和Java代码,允许...
"编程高手经验"这个主题,旨在为初学者提供一条清晰的学习路径,避免在编程学习过程中迷失方向。让我们深入探讨一下编程高手的必备知识和成长路径。 首先,理解编程的本质是至关重要的。编程是一种通过计算机语言来...
总的来说,这本“网上高手速成完全手册”旨在帮助初学者快速上手,通过掌握基本的浏览器使用、搜索引擎操作、邮件管理及必备工具的运用,提高网络使用效率,从而成为网络高手。通过不断学习和实践,任何人都可以迅速...
Java基础是编程学习的重要起点,尤其对于初学者来说,掌握扎实的Java基础知识是成为优秀程序员的基础。本压缩包文件中的“java基础”可能是博主精心整理的一系列关于Java编程的培训资料,旨在帮助初学者理解并掌握...
在编程领域,LeetCode 是一个非常知名的在线平台,它提供了大量的编程题目,旨在帮助开发者提升算法和数据结构技能。...在实践中不断挑战自己,解决更多的LeetCode题目,是成为Java高手的有效途径。
自定义标签是JSP(JavaServer Pages)技术中非常重要的一个概念,它允许开发者通过简化的方式来编写可复用的代码段,从而增强JSP页面的可读性和可维护性。...掌握自定义标签的开发是成为JSP开发高手的必要条件之一。
通过深入学习和实践,你可以逐步提升前端开发能力,成为真正的前端高手。无论你是初学者还是有一定经验的开发者,这个“全套前端新手入门API中文帮助文档”都将是你学习和工作中不可或缺的参考资料。
标题中的"lc"通常指的是LeetCode,这是一个在线平台,提供了大量的编程题目,旨在帮助程序员提升算法和编程技能,尤其在面试...同时,这个资源也可以作为你个人项目的起点,不断练习和改进,逐步成为Java编程的高手。
GNU Make 是一个强大的自动化构建工具,广泛用于C/C++、Java等编程语言的项目构建,尤其是在Linux和类Unix系统中。它通过读取名为“Makefile”的文本文件,定义了一系列规则来编译、链接和执行程序,极大地提高了...
在IT领域,Linux系统是广泛使用的开源操作系统,尤其在服务器端和云计算环境中占据了主导地位。了解和掌握Linux系统命令是每个IT从业者必备的基础技能之一。...在实践中不断探索和积累,你将成为真正的Linux高手。