During the internship period of the college, the graduation certificate can only be obtained in June of the year. Some acquaintances are engaged in Java EE, and I plan to go to him to learn Java. He suggested that I go for training for four months first, because Xiaobai is not easy to take. But I want to learn by myself. May I ask if there are any good books to read and understand.
From university to now, I have been using Java for nearly 20 years. I also take interns every day and do internal training in the company, so I can share my experience and hope it will be useful to you. Because it is training on the job, there must be two constraints: practicality and tight time. Therefore, it is impossible to cover all the knowledge points like a university. Instead, you can only pick the basic, practical, and difficult to understand. As for the knowledge of other corners and corners, I just passed them on. One has no time, the other is not used frequently, and even if it is spoken, the students are not impressed. In a word: “Good steel is used on the blade.” Now, based on my practice, I will talk about the learning process in detail: 1. Basic knowledge When I was learning java, I first read through “Java Programming Thought” and then “Java Core Technology”. At that time, these two books were not as thick as they are now, and just now I turned over the 9th edition of “Java Core Technology” on the desk. The upper and lower volumes have more than 1,700 pages. It is conceivable that if you want to read it through. , Not to mention that all the codes are adjusted, even when a novel is read, it is estimated that it will take some time. But I still recommend “Java Core Technology” first in my teaching, mainly because of the complete system, many examples, and strong operability. But for beginners, I usually only talk about the first 6 chapters, that is, the following content: Java programming overview Java programming environment Java basic programming structure object and class inheritance interface and internal classes are in “Java Core Technology” Chapter 9 For the version, that is, until 250 pages, work harder, and it will be no problem to win in one month. Because you are self-study, it is recommended that you must adjust all the codes and do your homework as much as possible after class. In addition, there are two points that are particularly important: #. Study notes Because you are self-study, it is not like being able to practice after learning in a company, so the impression is naturally particularly deep. Self-study is particularly important because there is no timely feedback on practice. Because taking notes is like writing, it’s a great way to organize ideas. At the same time, the study notes are also excellent materials for your future development and interview. When learning programming, people are different from people. What others find difficult to understand is not necessarily to you; and what you find difficult to understand may be very simple to others. The study notes are their own “difficulty manual”, which is a bit like the “wrong question book” during the college entrance examination. In the future, whether it is before the interview or in the daily work, you can turn it out at any time, which is self-beneficial. shallow. #. Saving demo study notes in different categories is a good text material, but there is a saying in the programming world that is particularly good. The so-called “no code, no text” means that there is no code for a thousand words. In my experience, in the process of learning, you will encounter various knowledge points, no matter how thorough you understand and how good you are at debugging, as long as the time is long, when you are practical, you will definitely encounter various points. The problem of some seemingly simple things, at this time, life and death are not reconciled, as the so-called people are lost in everything. At this time, if you have a well-run demo, open it for reference (or even copy it directly), and the problem will naturally be solved. And because these demos are debugged by your own hands, the impression is naturally very deep. Whenever you encounter a problem, it will immediately pop up in your mind. So, in the process of learning, you must treat the demo you tuned well, and don’t throw it away when you run out. When you encounter difficulties later, you can’t find it when you want to use it. It’s beyond your reach. The correct way is to save all the transferred demos in different categories, and it will be handy to find the source at that time. Everyone says that “the book will hate less when it is used”, but the code is also like this, the so-called “demo will hate less when it is used”. 2. Spring is currently in the development of Java EE, Spring has become the same infrastructure as the Java core library, so if you want to become a qualified Java programmer, Spring is definitely inevitable. On the other hand, if you have mastered the Spring system, you will be able to carry out some practical development even if you get started with Java. However, Spring itself is becoming more and more complex, with more and more derivative projects, but the most core concepts are still IOC and AOP. Once you have mastered these two concepts, you can learn Spring MVC and then learn other derivative projects will be smoother. At the same time, because Spring itself has applied many elegant design concepts, the process of learning Spring is also a process of strengthening the basic knowledge of Java. So when you have mastered Spring, many Java features that you don’t understand thoroughly will come to your mind at this time, including interfaces, abstract classes, and so on. I studied Spring and the first book I read was “Spring Practice”. Frankly speaking, the book is very general, but I have never encountered a book that is better than it on the market. There is also a “In-Depth Analysis of Spring Source Code”, which is particularly thorough on Spring’s design concepts. Although the whole book is a bit difficult to read, the first few chapters are vivid and interesting, and are also the essence of the whole book. Therefore, it is recommended that you read through the first few chapters of the book before you learn Spring, and then go back and learn “Spring Practice” will be much smoother. In my experience, to learn Spring thoroughly, the ultimate method is to read the source code (that’s how I did it at the time). After reading the core source code of Spring thoroughly, people will be really free (the so-called no truth, no freedom), not just right Spring is for the entire Java system. When you encounter other frameworks in the future, you can probably see the context at a glance, the so-called “mountain is not a mountain” state. But this is something for you, and it can be used as a direction for your future efforts. Like learning the basics of Java, you must also take notes when learning Spring, and you must save demos in different categories. To be honest, Spring is not easy for beginners, so it’s best to have a good teacher take it. It doesn’t take too long, just 2 class hours, and then when you encounter big difficulties, you can dial it in time. In my experience, it takes about one to one and a half months to master Spring. 3. Other knowledge Spring is the infrastructure of Java programming, but if you really want to enter the development of actual projects, there are some things that you can’t get around, including MySql, Mybatis, Redis, Servlet, etc., but if you are baptized by Spring, these things are relatively simple It’s much simpler. In my experience, 1 month is enough. 4. Practice learning Java, it is definitely not possible to practice optics. But because it is self-study, there is no actual product for you to practice, but it does not matter, who has not done a graduation project in the university? In my experience, everyone’s favorite “student management system” is still a good practice system. Regardless of the “student management system” logic is simple, but although the sparrow is small and complete, including database design, Mybatis, Spring, SpringMVC, Servlet, Tomcat, etc., it is absolutely a good partner for practice. Also, although your learning focus is on Java, because you want to make a complete demo, the front-end cooperation is definitely indispensable. Therefore, it is inevitable to learn some simple JS and HTML knowledge, but because the front-end is a big topic, we must control the boundary and do not lose sight of the other. As far as the “student management system” is concerned, on the front end, you only need to implement a simple page that contains table, textbox, and button, can send REST requests to the server, and can realize students’ “addition, deletion, modification, and checking”. As a training project, the goal is to string together the main skill points of Java, so I do not seek perfection (it is impossible), so 1 month is enough. .Finally, according to the above process, 4 months is just right. Of course, the Java system is huge, and there are many more advanced skills to master, but don’t worry, these can be used in future work. Learning programming is a process from chaos to orderly, so if you encounter knowledge points that you can’t understand for a while, you don’t have to be frustrated, let alone get discouraged. This is normal and can no longer be normal. It’s just a temporary period of “people have the same heart, and the heart has the same reason.” In daily teaching, I often give the following sentence to students, and I also give it to you today: “The road is tortuous, and the future is bright!”