`
vipygt
  • 浏览: 34746 次
社区版块
存档分类
最新评论

Java技术大牛需要学习的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. 你还应该了解对象关系的阻抗失配的含义以及它是如何影响业务对象与关系型数据库的交互,和它的运行结果。还需要掌握不同的数据库产品运用,比如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个学习要点.doc

    在Java技术领域,成为一个大牛并非易事,它需要...通过系统地学习和实践这些知识点,你将逐步建立起坚实的Java技术基础,为成为Java技术大牛打下坚实的基础。在学习过程中,不断实践、解决问题和积累经验是至关重要的。

    大牛带你跳槽不跳坑 最新互联网顶尖大厂JAVA架构师技术面试实战 不仅仅是面试指南

    大牛带你跳槽不跳坑 最新互联网顶尖一线大厂JAVA架构师面试实战课程,需要先让同学们...如果你恰好在准备高级的JAVA面试技能,那就一定不能错过这次高质量的技术汇总,在技术大牛的带领下提前获得“面试真题”的指点。

    成为Java大牛.zip

    "成为Java大牛"这个主题意味着我们要深入学习Java技术,掌握其核心概念、框架和最佳实践,以便在编程世界中达到专家水平。下面将详细探讨Java编程中的关键知识点。 1. **基础语法**: 任何编程语言的学习都始于基础...

    java学习视频推荐

    加入技术社区,如CSDN、Stack Overflow,订阅技术博客,关注Java大牛的分享,都能获取最新动态。同时,不断挑战自己,尝试参与开源项目,与他人交流切磋,是提升编程能力的有效途径。 总之,Java学习是一个循序渐进...

    A一位资序员大牛给予Java初学者的学习路线建议

    通过上述内容,我们可以了解到Java初学者需要经历的几个阶段:掌握Java基础,学习Web开发技术,最后熟练使用开发框架。学习这些知识的目的是使初学者能够顺利过渡到实际工作中,能够参与项目的开发。文章中也提到了...

    java源码大全,包含二十一点和牛牛等游戏,开箱即用.zip

    Java源码大全是一个非常实用的学习资源,特别是对于那些在大学阶段深入学习计算机科学,尤其是Java编程语言的学生来说。这个压缩包包含了一些常见的游戏代码实现,如二十一点(Blackjack)和牛牛(DouNiuServer),...

    最牛Java实践技术

    《最牛Java实践技术》——探索SpringMVC与MyBatis的...通过深入理解和实践“jeeweb-mybatis”项目,开发者不仅可以掌握这两个框架的基本用法,还能学习到如何在实际项目中优化和扩展它们,提升自己的Java Web开发技能。

    Java工作学习牛客网刷题错误总结.rar

    在Java工作学习的过程中,牛客网是一个非常受欢迎的在线刷题平台,提供了丰富的编程题目,帮助用户提升技术能力。这份“Java工作学习牛客网刷题错误总结”压缩包文件,显然是作者在解决这些题目时遇到的问题和错误的...

    Java croe java 思想

    《Java核心编程思想》是Java开发者的一本经典之作,它深入浅出地讲解了Java语言的核心概念和技术,旨在提升读者的编程思维和实战...通过深入研读和实践,你将能够掌握Java的精髓,提升自己的编程技能,向Java大牛迈进。

    超牛的Java五子棋

    以上是Java五子棋项目涉及的一些主要技术点,这些知识点不仅适用于游戏开发,也是Java编程中的基础技能,对于提升Java编程能力有很大帮助。通过实际操作和学习这样的项目,开发者可以深入理解Java的GUI编程、事件...

    这些年学习JAVA的资源,包括工具和资源包

    通过关注Twitter上的Java组织和知名开发者,如Java官方账号、Oracle Code One、SpringCentral,以及像Laszlo Csontos和Brian Goetz这样的大牛,可以获取实时更新。此外,Reddit的Java、learnjava和javahelp板块也是...

    远大前程 从软件新手到行业大牛

    首先,成为行业大牛的基础是扎实的编程技能。这包括至少精通一种编程语言,如Java、Python或C++,并理解其核心概念,如变量、数据类型、控制结构和函数。同时,熟练使用数据结构和算法是提高编程效率和解决问题的...

    Java仿牛客系统源码.zip

    Java仿牛客系统源码是一个基于Java开发的在线编程训练和招聘平台的实现,它旨在提供类似牛客网的功能,帮助程序员进行技能提升、实战演练以及求职准备。这个源码库通常包含了完整的后端服务、前端界面以及数据库设计...

    超牛的java聊天程序

    总的来说,"超牛的Java聊天程序"是一个涵盖了Java网络编程、多线程、UI设计等多个重要知识点的项目,对于学习和提升Java开发技能来说是一个很好的实践平台。通过这个项目,你可以深入理解Java在实际应用中的强大功能...

    Java聊天室(很牛的一个东西)

    【Java聊天室】是一个引人注目的项目,它在技术层面上展示了Java语言的强大功能以及在构建实时通信应用上的潜力。这个系统的设计和实现充分体现了Java的多线程、网络编程以及面向对象设计原则,使其能够与业界知名的...

    如何成为一个技术牛人

    6. **建立知识体系**:除了学习具体的技能外,构建一个完整的技术知识体系也非常重要。这意味着不仅要了解技术细节,还要能够从宏观角度理解技术的发展脉络和技术之间的联系。 - **建议**:可以通过阅读技术博客、...

    一个牛哥写的Java烟花程序

    【标题】"一个牛哥写的Java烟花程序"指的是一个由技术大牛编写的Java程序,该程序能够模拟出烟花绽放的效果。在计算机图形学中,这样的程序通常涉及到颜色、速度、方向等多种动态元素的组合,使得用户在屏幕上看到...

    【大厂面试专栏】一份Java程序员需要的技术指南,这里有面试题、系统架构、职场锦囊、主流中间件等,让你成为更牛的自己!.zip

    这份名为"【大厂面试专栏】一份Java程序员需要的技术指南,这里有面试题、系统架构、职场锦囊、主流中间件等,让你成为更牛的自己的.zip"的压缩包,显然是为准备Java程序员在大公司面试时提供的重要资源。...

    系统解析JDK源码,领略大牛设计思想,JAVA进阶必备(2023新课,已完结)

    "系统解析JDK源码,领略大牛设计思想,JAVA进阶必备"这一课程或资源包,旨在帮助开发者通过分析JDK源码,学习并掌握其中蕴含的设计模式和编程技巧,从而提升自身的技术深度和广度。 JDK(Java Development Kit)是...

    Java并发编程从入门到精通(pdf)(附源码)

    这些都是成为一个资深技术大牛所必备的技能。 总的来说,《Java并发编程从入门到精通》不仅覆盖了Java并发编程的全面知识,还提供了丰富的实践案例和源码,是Java开发者提升并发编程能力的理想教材。通过深入学习这...

Global site tag (gtag.js) - Google Analytics