This article will show you the goals you need to achieve in Java and Hopefully help you with your study and job search. Compare yourself, How many of these have you mastered in the article ?
1. you need to be proficient in object-oriented analysis and design (ooa/ood), involving patterns (GOF,j2eedp) , and integrated modes. You should understand UML, especially class,object,interaction and statediagrams.
2.you need to learnJavaThe basic knowledge of language and its core class library(Collections,Serialization,streams,Networking,? Multithreading,Reflection,Event,Handling,NIO,localization, and other).
3. you should know the JVM,classloaders,classreflect, and the basic working mechanism of 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 learnWebof small Applications(applet), must masterGUIdesign ideas and methods, as well as desktop programsSWING,AWT,? SWT. You should alsoUIparts ofJavaBEANThe component pattern is somewhat understood. JavaBEANSIs also used inJSPto separate the business logic from the presentation layer.
5.you need to learnJavadatabase technology, and will use at least onePersistence/ormarchitecture, such asHibernate,JDO,? Cocobase,TopLink,Insideliberator (DomesticJDORed Factory software)orIBatis.
racle mysql mssqlserver
You need to learn servlets jsp jstl ( standardtaglibraries) and third parties you can select taglibraries
You need to be familiar with the mainstream web framework, such as JSF , Span style= "FONT-FAMILY:CALIBRI;" >struts tapestry cocoon webwork mvc/ MODEL2
You need to learn how to use and manage web server, for example tomcat resin jrun web program.
You need to learn about distributed objects as well as remote api Span style= "FONT-FAMILY:CALIBRI;" >rmi and rmi/iiop
You need to master a variety of popular middleware technical standards and with java combine to achieve, such as tuxedo croba javaee Span style= "font-family: ' The song Body '; > itself.
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 useJavaof theAPIand tools to buildWebService. For exampleJax-RPC (JAVAAPIFORXML/RPC),SAAJ? (Soapwithattachmentsapiforjava),JAXB (javaarchitectureforxmlbinding) JAXM (javaapiforxmlmessaging),? JAXR (javaapiforxmlregistries), orJWSDP (javawebservicesdeveloperpack).
You need to learn a lightweight application framework, such as spring picocontainer avalon ioc/di Span style= "font-family: ' The song Body '; > style constructor
You need to be familiar with the different j2ee techniques such as Span style= "FONT-FAMILY:CALIBRI;" >jndi (javanaminganddirectoryinterface) jms? (Javamessageservice) jta/jts (Javatransactionapi /javatransactionservice) jmx? ( javamanagementextensions)
You need to learn enterprise-class javabeans (EJB) and their different component modes: , entitybeans ( contains bean-? Managedpersistence[bmp] or and its ejb- ql)
You need to learn how to manage and configure a j2ee application servers, such as weblogic jboss
You need to be familiar with aspect-oriented programming and attribute-oriented programming ( Both are easily confusing abbreviations for aop) and their mainstream java specification and execution. For example aspectj and aspectwerkz
19.api and framework log4j (logging/tracing) quartz (scheduling) Span style= "FONT-FAMILY:CALIBRI;" >jgroups (networkgroupcommunication) jcache (distributedcaching) jakartacommons et cetera.
You should be proficient in a javaide for example Span style= "FONT-FAMILY:CALIBRI;" >sunone netbeans intellijidea or eclipse ( Some people prefer vi or emacs )
There are some configurations " is verbose, it takes a lot of manual code ( For example EJB) xdoclet
you need to be familiar with a unit test system (jnunit) andLearn about different build, deployment Tools (Ant,Maven).
you need to be familiar with some of the software engineering processes that are often used in Java development. For example , RUP (rationalunifiedprocess) andagilemethodologies.
You also need to keep up with the pace of Java development, such as now you can learn in depth Webwork2.0
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 the project you do, that is, a practical application of the project !
Summary: While learning java is a gradual process, we still hope that you dare to try and be passionate about java Learning. Learn more about java , you can go to Java Qun discuss learning 521,595,826 Common progress, become a java Master!
25 learning goals to be a Java guru