Self-reference: 30 goals of Java learning

Source: Internet
Author: User
Tags connection pooling garbage collection reference client
This article will tell you the 30 goals you need to learn Java, hoping to help you with your study. Compared to yourself, you have mastered the number of these 30 of the article?

1. You need to be proficient in object-oriented analysis and Design (ooa/ood), involving patterns (GOF,J2EEDP), and integrated models. You should have a great understanding of UML, especially Class,object,interaction and Statediagrams.

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

3. You should understand the jvm,classloaders,classreflect, and the basic working mechanism of garbage collection. You should be able to decompile a class file and understand some basic assembly instructions.

4. If you are going to write a client program, you need to learn about the web's small Application (applet), the idea and method of GUI design, and the swing,awt of desktop programs, SWT. You should also be aware of the JavaBean component patterns of the UI components. JavaBeans is also used in JSP to separate the business logic from the presentation layer.

5. You need to learn Java database technology, such as JDBCAPI, and use at least one persistence/orm architecture, such as Hibernate,jdo, Cocobase,toplink,insideliberator ( Domestic JDO Red Factory software) or Ibatis.

6. You should also understand the meaning of the impedance mismatch of the object relationship, and how it affects the interaction of the business object with the relational database, and the results of its operation, and also need to master different database product applications, such as: Oracle,mysql,mssqlserver.

7. You need to learn Java Sandbox security mode (Classloaders,bytecodeverification,managers,policyandpermissions,
Codesigning, Digitalsignatures,cryptography,certification,kerberos, and others) also have different security/authentication APIs, such as Jaas ( Javaauthenticationandauthorizationservice), JCE (javacryptographyextension), JSSE (javasecuresocketextension), and JGSS (Javageneralsecurityservice).

8. You need to learn servlets,jsp, as well as Jstl (standardtaglibraries) and alternative third party taglibraries.

9. You need to familiarize yourself with the mainstream web frames, such as jsf,struts,tapestry,cocoon,webwork, and the following patterns, such as Mvc/model2.

10. You need to learn how to use and manage Web servers, such as Tomcat,resin,jrun, and know how to extend and maintain web programs on their basis.

11. You need to learn about distributed objects and remote APIs, such as RMI and RMI/IIOP.

12. You need to master a variety of popular middleware technology standards and implementations with Java, such as Tuxedo, Croba, and of course, Java EE itself.

13. You need to learn at least one kind of xmlapi, such as JAXP (javaapiforxmlprocessing), JDOM (Javaforxmldocumentobjectmodel), dom4j, or JAXR ( javaapiforxmlregistries).

14. You should learn how to use JAVAAPI and tools to build webservice. For example, Jax-RPC (JAVAAPIFORXML/RPC), SAAJ (Soapwithattachmentsapiforjava), JAXB (javaarchitectureforxmlbinding), JAXM ( javaapiforxmlmessaging), JAXR (javaapiforxmlregistries), or JWSDP (Javawebservicesdeveloperpack).

15. You need to learn a lightweight application framework, such as Spring,picocontainer,avalon, and their ioc/di style (setter,constructor,interfaceinjection).

16. You need to be familiar with different Java EE Technologies, such as Jndi (Javanaminganddirectoryinterface), JMS (Javamessageservice), Jta/jts (javatransactionapi/ Javatransactionservice), JMX (Javamanagementextensions), and JavaMail.

17. You need to learn about Enterprise-class JavaBeans (EJB) and their different component modes: Stateless/statefulsessionbeans,entitybeans (including bean-managedpersistence[bmp) or container-managedpersistence[cmp] and its ejb-ql, or Message-drivenbeans (MDB).

18. You need to learn how to manage and configure a Java EE application server, such as Weblogic,jboss, and leverage its additional services, such as cluster classes, connection pooling, and distributed processing support. You also need to know how to encapsulate and configure the application on top of it and be able to monitor and adjust its performance.

19. You need to be familiar with aspect-oriented programming and attribute-oriented programming (both of which are easily confusing abbreviations for AOP), as well as their mainstream Java specs and execution. such as AspectJ and Aspectwerkz.

20. You need to be familiar with the different useful APIs and frameworks to serve you. For example log4j (logging/tracing), Quartz (scheduling), JGroups (networkgroupcommunication), Jcache (distributedcaching), Lucene (Full-textsearch), jakartacommons, and so on.

21. If you are going to dock or forward with the old system or the local platform, you need to learn JNI (Javanativeinterface) and JCA (javaconnectorarchitecture).

22. You need to familiarize yourself with the Jini technology and the distributed systems associated with it, such as mastering Croba.

23. You need Javacommunityprocess (JCP) and his different javaspecificationrequests (JSRS), such as Portlets (), JOLAP (), Dataminingapi ( 73), and so on.

24. You should be proficient in a javaide such as Sunone,netbeans,intellijidea or Eclipse. (Some people prefer VI or Emacs to write files.) Whatever you use:

25.JAVA (which is precisely some configuration) is verbose, it requires a lot of manual code (such as EJB), so you need to be familiar with code generation tools such as Xdoclet.

26. You need to be familiar with a unit testing system (JNUNIT) and learn different build and deploy tools (Ant,maven).

27. You need to be familiar with some of the software engineering processes that are often used in Java development. For example, the RUP (rationalunifiedprocess) andagilemethodologies.

28. You need to be able to gain insight into the operation and configuration of different operating systems, such as Gnu/linux,sunsolaris,macos, as a cross-platform software developer.

29. You also need to follow the steps of Java development, such as now in-depth learning javame, as well as a variety of Java new specifications, the use of technology, such as the new Web rich client technology.

30. You will need to know something about opensource, because at least a lot of Java technology is directly driven by open source, such as JAVA3D technology.



Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.