要成为Java高手需要注意的25个学习目标
1.你需要精通面向对象分析与设计(OOA/OOD)、涉及模式(GOF,J2EEDP)以及综合模式。你应该了解UML,尤其是class,object,interaction以及statediagrams。 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站! w9 ?: W: z- [" P" L' w
, X" V5 S5 [1 I7 H打造最好的电脑自学交流论坛2.你需要学习Java语言的基础知识以及它的核心类库(collections,serialization,streams,networking,?multithreading,reflection,event,handling,NIO,localization,以及其他)。 3.你应该了解JVM,classloaders,classreflect,以及垃圾回收的基本工作机制等。你应该有能力反编译一个类文件并且明白一些基本的汇编指令。 我爱电脑技术论坛% b1 \ t, _6 U
$ t% \: D8 H% ?, p2 I9 d* v* _我爱电脑技术论坛4.如果你将要写客户端程序,你需要学习Web的小应用程序(applet),必需掌握GUI设计的思想和方法,以及桌面程序的SWING,AWT,?SWT。你还应该对UI部件的JavaBEAN组件模式有所了解。JavaBEANS也被应用在JSP中以把业务逻辑从表现层中分离出来。
+ [% q$ h6 s; L& O% H打造最好的电脑自学交流论坛打造最好的电脑自学交流论坛+ z! S# E0 z- \' a5 W4 b- }
5.你需要学习Java数据库技术,并且会使用至少一种persistence/ORM构架,例如Hibernate,JDO,?CocoBase,TopLink,InsideLiberator(国产JDO红工厂软件)或者iBatis。 www.520diannao.com( a7 j- J5 k g; f& M1 U8 T' l
: Z% _$ n5 U8 |" p6.你还应该了解对象关系的阻抗失配的含义,以及它是如何影响业务对象的与关系型数据库的交互,和它的运行结果,还需要掌握不同的数据库产品运用,比如racle,mysql,mssqlserver。
7 S# W V, j" _: g* [我爱电脑技术社区--打造最好的电脑技术自学交流平台2 S! F4 h/ \! l6 U5 B# z
7.你需要学习Servlets,JSP,以及JSTL(StandardTagLibraries)和可以选择的第三方TagLibraries。
' c) ^2 }3 [2 b4 P9 b% T" M$ U. zwww.520diannao.com
/ t% M2 F( V9 N6 d+ S电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站8.你需要熟悉主流的网页框架,例如JSF,Struts,Tapestry,Cocoon,WebWork,以及他们下面的涉及模式,如MVC/MODEL2。 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站/ J+ ]! Z) r& W6 [! z8 c
% }# G: Y' n" S9 u电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站9.你需要学习如何使用及管理Web服务器,例如tomcat,resin,Jrun,并且知道如何在其基础上扩展和维护Web程序。
9 c" r. i5 f% ~" K4 {* |我爱电脑技术论坛
6 Q/ ~' h7 S+ |- z& A) \( q打造最好的电脑自学交流论坛10.你需要学习分布式对象以及远程API,例如RMI和RMI/IIOP。
4 m6 X- m, o+ K, A2 X, |( {7 S2 {: uwww.520diannao.com
6 ?/ B& v0 A" z我爱电脑技术社区--打造最好的电脑技术自学交流平台11.你需要掌握各种流行中间件技术标准和与Java结合实现,比如Tuxedo、CROBA,当然也包括JavaEE本身。 www.520diannao.com( M- f: a/ O6 M* a2 t
' r6 F& T' ^( ?9 C3 y) a
12.你需要学习最少一种的XMLAPI,例如JAXP(JavaAPIforXMLProcessing),JDOM(JavaforXMLDocumentObjectModel),DOM4J,或JAXR(JavaAPIforXMLRegistries)。
& }/ @* C7 r9 P2 b0 q' {打造最好的电脑自学交流论坛
* S0 k0 p: X* U+ @- O我爱电脑技术社区--打造最好的电脑技术自学交流平台13.你应该学习如何利用Java的API和工具来构建WebService。例如JAX-RPC(JavaAPIforXML/RPC),SAAJ?(SOAPwithAttachmentsAPIforJava),JAXB(JavaArchitectureforXMLBinding),JAXM(JavaAPIforXMLMessaging),?JAXR(JavaAPIforXMLRegistries),或者JWSDP(JavaWebServicesDeveloperPack)。 我爱电脑技术社区--打造最好的电脑技术自学交流平台9 C+ g9 ~/ D; T* E7 `2 L8 l
www.520diannao.com+ k9 Q5 i% s$ b5 T7 |$ w4 x2 l
14.你需要学习一门轻量级应用程序框架,例如Spring,PicoContainer,Avalon,以及它们的IoC/DI风格(setter,constructor,interfaceinjection)。
) f u) x1 y y, g- Y$ p% \我爱电脑技术社区--打造最好的电脑技术自学交流平台我爱电脑技术社区--打造最好的电脑技术自学交流平台. S6 Q2 ^& ]9 k1 R& y9 i. \& C
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)。
+ L$ d- {4 h( b0 h$ @电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站
- t7 U" t8 \7 m1 hwww.520diannao.com17.你需要学习如何管理与配置一个J2EE应用程序服务器,如WebLogic,JBoss等,并且利用它的附加服务,例如簇类,连接池以及分布式处理支援。你还需要了解如何在它上面封装和配置应用程序并且能够监控、调整它的性能。
- i& {# }# W; D. u! x1 i! y& E
- K" g! U# q0 B% i% z) Q. r3 R我爱电脑技术社区--打造最好的电脑技术自学交流平台18.你需要熟悉面向方面的程序设计以及面向属性的程序设计(这两个都被很容易混淆的缩写为AOP),以及他们的主流Java规格和执行。例如AspectJ和AspectWerkz。 ) B3 M: A; {" \& N# n
www.520diannao.com" M) d3 f+ D1 y
19.你需要熟悉对不同有用的API和framework等来为你服务。例如Log4J(logging/tracing),Quartz?(scheduling),JGroups(networkgroupcommunication),JCache(distributedcaching),?Lucene(full-textsearch),JakartaCommons等等。 & m" p0 k, n8 B# u7 K
% J2 f0 m$ D% l2 ~1 [- cwww.520diannao.com20.你应该熟练掌握一种JavaIDE例如sunOne,netBeans,IntelliJIDEA或者Eclipse。(有些人更喜欢VI或EMACS来编写文件。随便你用什么了:)
3 t8 c, @* }! P5 D& c打造最好的电脑自学交流论坛
0 b4 H9 W; O' D, }8 m/ p, t电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站21.Java(精确的说是有些配置)是冗长的,它需要很多的人工代码(例如EJB),所以你需要熟悉代码生成工具,例如XDoclet。 www.520diannao.com( a" g. B1 k- |& o4 N8 R2 b6 Q
打造最好的电脑自学交流论坛, m. d0 G" v) C+ b6 A2 p! Q
22.你需要熟悉一种单元测试体系(JNunit),并且学习不同的生成、部署工具(Ant,Maven)。 www.520diannao.com. L I# G: c& `1 s$ C
打造最好的电脑自学交流论坛7 Y: x2 h- m; M* q( z
23.你需要熟悉一些在Java开发中经常用到的软件工程过程。例如RUP(RationalUnifiedProcess)andAgilemethodologies。 打造最好的电脑自学交流论坛6 t Z0 m0 N* d) s3 k" N( x
% Y* ~" ^2 X* C7 B- |. o/ j: y5 dwww.520diannao.com24.你还需要紧跟Java发展的步伐,比如现在可以深入的学习Webwork2.0
/ d7 g9 i" g) T% t! V& K! j打造最好的电脑自学交流论坛 W$ Q7 P# }' e- T5 |
25.你必需要对实际项目的开发流程有所了解,至少要有两个有实际应用价值的项目,而不是练习项目!因为现在企业看重的是你有没有实际的开发经验,真正开发经验的体现就是你做的项目,也就是有实际应用的项目!