Self-reference Java learning objectives 30

Self-reference: Java learning objectives 30
This article will tell you to learn Java need to reach the 30 goal, hoping to help you compare yourself to learn, you have mastered how many of these 30 of it.?
1. you need to be proficient in object-oriented analysis and design (OOA / OOD), involving patterns (GOF, J2EEDP) and integrated mode. you should fully understand UML, particularly class, object, interaction and statediagrams.
2. you need to learn JAVA language basics and its core libraries (collections, serialization, streams, networking , multithreading, reflection, event, handling, NIO, localization, and others).
3. you should understand the basic JVM, classloaders, classreflect, as well as garbage collection working mechanism. you should be able to decompile a class file and understand some basic assembly instructions.
4. If you will write a client program, you need to learn a small WEB application (applet), necessary to grasp the idea of GUI design and methods, as well as desktop programs SWING, AWT, SWT. you should also understand .JAVABEANS of JAVABEAN mode UI component parts are also used in JSP to the business logic Separating out from the presentation layer.
5. You need to learn java database technology, such as JDBCAPI and will use at least one persistence / ORM framework, e.g. Hibernate, JDO, CocoBase, TopLink, InsideLiberator ( JDO red factory-made software) or iBatis.
6. You should also understand the meaning of object-relational impedance mismatch, and interaction how it affects the business objects and relational databases, and its operating results, but also need to master the use of different database products, such as: oracle, mysql , the MSSQLServer.
7. you need to learn JAVA sandbox security model (ClassLoaders, bytecodeverification, Managers, policyandpermissions,
codesigning, DigitalSignatures, Cryptography, certification, the Kerberos, and others) there are different security / authentication API, such as JAAS (JavaAuthenticationandAuthorizationService) , JCE (JavaCryptographyExtension), JSSE ( JavaSecureSocketExtension), and JGSS (JavaGeneralSecurityService).
8. you need to learn Servlets, JSP, and JSTL (StandardTagLibraries) and third-party TagLibraries can select.
9. you need to know the mainstream web frameworks such as JSF, Struts, Tapestry, Cocoon, WebWork, and they involved the following models, such as MVC / MODEL2.
10. you need to learn how to use and management of WEB server, such as tomcat, resin, Jrun, and know how to expand on its basis and WEB maintenance program.
11. you need to learn distributed As well as Remote API, also e.g. RMI and RMI / IIOP.
12. The you need to have a variety of popular standards and middleware technology combined with the java implementation, such as Tuxedo, CROBA, of course, include javaEE itself.
13. You need XMLAPI least one study, for example JAXP (JavaAPIforXMLProcessing), JDOM (JavaforXMLDocumentObjectModel ), DOM4J, or the JAXR (JavaAPIforXMLRegistries).
14. A You should learn how to use the tools to build and JAVAAPI WebService. E.g. JAX-RPC (JavaAPIforXML / RPC), SAAJ (SOAPwithAttachmentsAPIforJava) , JAXB (JavaArchitectureforXMLBinding), JAXM (JavaAPIforXMLMessaging), JAXR (JavaAPIforXMLRegistries), or JWSDP (JavaWebServicesDeveloperPack).
15. The you need to learn a lightweight application framework, such as Spring, PicoContainer, Avalon , as well as their IoC / DI style (setter, constructor, interfaceinjection).
16. the you need to be familiar with the different J2EE technologies such as JNDI (JavaNamingandDirectoryInterface), JMS (JavaMessageService ), JTA / JTS (JavaTransactionAPI / JavaTransactionService), JMX (JavaManagementeXtensions) and JavaMail.
17. You need to learn Enterprise JavaBeans (EJB) components and their different modes: Stateless / StatefulSessionBeans, EntityBeans (containing Bean-ManagedPersistence [BMP] or Container-ManagedPersistence [CMP] and its EJB-QL), or Message-DrivenBeans (the MDB).
18. the you need to learn how to manage and configure a J2EE application server such as WebLogic, JBoss, etc., and take advantage of its additional services, such as cluster classes, connection pooling and distributed processing support. you also need to know how to above it and configure the application package and the ability to monitor and adjust its performance.
19. you need to be familiar with programming and attribute-oriented aspect-oriented programming (both have been very easy to confuse the abbreviations for the AOP), as well as their mainstream JAVA specification and implementation. for example AspectJ and AspectWerkz.
20. the you need to be familiar with different useful API and frame \ u001E \ u001Ework like for you. for example Log4J (logging / tracing), Quartz (scheduling), JGroups (networkgroupcommunication) , JCache (distributedcaching), Lucene ( full-textsearch), JakartaCommons , etc.
21. If you want to dock or working with older systems Or the local platform, you need to learn JNI (JavaNativeInterface) and JCA (JavaConnectorArchitecture).
22. The JINI you need to be familiar with its technology and related distributed systems, such as master CROBA.
23. You need JavaCommunityProcess (JCP) and his different JavaSpecificationRequests (JSRs), such as Portlets (168), JOLAP (69 ), DataMiningAPI (73), and so on.
24. You should perfect command of one JAVAIDE example sunOne, netBeans, IntelliJIDEA or Eclipse. (some people prefer to write papers VI or EMACS. whatever you use :)
25.JAVA (accurate to say that some configurations) is lengthy, it requires a lot of manual code (such as EJB), so you need to be familiar with code generation tools, such as XDoclet.
26. the test you need to be familiar one unit with the system (JNunit), and learn different generation, deployment tools (Ant, Maven).
27. the you need to familiarize yourself with some frequently used in the development of JAVA the software engineering process. For example RUP (RationalUnifiedProcess) andAgilemethodologies.
28. the insight you need to be able to add different skilled operation and configuration of operating systems such as GNU / linux, sunsolaris, macOS, etc., as a developer of cross-platform software.
29 you also need to keep up with the pace of development of java, for example, can now be in-depth study javaME, as well as various java new specification, the use of technology, such as starting a new web rich client technology.
30. you will need opensource understand, because at least a lot of java technology is directly driven by the open-source development, such as java3D technology.

Reproduced in: https: //www.cnblogs.com/521taobao/archive/2012/03/17/2402464.html

Guess you like

Origin blog.csdn.net/weixin_33881140/article/details/94069011