30 goals of learning java

Source: Internet
Author: User

 

After reading this article on the internet, I suddenly felt that my learning journey was still quite long. In the next few months, I will continue to step by step with this content. Come on!

1. You need to be proficient in Object-Oriented Analysis and Design (OOA/OOD), design patterns (GOF, J2EEDP), and comprehensive patterns.

You should be familiar with UML, especially class, object, interaction, and statediagrams.

 

2. You need to learn the basic knowledge of the JAVA language and its core class library.

Collections,

Serialization,

Streams,

Networking,

Multithreading,

Reflection,

Event,

Handling,

NIO,

Localization,

And others

 

3. You should understand 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 commands.

 

4. If you want to write a client program, you need to learn the WEB applet ),

You must master the ideas and methods of GUI Design, as well as the Swing, AWT, and SWT of desktop programs.

You should also have some knowledge about the UI component's javabeans component mode.

Javabeans are also applied in JSP to separate the business logic from the presentation layer.

 

5. You need to learn java database technologies, such as JDBC APIs, and use at least one persistence/ORM architecture,

For example

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 between the business object and the relational database, and its running results, you also need to master the use of different database products,

For example:

Oracle,

Mysql,

Mssqlserver.

 

7. You need to learn about the JAVA sandbox security mode (classloaders, bytecodeverification, managers, policyandpermissions,

Codesigning, digitalsignatures, cryptography, certification, Kerberos, and others) have different security/authentication APIs, such as JAAS (pipeline), JCE (JavaCryptographyExtension), JSSE (JavaSecureSocketExtension ), and JGSS (JavaGeneralSecurityService ).

 

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

 

9. You need to familiarize yourself with mainstream web frameworks,

For example

JSF,

Struts,

Tapestry,

Cocoon,

WebWork,

And the following design patterns, such as MVC/MODEL2.

 

10. You need to learn how to use and manage WEB servers, such as tomcat, resin, and Jrun, and know how to expand and maintain WEB programs based on them.

 

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

12. You need to master various popular middleware technical standards and implement them in combination with java, such as Tuxedo and CROBA, and of course javaEE itself.

 

13. You need to learn at least one xml api,

For example

JAXP (JavaAPIforXMLProcessing ),

JDOM (javaforxmlincluentobjectmodel ),

DOM4J,

Or JAXR (JavaAPIforXMLRegistries ).

 

14. You should learn how to use Java API and tools to build WebService.

For example

JAX-RPC (JavaAPIforXML/RPC ),

SAAJ (SOAPwithAttachmentsAPIforJava ),

JAXB (javaubuntureforxmlbinding ),

JAXM (JavaAPIforXMLMessaging ),

JAXR (JavaAPIforXMLRegistries ),

Or JWSDP (JavaWebServicesDeveloperPack ).

 

15. You need to learn a lightweight application framework,

For example

Spring,

PicoContainer,

Aveon,

And their IoC/DI style (setter, constructor, interfaceinjection ).

 

16. You need to be familiar with different J2EE technologies,

For example

JNDI (JavaNamingandDirectoryInterface ),

JMS (JavaMessageService ),

JTA/JTS (JavaTransactionAPI/JavaTransactionService ),

JMX (JavaManagementeXtensions ),

And JavaMail.

 

17. You need to learn enterprise-level 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 J2EE application server,

For example

WebLogic,

JBoss, etc,

 

And use its additional services,

For example

Cluster class,

Connection Pool

And distributed processing support.

 

You also need to know how to encapsulate and configure an application on it and monitor and adjust its performance.

 

19. You need to be familiar with Aspect-Oriented Programming and Attribute-oriented programming (both of which are easily confused by AOP), as well as their mainstream JAVA specifications and execution. For example

AspectJ

AspectWerkz.

 

20. You need to be familiar with different useful APIs and frame work to serve you.

For example:

Log4J (logging/tracing ),

Quartz (scheduling ),

JGroups (networkgroupcommunication ),

JCache (distributedcaching ),

Lucene (full-textsearch ),

JakartaCommons.

 

21. If you want to connect to or align with the old system or local platform, you need to learn JNI (JavaNativeInterface) and JCA (JavaConnectorArchitecture ).

 

22. You need to be familiar with JINI technology and distributed systems related to it, such as CROBA.

 

23. You need JavaCommunityProcess (JCP) and its different metrics pecificationrequests (JSRs ),

For example

Portlets (168 ),

JOLAP (69 ),

DataMiningAPI (73 ),

And so on.

 

24. You should be familiar with a Java ide

For example

SunOne,

NetBeans,

IntelliJIDEA

Or Eclipse.

(Some prefer VI or EMACS to write files. Whatever you use :)

 

25. JAVA (precisely some configurations) is lengthy and requires a lot of manual code (such as EJB). Therefore, you need to be familiar with the code generation tool,

For example

XDoclet.

 

26. You need to familiarize yourself with a unit testing system (JNunit) and learn different generation and deployment tools (Ant and Maven ).

 

27. You need to be familiar with some software engineering processes that are frequently used in JAVA development.

For example

RUP (RationalUnifiedProcess) andAgilemethodologies.

 

28. You need to be able to gain an in-depth understanding of the addition of skilled operations and configuration of different operating systems, such as GNU/linux, sunsolaris, and macOS, as cross-platform software developers.

 

29. You also need to keep up with the pace of java development. For example, you can now study javaME in depth and use various new java specifications and technologies, such as the new web rich client technology.

 

30. You must understand opensource, because at least many java technologies are directly driven by open source, such as java3D technology.

 

Author's "Stupid Workshop"

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.