Java programmers to share a small circle ape summed technology and learning methods

In the current, Java is still the hottest most everyone's favorite programming language, many companies are still using the same Java programming, because Java is simple, object-oriented advantages of stability.

General JAVA programmer might only need to know some of the grammatical structure of JAVA can deal with. But to become a JAVA (Senior) Engineer is not easy, so what is a qualified senior (or senior management) JAVA engineer it? Today small circle ape give Java programmers to share some advanced problems, hope can help to you.

First, the macro

1. The breadth of technology

At least it speaks many doors open source technology, studied struts

spring and other source.

2. Project experience

From start to finish with a few large projects, the first phase refers to the demand, including demand for research.

It refers to the tail on the line after the delivery, including the maintenance phase.

3. architecture experience

It had distributed architecture and systems development experience. For cross-system optimization, data storage and other performance indicators have experienced. What cache ah, what the vertical database of cut points, the level of abstraction and split the business, ah, these should all be well placed to exploit it.

4. The terms of industry sectors

At least have to be proficient in one to two business now, so-called master, is such as to make financial securities business, such as when at least half by the financial analysts. Power of doing business, such as when at least half an electrical engineer.

5. Personal Development

There are some of his insights, not just repeating it.

Second, microscopically

1. versed in object-oriented analysis and design (OOA / OOD), involving mode (GOF, J2EEDP) and integrated mode. You should fully understand UML, particularly class, object, interaction and statediagrams.

2. Learn the basics of JAVA language and its core libraries (the Collections, serialization, STREAMS, Networking, multithre ADI ng, the Reflection, Event, Handling, NIO, localization, and others).

3. Understand the JVM, classloaders, classreflect, as well as the basic work of garbage collection mechanism and so on. You should be able to decompile a class file and understand some basic assembly instructions.

4. If you will write a client program, you need to learn a small WEB application (applet), necessary to master the ideas and methods of GUI design, and desktop programs SWING, AWT, SWT.

You should also understand the JAVABEAN mode UI component parts. JAVABEANS also be applied in the JSP to the business logic from the presentation layer.

The learning java database technology , such as JDBCAPI and will use at least one persistence / ORM framework, e.g. Hibernate, JDO, CocoBase, TopLink, InsideLiberator ( JDO red factory-made software) or iBatis.

6. It should be understood that the object-relational impedance mismatch of the meaning, and how it affects the interaction of business objects and relational databases, and its operating results, but also need to master the use of different database products, such as racle, mysql, mssqlserver.

7. learn JAVA sandbox security model (classloaders, bytecodeverification, managers, policyandpermissions , codesigning, digitalsignatures, cryptography, certification, Kerberos, and others) there are different security / authentication API, such as JAAS (JavaAuthenticatio the NAND the AuthorizationService), JCE ( JavaCryptographyExtension), JSSE (JavaSecure the Socket Extension), and JGSS (JavaGeneralSecurityService).

8. Familiar page frame, e.g. JSF, Struts, Tapestry, Cocoon, WebWork, and they relate to the following mode, such as MVC / MODEL2.

9. learn Servlets, JSP, and JSTL (StandardTagLibraries) and can choose a third-party TagLibraries.

10. Learn how to use and management of WEB server, such as tomcat, resin, Jrun, and know how to expand and maintain WEB program on its basis.

11. learn distributed objects and remote API, such as RMI and RMI / IIOP.

12. The master variety of popular standards and middleware technology combined with the java implementation, such as Tuxedo, CROBA, of course, include javaEE itself.

13. To learn least one XMLAPI, for example, the JAXP (JavaAPIforXMLProcessing), JDOM (JavaforXM the LDO cumentObjectModel), DOM4J, or JAXR (JavaAPIforXMLRegistries).

14. Learning a lightweight application framework, e.g. Spring, PicoContainer, Avalon, and their IoC / DI style (setter, constructor, interfaceinjection).

15. Learn how to build a WebService use JAVAAPI and tools.

例如JAX-RPC(JavaAPIforXML/RPC),SAAJ (SOAPwithAttachmentsAPIforJava),JAXB(JavaArchitectureforXMLBinding),JAXM(JavaAPIforXMLMessaging), JAXR(JavaAPIforXMLRegistries),或者JWSDP(JavaWebServicESDeveloperPack)。

16. familiar with different J2EE technologies such as the JNDI (JavaNamingandDirectoryInterface), JMS (the Java the Message Service), JTA / JTS (JavaTransactionAPI / JavaTransactionService), JMX (JavaManagementeXtensions), and JavaMail.

17. Learning Enterprise JavaBeans (EJB) components and their different modes:

Stateless / StatefulSessionBeans, EntityBeans (comprising Bean- ManagedPersistence [BMP] or Container-ManagedPersistence [CMP] and its EJB-QL), or the Message-DrivenBeans (MDB).

18. Learn how to manage and configure a J2EE application server, such as WebLogic, JBoss, etc., and the additional use of its services, such as cluster-based, distributed processing, and support for the connection pool. You also need to know how and be able to monitor on it and configure the application package and adjust its performance.

19. familiar with the different API and a useful frame work like for you. For example the Log4J (the logging / Tracing), Q the UART Z

(scheduling),JGroups(networkgroupcommunication),JCache(distributedcaching), Lucene(full-textsearch),JakartaCommons等等。

20. familiar aspect-oriented programming and attribute-oriented programming (both have been very easy to confuse the abbreviations for the AOP), as well as their mainstream JAVA specification and implementation. Example A the SPEC the tJ and AspectWerkz.

21. If you are going to butt or are local and the old system or platform, you need to learn JNI

(JavaNativeInterface) and JCA (JavaConnectorArchitecture)。

22. JINI familiar with its technology and related distributed systems, such as master CROBA.

23.JavaCommunityProcess (JCP) and his different JavaSpecificationRequests (JSRs), such as Portlets (168), JOLAP (69), DataMiningAPI (73), and so on.

24. A master one kind JAVAIDE e.g. sunOne, netBeans, IntelliJIDEA or the Eclipse . (Some people prefer to write the document VI or EMACS. Whatever you use :)

Well, today's share on here, the saying goes, water flows downwards with the flow, we hope that every worker can be programmed to the next level, I feel pretty good point to remember and share praise Oh!

Reproduced in: https: //www.jianshu.com/p/7356f656bb98

Guess you like

Origin blog.csdn.net/weixin_33851429/article/details/91100225