25 learning points for becoming a Java master

Want to be a Java bull? Here are 25 points for learners.

  1. You need to be proficient in object-oriented analysis and design (OOA / OOD), involved patterns (GOF, J2EE DP) and integrated patterns. You should know 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 know the basic working mechanism of JVM, classloaders, classreflect and garbage collection. You should be able to decompile a class file and understand some basic assembly instructions.

  4. If you are going to write client programs, you need to learn web applets. You must master the ideas and methods of GUI design, as well as swing, AWT and SWT of desktop programs. You should also understand the JavaBean component pattern of UI components. JavaBeans is also applied in JSP to separate business logic from the presentation layer.

  5. You need to learn java database technology 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 impedance mismatch of object relationship and how it affects the interaction between business objects and relational databases, and its running results. You also need to master the application of different database products, such as Oracle, MySQL and SQL server.

  7. You need to learn about servlets, JSP, JSTL (standard tag libraries) and optional third-party tag libraries.

  8. You need to be familiar with mainstream web page frameworks, such as JSF, struts, tapestry, cocoon, webwork, and their following involved patterns, such as MVC / model2.

  9. You need to learn how to use and manage web servers, such as tomcat, resin and jrun, and how to extend and maintain web programs based on them.

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

  11. You need to master various popular middleware technical standards and their combination with Java, such as tuxedo, croba, and of course, Java EE itself.

  12. You need to learn at least one XML API, such as jaxp (Java API for XML processing), JDOM (Java for XML document object model), Dom4j or jaxr (Java API for XML registers).

  13. You should learn how to use Java APIs and tools to build web services. For example, jax-rpc (Java API for XML / RPC), saaj (soap with attachments API for Java), JAXB (Java architecture for XML binding), JAXM (Java API for XML messaging), jaxr (Java API for XML registries), or jwsdp (Java Web Services Developer pack).

  14. You need to learn a lightweight application framework, such as spring, PicoContainer, Avalon, and their IOC / di style (setter, constructor, interface injection).

  15. You need to be familiar with different J2EE technologies, such as JNDI (Java Naming and Directory Interface), JMS (Java Message Service), JTA / JTS (Java transaction API / Java transaction service), JMX (Java management extensions), and JavaMail.

  16. You need to learn Enterprise JavaBeans (EJBs) and their different component patterns: stateless / stateful sessionbeans, entitybeans (including bean managed persistence [BMP] or container managed persistence [CMP] and its ejb-ql), or message driven beans (MDB).

  17. You need to learn how to manage and configure a J2EE application server, such as Weblogic and JBoss, and use its additional services, such as cluster classes, connection pooling and distributed processing support. You also need to know how to package and configure the application on it, and be able to monitor and adjust its performance.

  18. You need to be familiar with aspect oriented programming and attribute oriented programming (both are easily confused abbreviated as AOP), as well as their mainstream Java specifications and implementation. For example, AspectJ and aspectwerkz.

  19. You need to be familiar with different useful APIs and frameworks to serve you. For example, log4j (logging / tracing), quartz (scheduling), jgroups (network group communication), jcache (distributed caching), Lucene (full text search), Jakarta commons, and so on.

  20. You should be familiar with a Java IDE, such as SunOne, NetBeans, intellijidea, or eclipse. (some people prefer VI or Emacs to write documents. Whatever you use)

  21. Java (to be precise, some configurations) 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.

  22. You need to be familiar with a unit testing system (jnuninit) and learn different generation and deployment tools (ant, Maven).

  23. You need to be familiar with some software engineering processes often used in java development. For example, RUP (Rational Unified Process) and agile methods.

  24. You also need to keep up with the development of Java. For example, now you can deeply study webwork 2 0

  25. You must understand the development process of the actual project. There must be at least two projects with practical application value, not practice projects! Because now enterprises value whether you have actual development experience. The embodiment of real development experience is the projects you do, that is, the projects with practical applications!

The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>