`

如何提升JAVA技术开发能力—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高级项目-JAVA大健康产业项目实战教程 JAVA项目最前沿 JAVA尖端工程师必备

    JAVA大健康产业项目实战教程,大健康医疗在最近几年也是非常火热的技术关注点,尤其在IT行业,因为结合度非常的高,也正是因为这点可以让It互联网结合医疗来大展拳脚。课程不含基础内容以及预科教程,直接进入项目的...

    阿里巴巴java开发手册最新版

    《阿里巴巴Java 开发手册》是阿里巴巴集团技术团队的集体经验总结,经历了 多次大规模一线实战的检验及不断的完善,反馈给广大开发者。现代软件行业的高速 发展对开发者的综合素质要求越来越高,因为不仅是编程知识...

    Java 开发相关技术栈(大中厂)高频面试问题收录。.zip

    持续更新:由于Java技术和面试要求都在不断更新,建议学习者保持关注,随时更新自己的知识和技能。 交流与讨论:与同学或同行进行交流和讨论,分享学习心得和经验,共同进步。Java面试资源概览 一、内容概览 本次...

    java初学者的工具ppt文件

    小结 永远记住:自始至终,实践是学习Java技术历程中极其重要的一环。脱离了实践,是学不好技术的! Java学习、实践之路依然没有银弹,况且一步步走来,要学的东西很多,勤奋是金! 善于利用Internet上众多的资源,多...

    Java100个面试题.doc

    Java面向对象编程(OOP)和Java基础知识点总结 Java是一种支持并发、基于类和面向对象的计算机编程语言。面向对象编程(OOP)是Java的基础,它提供了模块化、代码复用、可靠性和灵活性等优点。 封装 封装是面向...

    Java开发面试题整理含答案(计网、Java、操作系统、数据库、框架).zip

    持续更新:由于Java技术和面试要求都在不断更新,建议学习者保持关注,随时更新自己的知识和技能。 交流与讨论:与同学或同行进行交流和讨论,分享学习心得和经验,共同进步。Java面试资源概览 一、内容概览 本次...

    Java开发及面试(个人面试、工作总结、资料收集站).zip

    持续更新:由于Java技术和面试要求都在不断更新,建议学习者保持关注,随时更新自己的知识和技能。 交流与讨论:与同学或同行进行交流和讨论,分享学习心得和经验,共同进步。Java面试资源概览 一、内容概览 本次...

    经历BAT面试后总结的【高级Java后台开发面试指南】,纯净干货无废话,针对高频面试点.zip

    持续更新:由于Java技术和面试要求都在不断更新,建议学习者保持关注,随时更新自己的知识和技能。 交流与讨论:与同学或同行进行交流和讨论,分享学习心得和经验,共同进步。Java面试资源概览 一、内容概览 本次...

    Java WEB 表现层技术清单

    个人整理的一套JavaWEB表现层知识点的清单,学些一门语言有个知识导图对入门的人可能减少迷茫学习起来方便一点~ 另外有本人整理的Java Web开发其它知识点清单~请关注~

    Java and XML, 3rd Edition

    主要针对Ajax和Flash应用程序 无论您现在正在还是将来会进行Java程序的开发并且需要用到XML,或者您正在参与新的点对点技术、消息技术以及Web service技术的相关应用或者开发,《Java与XML》(第三版)都是一本不...

    74个java面试题,只有题目没有答案

    AOP(Aspect Oriented Programming)是一种编程范式,用于实现横切关注点。 39. Spring MVC * 什么是 Spring MVC?MVC(Model-View-Controller)是一种架构模式,用于开发 Web 应用程序。 40. Spring Security *...

    坦克大战游戏(论文范文_JSP_JAVA_毕业设计)

    坦克大战游戏(论文范文_...随着移动设备的普及和J2ME技术的不断发展,坦克大战游戏的开发也将继续推动Java技术在移动平台上的应用。同时,坦克大战游戏的成功也将激发更多的游戏开发者关注J2ME技术的潜力和应用前景。

    JAVA与XML.rar

    主要针对Ajax和Flash应用程序 无论您现在正在还是将来会进行Java程序的开发并且需要用到XML,或者您正在参与新的点对点技术、消息技术以及Web service技术的相关应用或者开发,《Java与XML》(第三版)都是一本不可...

    Learning-Java:一些学习Java的教程,资源和文档

    入坑了 ,内容主要是对Java SE,Java Web,Java EE框架,Java 高级,面试就业和学习编程进行总结整理思考,适合了解 Java ,想进一步深入Java开发的人。 如果觉得不错,请在这个仓库上点个 star 吧,这也是对我的肯定...

    如何利用Java开发高性能、高并发Web应用

    Java高性能高并发Web应用开发技术 Java高性能高并发Web应用开发是 Java Web开发中一个非常重要的主题。在高并发环境下,如何确保Java应用程序的高性能和高可用性是开发者的主要关注点。 一、Java程序性能优化...

    JAVA自学之路

    首先我要恭喜你,遇见问题,意味着你又有涨经验的机会了,每解决一个问题,你的JAVA经验值就应该上升几百点,问题遇到的越多,知识提升的越快。 但是总是解决不了也是很恼人的,怎么办呢? 我一般要求我们的...

    Java简历模板04.docx

    本资源摘要信息主要关注 Java 开发语言和后端 apache 相关技术,以下是从给定的文件中提炼出的知识点: 1. Java 语言基础: * Java 是一种高级的、基于对象的编程语言,具有跨平台、可移植性强、安全性高的特点。 ...

    java软件工程课程网精品课程论文.doc

    基于 JAVA 的学习平台设计与实现,旨在解决当前学习网的缺陷,提供一个基于 JAVA 的精品课程网系统,满足当前教育的需求。 在系统设计中,作者使用 JSP 作为前台开发语言,SQlserver 作为后台数据库管理系统,...

    Java面试宝典-经典

    1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 7 2、Java有没有goto? 7 3、说说&和&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用在byte上,能否作用在...

Global site tag (gtag.js) - Google Analytics