﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-Robort-文章分类-J2ee</title><link>http://www.blogjava.net/zzyuuu/category/39778.html</link><description>机器人思维</description><language>zh-cn</language><lastBuildDate>Tue, 26 May 2009 10:17:49 GMT</lastBuildDate><pubDate>Tue, 26 May 2009 10:17:49 GMT</pubDate><ttl>60</ttl><item><title>学习Java的30个目标</title><link>http://www.blogjava.net/zzyuuu/articles/277833.html</link><dc:creator>代号zzy</dc:creator><author>代号zzy</author><pubDate>Mon, 25 May 2009 07:04:00 GMT</pubDate><guid>http://www.blogjava.net/zzyuuu/articles/277833.html</guid><wfw:comment>http://www.blogjava.net/zzyuuu/comments/277833.html</wfw:comment><comments>http://www.blogjava.net/zzyuuu/articles/277833.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zzyuuu/comments/commentRss/277833.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zzyuuu/services/trackbacks/277833.html</trackback:ping><description><![CDATA[<strong>1.</strong>你需要精通面向对象分析与设计(OOA/OOD)、设计模式(GOF，J2EEDP)以及综合模式。 <br />
你应该十分了解UML，尤其是class，object，interaction以及statediagrams。 <br />
<br />
<strong>2.</strong>你需要学习JAVA语言的基础知识以及它的核心类库 <br />
collections， <br />
serialization， <br />
streams， <br />
networking， <br />
multithreading， <br />
reflection， <br />
event， <br />
handling， <br />
NIO， <br />
localization， <br />
以及其他 <br />
<br />
<strong>3.</strong>你应该了解JVM，classloaders，classreflect，以及垃圾回收的基本工作机制等。 <br />
你应该有能力反编译一个类文件并且明白一些基本的汇编指令。 <br />
<br />
<strong>4.</strong>如果你将要写客户端程序，你需要学习WEB的小应用程序(applet)， <br />
必需掌握GUI设计的思想和方法，以及桌面程序的Swing，AWT， SWT。 <br />
你还应该对UI部件的javabeans组件模式有所了解。 <br />
javabeans也被应用在JSP中以把业务逻辑从表现层中分离出来。 <br />
<br />
<strong>5.</strong>你需要学习java数据库技术，如JDBC API并且会使用至少一种persistence/ORM构架， <br />
例如 <br />
Hibernate， <br />
JDO， <br />
CocoBase， <br />
TopLink， <br />
InsideLiberator(国产JDO红工厂软件) <br />
或者iBatis。 <br />
<br />
<strong>6.</strong>你还应该了解对象关系的阻抗失配的含义，以及它是如何影响业务对象的与关系型数据库的交互，和它的运行结果，还需要掌握不同的数据库产品运用， <br />
比如: <br />
oracle， <br />
mysql， <br />
mssqlserver。 <br />
<br />
<strong>7.</strong>你需要学习JAVA的沙盒安全模式(classloaders，bytecodeverification，managers，policyandpermissions， <br />
codesigning， digitalsignatures，cryptography，certification，Kerberos，以及其他)还有不同的安全/认证 API，例如JAAS(JavaAuthenticationandAuthorizationService)，JCE (JavaCryptographyExtension)，JSSE(JavaSecureSocketExtension)，以及JGSS (JavaGeneralSecurityService)。 <br />
<br />
<strong>8.</strong>你需要学习Servlets，JSP，以及JSTL(StandardTagLibraries)和可以选择的第三方TagLibraries。 <br />
<br />
<strong>9.</strong>你需要熟悉主流的网页框架， <br />
例如 <br />
JSF， <br />
Struts， <br />
Tapestry， <br />
Cocoon， <br />
WebWork， <br />
以及他们下面的设计模式，如MVC/MODEL2。 <br />
<br />
<strong>10.</strong>你需要学习如何使用及管理WEB服务器，例如tomcat，resin，Jrun，并且知道如何在其基础上扩展和维护WEB程序。 <br />
<br />
<strong>11.</strong>你需要学习分布式对象以及远程API，例如RMI和RMI/IIOP。 <br />
<strong>12.</strong>你需要掌握各种流行中间件技术标准和与java结合实现，比如Tuxedo、CROBA，当然也包括javaEE本身。 <br />
<br />
<strong>13.</strong>你需要学习最少一种的XML API， <br />
例如 <br />
JAXP(JavaAPIforXMLProcessing)， <br />
JDOM(JavaforXMLDocumentObjectModel)， <br />
DOM4J， <br />
或JAXR(JavaAPIforXMLRegistries)。 <br />
<br />
<strong>14.</strong>你应该学习如何利用JAVAAPI和工具来构建WebService。 <br />
例如 <br />
JAX-RPC(JavaAPIforXML/RPC)， <br />
SAAJ (SOAPwithAttachmentsAPIforJava)， <br />
JAXB(JavaArchitectureforXMLBinding)， <br />
JAXM(JavaAPIforXMLMessaging)， <br />
JAXR(JavaAPIforXMLRegistries)， <br />
或者JWSDP(JavaWebServicesDeveloperPack)。 <br />
<br />
<strong>15.</strong>你需要学习一门轻量级应用程序框架， <br />
例如 <br />
Spring， <br />
PicoContainer， <br />
Avalon， <br />
以及它们的IoC/DI风格(setter，constructor，interfaceinjection)。 <br />
<br />
<strong>16.</strong>你需要熟悉不同的J2EE技术， <br />
例如 <br />
JNDI(JavaNamingandDirectoryInterface)， <br />
JMS (JavaMessageService)， <br />
JTA/JTS(JavaTransactionAPI/JavaTransactionService)， <br />
JMX (JavaManagementeXtensions)， <br />
以及JavaMail。 <br />
<br />
<strong>17.</strong>你需要学习企业级JavaBeans(EJB)以及它们的不同组件模式： <br />
Stateless/StatefulSessionBeans， <br />
EntityBeans(包含Bean- ManagedPersistence[BMP] <br />
或者Container-ManagedPersistence[CMP]和它的EJB-QL)， <br />
或者 Message-DrivenBeans(MDB)。 <br />
<br />
<strong>18.</strong>你需要学习如何管理与配置一个J2EE应用程序服务器， <br />
如 <br />
WebLogic， <br />
JBoss等， <br />
<br />
并且利用它的附加服务， <br />
例如 <br />
簇类， <br />
连接池 <br />
以及分布式处理支援。 <br />
<br />
你还需要了解如何在它上面封装和配置应用程序并且能够监控、调整它的性能。 <br />
<br />
<strong>19.</strong>你需要熟悉面向方面的程序设计以及面向属性的程序设计(这两个都被很容易混淆的缩写为AOP)，以及他们的主流JAVA规格和执行。例如 <br />
AspectJ <br />
AspectWerkz。 <br />
<br />
<strong>20.</strong>你需要熟悉对不同有用的API和frame work等来为你服务。 <br />
例如 ： <br />
Log4J(logging/tracing)， <br />
Quartz (scheduling)， <br />
JGroups(networkgroupcommunication)， <br />
JCache(distributedcaching)， <br />
Lucene(full-textsearch)， <br />
JakartaCommons等等。 <br />
<br />
<strong>21.</strong>如果你将要对接或者正和旧的系统或者本地平台，你需要学习JNI (JavaNativeInterface) and JCA (JavaConnectorArchitecture)。 <br />
<br />
<strong>22.</strong>你需要熟悉JINI技术以及与它相关的分布式系统，比如掌握CROBA。 <br />
<br />
<strong>23.</strong>你需要JavaCommunityProcess(JCP)以及他的不同JavaSpecificationRequests(JSRs)， <br />
例如 <br />
Portlets(168)， <br />
JOLAP(69)， <br />
DataMiningAPI(73)， <br />
等等。 <br />
<br />
<strong>24.</strong>你应该熟练掌握一种JAVAIDE <br />
例如 <br />
sunOne， <br />
netBeans， <br />
IntelliJIDEA <br />
或者Eclipse。 <br />
(有些人更喜欢VI或EMACS来编写文件。随便你用什么了：) <br />
<br />
<strong>25.</strong>JAVA(精确的说是有些配置)是冗长的，它需要很多的人工代码(例如EJB)，所以你需要熟悉代码生成工具， <br />
例如 <br />
XDoclet。 <br />
<br />
<strong>26.</strong>你需要熟悉一种单元测试体系(JNunit)，并且学习不同的生成、部署工具(Ant，Maven)。 <br />
<br />
<strong>27.</strong>你需要熟悉一些在JAVA开发中经常用到的软件工程过程。 <br />
例如 <br />
RUP(RationalUnifiedProcess)andAgilemethodologies。 <br />
<br />
<strong>28.</strong>你需要能够深入了解加熟练操作和配置不同的操作系统，比如GNU/linux，sunsolaris，macOS等，做为跨平台软件的开发者。 <br />
<br />
<strong>29.</strong>你还需要紧跟java发展的步伐，比如现在可以深入的学习javaME，以及各种java新规范，技术的运用，如新起的web富客户端技术。 <br />
<strong><br />
30.</strong>你必需要对opensource有所了解，因为至少java的很多技术直接是靠开源来驱动发展的，如java3D技术。 
<img src ="http://www.blogjava.net/zzyuuu/aggbug/277833.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zzyuuu/" target="_blank">代号zzy</a> 2009-05-25 15:04 <a href="http://www.blogjava.net/zzyuuu/articles/277833.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>