Recommended JAVA learning route

Original link: http://blog.csdn.net/yizhenn/article/details/53232728

I have always wanted to write a blog about the Java learning route. Why have this idea? There are two reasons, one: I have been learning JAVA since my junior year, and it has been 3 years since then. Due to the lack of old drivers around to lead the way, I can only explore step by step, knowing the pain of no one to guide me. So I have read a lot of junk books (there is no way, the threshold of the domestic book market is too low), but the hard work pays off, and some classic books have also been read (about books, will be introduced below). Second: Due to the low entry threshold of JAVA, there are some people who learn SSH framework and feel that JAVA is just like that. I can only laugh at this. Since the author is a diehard fan of JAVA, I also hope that everyone can have a deeper understanding of JAVA when writing this article. Without further ado, let's get to the point!

The author has seen some people who learn JAVA directly from the project, and then look at other people's code and draw a scoop (I have to admit, JAVA is easy to draw a scoop). But the author does not recommend this method, why not? Because of this you might write four different code like this List<Map.Entry<String, String>>. Haha, get down to business.
For children's shoes for beginners, the book recommended by the author is Li Xinghua's "JAVA Development Practical Classics". The author knows that there may be suspicion of advertising, but for students who really want to learn JAVA, the author believes that you will thank me after reading this book. . This book is recommended for students who are learning JAVA from scratch. If you have the foundation of C language, it seems to be very fast. But please don't be too fast, after all, some knowledge takes time to precipitate. Be sure to read this book from cover to cover, why? Because the basics are important. As the saying goes, "if the foundation is not strong, the ground will shake." The part about the JAVA graphical interface in the book can be skipped, and you can learn it when you need it. Because from experience, the part of graphics programming seems to be rarely used.
With the accumulation of the basic knowledge of JAVA in the first step, I believe you must know the three areas of the JAVA language: J2ME, J2SE, J2EE. J2ME is JAVA embedded device programming. When the JAVA language emerged in the early days, it was in the field of J2ME (you can think of the very popular Android development as this field). J2SE is a JAVA desktop application. J2EE is a JAVA enterprise-level application, that is, a JAVA Web application. It is also the main activity area of ​​JAVA developers at present. Here, the author would like to declare that if you learned JAVA because of Android, then you can learn Android knowledge after reading the first book. If you learned JAVA because of J2EE, then the author recommends that you continue to study the second book: Li Xinghua's "JAVA Web Development Practical Classics". This book mainly explains the MVC framework by itself, as well as his past and present life. MVC is the design soul of most frameworks in J2EE, so be sure to understand the MVC workflow and why it is designed this way. A deep understanding of the principle of MVC can make your Java code easy to understand, clear in structure, high in cohesion and low in coupling. This is also a pain point for many C language developers when they engage in JAVA, must not be process-oriented!
After the first two steps are completed, theoretically you can develop Java Web applications. But it's not enough, why? Because some big cows found that web development is always about servlets, filters, listeners, which have a lot of reusable code and a lot of configuration items. So there are frameworks like Struts, Spring, SpringMVC, Hibernate, Mybatis. and so on. Is it a big head, but don't worry. Remember what the author said in the second step, you must have a deep understanding of MVC. Of course you don't need to learn all of the above frameworks, but Spring is an exception. The author recommends that you understand all aspects of Spring. This is not an easy task, and the author is also continuously learning. Here, the author recommends "Spring in Action". This is a practical book that can get you started quickly with the project. After you are familiar with Spring, remember to gradually understand the source code of Spring. In a specific project, it is usually an SSH combination or an SSM combination.
After the above three steps are completed, you can participate in the development of JAVA WEB. I want you to make sure you've completed the first three steps before getting involved in web development. Otherwise I can only wish you a good teammate.
The basic moves have been completed. Now, you can take some time to improve your internal skills. For the JAVA virtual machine, the author recommends "In-depth JAVA Virtual Machine" Machinery Industry Press. After learning this book, you can understand the following code:
[java] view plain copy view code slice on CODE derived to my code slice
Integer a=1; 
Integer b=1; 
Integer c=200; 
Integer d=200; 
System.out.println(a==b); //true 
System.out.println(c==d);//false 
Another example is why using internal static classes can implement singleton mode and so on. Then for JAVA multi-threaded programming, the author recommends "JAVA Concurrent Programming Practice" Machinery Industry Press. After learning about virtual machines and multithreading, I believe that your internal strength will be greatly increased.
Finally, return to the basics and source code. For example, the book "Java Programming Ideas". You can absolutely not read it in the final stage, but don't use this book as an introductory book, except for Daniel.
Oh yes, about tomcat, the author recommends "How Tomcat works", which is an out-of-print book that can help you understand "how your web program interacts with the web container".
As for the future, buddy, let us join hands to explore together, I hope we can have a pure revolutionary friendship because of this.
So far, I have finished what I want to say. If you have any suggestions, welcome to discuss.

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326168950&siteId=291194637