1. You need to master the object-oriented analysis and design (OOA / OOD), involving patterns (GOF, J2EEDP) as well as the integrated model. You should understand the UML, especially class, object, interaction and statediagrams.
2. You need to learn basic knowledge of Java language, as well as its core class libraries (collections, serialization, streams, networking, multithreading, reflection, event, handling, NIO, localization, as well as others).
3. You should know JVM, classloaders, classreflect and garbage collection mechanisms, such as the basic job. You should be able to decompile a class file and understand some basic compilation instructions.
4. If you will write a client program, you need to study a small Web application (applet), necessary to master GUI design ideas and methods, as well as desktop programs SWING, AWT, SWT. You should also UI components to JavaBean component model to understand. JavaBeans are also used in JSP in order to put business logic from the presentation layer separated.
5. You need to study Java database technology, and will use at least one persistence / ORM framework, such as Hibernate, JDO, CocoBase, TopLink, InsideLiberator (domestic JDO red factory software) or iBatis.
6. You should also understand the object-relational impedance mismatch, as well as the meaning, how it affects the business objects and relational database interaction, and its results. Also required to master the use of different database products, such as Oracle, MySQL, SQL server.
7. You need to study Servlets, JSP, and JSTL (StandardTagLibraries) and select third-party TagLibraries.
8. You need to be familiar with the mainstream of the page framework, such as JSF, Struts, Tapestry, Cocoon, WebWork, and they involve the following models, such as MVC/MODEL2.
9. You need to learn how to use and manage Web servers, such as tomcat, resin, Jrun, and know how, in its foundation on the expansion and maintenance of Web procedures.
10. You need to study distributed object and remote API, such as RMI and RMI / IIOP.
11. You need to master a variety of popular standards and middleware technology combined with the Java implementation, such as Tuxedo, CROBA, of course, include JavaEE itself.
12. You need to study at least one of XMLAPI, such as JAXP (JavaAPIforXMLProcessing), JDOM (JavaforXMLDocumentObjectModel), DOM4J or a JAXR (JavaAPIforXMLRegistries).
13. You should study how to use Java-API and tools to build a WebService. For example, JAX-RPC (JavaAPIforXML / RPC), SAAJ (SOAPwithAttachmentsAPIforJava), JAXB (JavaArchitectureforXMLBinding), JAXM (JavaAPIforXMLMessaging), JAXR (JavaAPIforXMLRegistries) or JWSDP (JavaWebServicesDeveloperPack).
14. You need to study a lightweight application framework, such as Spring, PicoContainer, Avalon, as well as their IoC / DI style (setter, constructor, interfaceinjection).
15. You need to be familiar with various J2EE technologies such as JNDI (JavaNamingandDirectoryInterface), JMS (JavaMessageService), JTA / JTS (JavaTransactionAPI / JavaTransactionService), JMX (JavaManagementeXtensions), and JavaMail.
16. You need to study Enterprise JavaBeans (EJB) as well as their different component models: Stateless / StatefulSessionBeans, EntityBeans (contains the Bean-ManagedPersistence [BMP] or Container-ManagedPersistence [CMP] and its EJB-QL), or Message - DrivenBeans (MDB).
17. You need to learn how to manage and configure a J2EE application server, such as WebLogic, JBoss and so on, and take advantage of its additional services, such as cluster type, connection pool, as well as support for distributed processing. You also need to learn how to package and configure it above application and be able to monitor, adjust its performance.
18. You need to be familiar with aspect-oriented programming, as well as attribute-oriented programming (these two have been very easy to confuse the abbreviation for the AOP), as well as their mainstream Java specification and implementation. Such as AspectJ and AspectWerkz.
19. You need to be familiar with the different API and a useful frame work and other services for you. For example Log4J (logging / tracing), Quartz (scheduling), JGroups (networkgroupcommunication), JCache (distributedcaching), Lucene (full-textsearch), JakartaCommons and so on.
20. You should master a JavaIDE such as sunOne, netBeans, IntelliJIDEA or Eclipse. (Some people prefer to VI or EMACS to write documents. Not what you use)
21. Java (Say yes and some precise configuration) are lengthy, it required a lot of manual code (for example, EJB), so you need to be familiar with code generation tools, such as XDoclet.
22. You need to be familiar with a unit testing system (JNunit), and study different generation, deployment tools (Ant, Maven).
23. You need to be familiar with Java development in the frequently used software engineering process. Such as RUP (RationalUnifiedProcess) andAgilemethodologies.
24. You also need to keep up with the pace of Java development, such as depth study can now Webwork2.0.
25. You will be required of the actual project development process to understand, at least two have the practical application of the value of the item, rather than practicing project! Enterprise value because now you have no real development experience, the real development experience embodiment of the item is what you make, that is, the project has practical applications!