Wan do this step on the salary of a programmer must master knowledge skills Shangxue Tang Xian

  1. Java foundation, JDK class library, many children's shoes will say, JDK I understand, but do not know enough to know these even know why.

JDK source code written very well, we should always check on the use of frequent classes, such as String, collections (List, Map, Set) and other data structures to know that their implementation, different collections What is the difference before know which is more suitable for the use of collections, and more efficient, this content directly see the source code is OK at a particular occasion.

  1. Some other well-known, use more open source framework and packages, Netty network framework, Apache common multi-pack of N, Google's Guava, etc., can often find some code on Github to see go.

  2. Multi-threaded programming, is now almost concurrent server program must write the technology, that of Java multi-threaded would have enough familiar objects, including a lock mechanism, synchronized keyword, concurrent packet must be very familiar with.

  3. Some knowledge of the JVM needs to know, which is the essence of Java, Java can be said of the mother, after understanding vision will be more broad, such as Java memory model (Java will understand locking, multithreading helpful), byte code, the JVM models, all kinds of refuse collection and selection, implementation of the JVM parameters (optimized JVM) and so on.

  4. Some commonly used design patterns, such as single cases, the template method, agents, adapters, etc., as well as to achieve specific scene in Core Java and some Java framework, and this may need to slowly accumulate, first understand what usage scenarios, see much more up, and that they will naturally go with.

  5. I / O, Socket programming, we must first be familiar with the Java Socket programming, and I / O package, and then further down is Java NIO, and then drill down is the underlying operating system Socket realize, understand Windows and Linux is how to achieve the socket.

  6. Javaweb development framework, such as Spring, iBatis and other frameworks, their same principle is the most important, at least to know their general principle.

  7. Common databases (Oracle, MySQL, etc.), SQL statements, and general optimization

Learning is like riding a boat, learning Java even more so, after all, has been dominating the programming language Java has been ranked first in more than a decade, but it is ten years, but also makes all aspects of the Java system more complete and advanced than other languages , you do not understand what the problem is easy to be able to solve.

Do not let others see your code first thought was deleted rewrite, rather than code optimization. A big brother himself told me.

Guess you like

Origin blog.51cto.com/14512197/2438993