Java进修的30个方针
本文将汇报你进修java需要到达的30个方针,但愿可以或许对你的进修有所辅佐。比拟一下本身,你已经把握了这30条中的几多条了呢?
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数据库技能,如JDBCAPI而且会利用至少一种persistence/ORM构架,譬喻Hibernate,JDO, CocoBase,TopLink,InsideLiberator(国产JDO红工场软件)可能iBatis。
6.你还应该相识工具干系的阻抗失配的寄义,以及它是如何影响业务工具的与干系型数据库的交互,和它的运行功效,还需要把握差异的数据库产物运用,好比:oracle,mysql,mssqlserver。
7.你需要进修java的沙盒安详模式(classloaders,bytecodeverification,managers,policyandpermissions,
codesigning, digitalsignatures,cryptography,certification,Kerberos,以及其他)尚有差异的安详/认证 API,譬喻JAAS(javaAuthenticationandAuthorizationService),JCE (javaCryptographyExtension),JSSE(javaSecureSocketExtension),以及JGSS (javaGeneralSecurityService)。
8.你需要进修Servlets,jsp,以及JSTL(StandardTagLibraries)和可以选择的第三方TagLibraries。
9.你需要熟悉主流的网页框架,譬喻JSF,Struts,Tapestry,Cocoon,webWork,以及他们下面的涉及模式,如MVC/MODEL2。
10.你需要进修如何利用及打点web处事器,譬喻tomcat,resin,Jrun,而且知道如安在其基本上扩展和维护web措施。
11.你需要进修漫衍式工具以及长途API,譬喻RMI和RMI/IIOP。
12.你需要把握各类风行中间件技能尺度和与java团结实现,好比Tuxedo、CROBA,虽然也包罗javaEE自己。
13.你需要进修最少一种的XMLAPI,譬喻JAXP(javaAPIforXMLProcessing),JDOM(javaforXMLDocumentObjectModel),DOM4J,或JAXR(javaAPIforXMLRegistries)。
14.你应该进修如何操作javaAPI和东西来构建webService。譬喻JAX-RPC(javaAPIforXML/RPC),SAAJ (SOAPwithAttachmentsAPIforjava),JAXB(javaArchitectureforXMLBinding),JAXM(javaAPIforXMLMessaging), JAXR(javaAPIforXMLRegistries),可能JWSDP(javawebServicesDeveloperPack)。
15.你需要进修一门轻量级应用措施框架,譬喻Spring,PicoContainer,Avalon,以及它们的IoC/DI气势气魄(setter,constructor,interfaceinjection)。
16.你需要熟悉差异的J2EE技能,譬喻JNDI(javaNamingandDirectoryInterface),JMS (javaMessageService),JTA/JTS(javaTransactionAPI/javaTransactionService),JMX (javaManagementeXtensions),以及javaMail。
17.你需要进修企业级javaBeans(EJB)以及它们的差异组件模式:Stateless/StatefulSessionBeans,EntityBeans(包括Bean- ManagedPersistence[BMP]可能Container-ManagedPersistence[CMP]和它的EJB-QL),可能 Message-DrivenBeans(MDB)。
18.你需要进修如何打点与设置一个J2EE应用措施处事器,如webLogic,JBoss等,而且操作它的附加处事,譬喻簇类,毗连池以及漫衍式处理惩罚支援。你还需要相识如安在它上面封装和设置应用措施而且可以或许监控、调解它的机能。
19.你需要熟悉面向方面的措施设计以及面向属性的措施设计(这两个都被很容易夹杂的缩写为AOP),以及他们的主流java规格和执行。譬喻AspectJ和AspectWerkz。
20.你需要熟悉对差异有用的API和framework等来为你处事。譬喻Log4J(logging/tracing),Quartz (scheduling),JGroups(networkgroupcommunication),JCache(distributedcaching), Lucene(full-textsearch),JakartaCommons等等。
21.假如你将要对接可能正和旧的系统可能当地平台,你需要进修JNI (javaNativeInterface) and JCA (javaConnectorArchitecture)。
22.你需要熟悉JINI技能以及与它相关的漫衍式系统,好比把握CROBA。
23.你需要javaCommunityProcess(JCP)以及他的差异javaSpecificationRequests(JSRs),譬喻Portlets(168),JOLAP(69),DataMiningAPI(73),等等。
24.你应该纯熟把握一种javaIDE譬喻sunOne,netBeans,IntelliJIDEA可能Eclipse。(有些人更喜欢VI或EMACS来编写文件。随便你用什么了:)
25.java(准确的说是有些设置)是冗长的,它需要许多的人工代码(譬喻EJB),所以你需要熟悉代码生成东西,譬喻XDoclet。
26.你需要熟悉一种单位测试体系(JNunit),而且进修差异的生成、陈设东西(Ant,Maven)。
27.你需要熟悉一些在java开拓中常常用到的软件工程进程。譬喻RUP(RationalUnifiedProcess)andAgilemethodologies。
28.你需要可以或许深入相识加纯熟操纵和设置差异的操纵系统,好比GNU/linux,sunsolaris,macOS等,做为跨平台软件的开拓者。
29.你还需要紧跟java成长的步骤,好比此刻可以深入的进修javaME,以及各类java新类型,技能的运用,如新起的web富客户端技能。
30.你必必要对opensource有所相识,因为至少java的许多技能直接是靠开源来驱动成长的,如java3D技能。