Java advanced to become a master of the road

This article will tell you to learn Java need to reach the 25 goal, hoping to help you learn and find a job. Compare yourself that you have mastered how many of these 25 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 know UML, especially class, object, interaction and statediagrams.

2. You need to learn the basics of the Java language and its core libraries (collections, serialization, streams, networking,? Multithreading, reflection, event, handling, NIO, localization, and others).

3. You should know JVM, classloaders, cla *** eflect, as well as the basic work of garbage collection 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 master the ideas and methods of GUI design, and desktop programs SWING, AWT,? SWT. You should also understand the JavaBEAN mode UI component parts. JavaBEANS also be applied in the JSP to the business logic from the presentation layer.

5. You need to learn Java database technology, and will use at least one persistence / ORM framework, such as Hibernate, JDO,? CocoBase, TopLink, InsideLiberator (JDO red factory-made software) or iBatis.

6. You should also understand the object-relational impedance mismatch of the meaning, and how it affects the interaction of business objects and relational databases, and its operating results, but also need to master the use of different database products, such as racle, mysql, mssqlserver.

7. You need to learn Servlets, JSP, and JSTL (StandardTagLibraries) and third-party TagLibraries can be selected.

8. 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.

9. You need to learn how to use and manage Web server, such as tomcat, resin, Jrun, and know how to expand and maintain Web applications on its basis.

10. You need to learn distributed objects 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, including JavaEE itself.

12. You need to learn at least one XMLAPI, such as JAXP (JavaAPIforXMLProcessing), JDOM (JavaforXMLDocumentObjectModel), DOM4J, or JAXR (JavaAPIforXMLRegistries).

13. You should learn how to build a WebService using the Java API and tools. For example JAX- RPC (JavaAPIforXML / RPC), SAAJ? (SOAPwithAttachmentsAPIforJava), JAXB (JavaArchitectureforXMLBinding), JAXM (JavaAPIforXMLMessaging) ,? JAXR (JavaAPIforXMLRegistries), or JWSDP (JavaWebServicesDeveloperPack).

14. You need to learn a lightweight application framework, such as Spring, PicoContainer, Avalon, and their IoC / DI style (setter, constructor, interfaceinjection).

15. You need to know the different J2EE technologies such as JNDI (JavaNamingandDirectoryInterface), JMS? (JavaMessageService), JTA / JTS (JavaTransactionAPI / JavaTransactionService), JMX? (JavaManagementeXtensions), and JavaMail.

16. You need to learn Enterprise JavaBeans (EJB) components and their different modes:? Stateless / StatefulSessionBeans, EntityBeans (? Contains 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, etc., and take advantage of its additional services, such as cluster classes, connection pooling and distributed processing support. You also need to know how and be able to monitor on it and configure the application package and adjust its performance.

18. You need to be familiar aspect-oriented programming and attribute-oriented programming (both have been very easy to confuse the abbreviations for the AOP), as well as their mainstream Java specification and implementation. Such as AspectJ and AspectWerkz.

19. You need to be familiar with different useful API and framework and other services to you. For example Log4J (logging / tracing), Quartz (scheduling), JGroups (networkgroupcommunication), JCache (distributedcaching) ,? Lucene (full- textsearch), JakartaCommons like.

20. You should master a skilled JavaIDE example sunOne, netBeans, IntelliJIDEA or Eclipse. (Some people prefer to write the document VI or EMACS. Whatever you use :)

21.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.

22. You need to be familiar with one unit with the test system (JNunit), and learn different generation, deployment tools (Ant, Maven).

23. You need to be familiar with some software engineering often used in Java development process. E.g. RUP (RationalUnifiedProcess) andAgilemethodologies.

24. You also need to keep pace with the development of Java, for example, can now be in-depth study Webwork2.0

25. You will need to have the actual project development process to understand, there must be at least two items of practical value, rather than practice project! Because now business value is that you have no practical experience in the development, real development experience manifestation of the project you do, there is the practical application of the project!

These data need Java architecture, private concerns and believe me, "architecture", first come first served!

Guess you like

Origin blog.51cto.com/13954634/2417600