25 Key learning points to be a Java guru

Source: Internet
Author: User
Tags connection pooling

25 Key learning points to be a Java guru

want to be a Java Daniel? Learn these 25 essentials.


1. You need to be proficient in object-oriented analysis and Design (ooa/ood), involving patterns (GOF,J2EEDP), and integrated patterns. You should understand 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 basic working mechanism of JVM, Classloaders, Classreflect and garbage collection. You should have the ability 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 the Web applet (applet), must master the GUI design ideas and methods, as well as the desktop program swing, AWT, SWT. You should also be aware of the JavaBean component pattern of the UI widget. JavaBeans is also used in JSPs 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 the impedance mismatch of the object relationship and how it affects the interaction between the business object and the relational database, and the results of its operation. There is also a need to master different database product applications, such as Oracle, MySQL, and SQL Server.


7. You need to learn servlets, JSP, and Jstl (Standardtaglibraries) and third-party taglibraries that you can choose.


8. You need to familiarize yourself with the mainstream web frameworks, such as JSF, Struts, Tapestry, Cocoon, WebWork, and their related patterns, such as Mvc/model2.


9. 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 top of them.


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


11. You need to master a variety of popular middleware technical standards and implemented in conjunction with Java, such as Tuxedo, Croba, and of course, Java EE itself.


12. You need to learn at least one of the XMLAPI, such as JAXP (javaapiforxmlprocessing), JDOM (Javaforxmldocumentobjectmodel), dom4j, or JAXR ( javaapiforxmlregistries).


13. You should learn how to use Java APIs and tools to build WebService. 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 be familiar with different EE technologies, such as Jndi (Javanaminganddirectoryinterface), JMS (Javamessageservice), Jta/jts ( Javatransactionapi/javatransactionservice), JMX (Javamanagementextensions), and JavaMail.


16. You need to learn about Enterprise-class JavaBeans (E J B) and their different component modes: Stateless/statefulsessionbeans, Entitybeans (including bean-managedpersistence[ BMP] or container-managedpersistence[cmp] and its e-J b-ql), or Message-drivenbeans (MDB).


17. You need to learn how to manage and Configure a Java EE application server, such as WebLogic, J boss, 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 encapsulate and configure applications on top of it and be able to monitor and tune its performance.


18. You need to be familiar with aspect-oriented programming and attribute-oriented programming (both of which are easily confusingly abbreviated as AOP), as well as their mainstream Java specifications and execution. such as AspectJ and Aspectwerkz.


19. You need to be familiar with different useful APIs and frame work to serve you. Examples include log4j (logging/tracing), Quartz (scheduling), JGroups (networkgroupcommunication), Jcache (distributedcaching), Lucene (Full-textsearch), jakartacommons and so on.


20. You should master a javaide such as SunOne, NetBeans, Intellijidea, or eclipse. (Some people prefer VI or Emacs to write files.) Whatever you use.)


Java (which is precisely some configuration) is verbose and requires a lot of manual code (e.g. e J B), so you need to be familiar with code generation tools such as Xdoclet.


22. You need to be familiar with a unit test system (JNUNIT) and learn about different build and deployment Tools (Ant,maven).


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


24. You also need to keep up with the pace of Java development, such as now can be in-depth learning Webwork2.0.


25. You will need to have an understanding of the actual project development process, at least two projects with practical application value, not a practice project! Because now the enterprise value is that you have no actual development experience, the real development experience is the embodiment of your project, that is, the actual application of the project!

25 Key learning points to be a Java guru

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.