Current location - Training Enrollment Network - Education and training - How can we have a clear learning route in the self-study process of Java?
How can we have a clear learning route in the self-study process of Java?
First, understand the part of JavaSE, so that you can watch less or not watch Swing and swt, because it is used less now. The key point is to understand the object-oriented, collection framework, JDBC, exception, IO, thread and network programming in Java. After JavaSE is done, learn Servlet and JSP, and then classic Struts2, Hibernate and Spring. When learning the framework, focus on understanding the operating principle of the framework, and even try to write a lightweight framework yourself. The best way to understand how it works is to read the source code or thank the open source project in Java. In the meantime, we need to find more projects of all sizes to complete, not necessarily large, but exquisite and fully functional, so as to practice what we have learned in doing projects and find out the shortcomings in our knowledge system. As for watching videos, I don't recommend it. Many students know that they watch videos all day. As we all know, the truth of programming lies in "practice, practice, practice again"!

Once again, when learning java, you will encounter all kinds of exceptions. Please accumulate these exception information, as well as how the exception appears and how to deal with it, because there are only a few common exceptions in Java. Accumulate more, the ability to deal with problems will be improved, and the level will be improved quickly!

SpringMVC has grown rapidly in recent years and may replace Struts2 in the future, but these are still MVC patterns anyway. If you understand this pattern, you should start using any MVC framework soon.

The changes that enterprises need are also reflected in big data. Because of the popularity of Hadoop, there is another Java application scenario. So those who don't like the web can consider learning big data.

Another popular scene is naturally Android. To learn Android, you still need to have the foundation of JavaSE and the understanding of +HTTP protocol, and then you can start with the knowledge of Linux.

Let's talk about finding a project first. Beginners may encounter problems at a loss. In fact, at the beginning, everyone started with imitation. For example, learning jsp+Servlet can imitate forums such as v2ex. After learning SpringMVC, I try to reconstruct the code of the forum and provide a restful interface for clients to access (Android, IOS, web, etc. It is not difficult to make a forum, imitating a group buying website. It still doesn't have to do all the functions, but the functions should be stable and exquisite. Or developing a WeChat public platform is a good project.

Novices look at the source code. Some people recommend Struts2 and spring, but I believe that 9 beginners of 10 can't understand it. Let's start with the simple ones, such as Apache's Commons library, such as lang, dbutils, io, etc. These are all very good codes, and the number of classes is small and the quality is good. Knowing this, your basic level is by no means improved a little.

Remind beginners again that learning programming is not as simple as you think. You must practice more and think more. The most important thing is that you are interested in it. Now many websites and media promote the slogan of 1 month to learn the front end and join BAT for three months. This is just a slogan. Don't take it too seriously. There is no shortcut to this road, just write your code!

Recommend some books:

Java basic part

JAVA Core Technology (Volume 1) (Douban)

Touxian Java (Douban)

Reconstruction (watercress)

Effective java Chinese Version (Second Edition) (Douban)

Head Priority Design Mode (Chinese Version) (Douban)

Seriously do not recommend "Java programming ideas", this sentence comes out, it is estimated that many people will spray me to death, because this book is regarded as the Bible book of Java by many people. But I really want to ask these people, have you really read this book? Is it really suitable for beginners? How many beginners have read this book and realized the process from getting started to giving up. So, in my opinion, after you have some experience in Java development, read this Bible.

Database part

MySQL must know (Douban)

JSP and Servlet section

Head first servlets & JSP (Chinese version) (Douban)

HTTP authoritative guide (douban)

Graphic HTTP (douban)

Frame part

Spring Combat (3rd Edition) (Douban)

Insider of Spring Science and Technology (Douban)

Java Persistence of MyBatis 3 (Douban)

Hibernate (watercress) is old, but classic.

Struts 2 actual combat (douban)

android

Authoritative Guide to Android Programming (Second Edition) (Douban)

other

Redis actual combat (douban)

Design and Implementation of Redis (Douban)

Redis Getting Started Guide (Douban)

From Zhihu.