How did I learn Java in college? Here is a list of the necessary knowledge points and free access to internal materials

The foundation is very important, the foundation is not strong, the landslides and the ground are cracked, it is recommended that you play steadily, so that you can go longer and farther.

In addition, you must have your own plan and direction, and then learn and struggle step by step towards the goal. As long as you persist, there will always be rewards.

I hope you can read it. After reading this article, I believe it will be helpful for students who are still in school or who have already worked. If you have any better suggestions for this article, please leave a message for discussion. Your word may be Will help a newbie who is about to get started.

Learning is an anti-human behavior. You can learn with your friends. It is very beneficial to have a good atmosphere. Here I have set up a Java technology exchange group: 853665602. Friends can join the group to discuss technology exchanges. There are many internal resources that I have organized in the group: Java question bank, interview questions of Dachang, study outline, self-study course outline, and 100 sets of resumes , etc. I hope to welcome many friends who learn Java together, thank you for your support!

The best relationship is mutual achievement. Everyone's watching, forwarding, and leaving messages is the biggest driving force for my creation.


 

The process of self-study is not easy, and I think two factors are very important.

First , you must be self-disciplined. Many people see that Java is very popular, and they come to learn it, which is very hasty. After learning for a while, they feel very painful and give up. My junior brother’s situation is a bit special. He feels the pressure of survival is relatively high, so he has a very strong desire to learn, and when he hears that others are taking so much money, he is even more desperate. In addition, I study by myself and are very self-disciplined. I secretly learn a little when I go to work every day, and then I keep learning more than one o'clock at night after get off work, which is really super self-discipline.

The second is that someone takes it. If you rely on yourself to explore the whole process, it will be very uncomfortable. First, you have no goals and don’t know what to learn. You can’t learn a piece of knowledge from the east and the west. Second, no one communicates when you encounter a problem. Confidence will be greatly affected, and the motivation to learn slowly will go down. My younger brother came to me, and I basically replied to him when I saw it. I also knew many big guys with great skills, and basically there were no problems that could not be solved.

Therefore, to sum up, you must take the initiative to learn, and then someone will take you, and then it is time, and it will come naturally. A little less of these two points, it is difficult to succeed.

Self-learning Java must pay attention to some problems .

1) When you encounter a point that you won't know, don't die.

Many problems may be because I was tired at the time, and if I get into the horns, it is easy to get out of it, delaying the study time and not talking about it, and I feel very frustrated. Maybe take a break, or ask the boss, or learn other knowledge points, and you may find a solution soon.

2) Must be efficient.

Learning is like this. If you don’t see results in a short period of time, you will be very depressed, you will doubt yourself, and then you will become more and more bored to study. Use your hands and brains, don’t stare at it all the time, whether it’s a video or a book, you must learn to adjust yourself, take a break when you’re tired, and don’t learn the way of learning by hanging your head and beating your head.

3) Timely communication.

You can ask the search engine, you must not use Du Niang, at least you have to use Bing to search, the last time you go to Zhihu to ask questions directly, this is also a kind of communication, commonly known as "human-computer interaction", haha. The other is to ask the big guy, go to the technical exchange group to ask questions, don’t be afraid that no one will answer you, you may get the answer by yourself in the process of summarizing.

Next, let's talk about the main content of Java.

Part 1, Java Basics


If you want to learn the basics of Java, I recommend two books, one "Java Core Technology Volume " and one "Head First Java".

"Java Core Technology Volume" is divided into two volumes, the first volume is less difficult and can be completed in the shortest time, especially after having the programming foundation of C language, it can be said that brushing this book can be said to be handy. The content involved in the second book includes streams and files (☆), XML, network (☆), database programming, internationalization, Swing, AWT, JavaBean, security (☆), script compilation and annotation processing, distributed objects, local methods (☆), I think the content without a star can be skipped.

"Head First Java" is more interesting, there are many small games, a very lively book.

The style difference between the two books is relatively large. Some readers have given me feedback before that "Head First Java" is a bit unmanageable, so I choose "Java Core Technology Volume".

After reading any book, you can take a look at "Java Programming Ideas" to see if you can handle it. Because thinking is something, only after some practice can you have an understanding. Otherwise, just like Wang Yangming, who was looking at bamboo at the beginning, he would not be able to stand out. He has the experience of leading the army and the experience of the hard life in the local area. Psychology is created after feeling.

If the idea of ​​Java programming seems really painful, you can take a look at "On Java 8", there is an open source Chinese translation version on GitHub, the author is the same person.

The four books mentioned above still retain the content of graphic programming (AWT and Swing), which I think can be skipped completely. I hope that the publisher can delete all these content when it is republished later, and the pricing is estimated to be down, but they don't necessarily do that.

Java is an object-oriented programming language, so three major features: encapsulation, inheritance, polymorphism must be mastered, and then exception handling, IO, collection and concurrent programming. As long as these contents are mastered, it can be said that the basic knowledge of Java is fully mastered.

The difficulty in this is concurrent programming. As I mentioned earlier, this part is obviously not easy to learn, but it can best test the skills of a Java back-end engineer. How can I learn concurrent programming well? I recommend a very awesome open-source e-book "Java Multithreading in Simple Strategies", written by several Ali friends, the quality is very high, I recommended it a long time ago, you can click the link below to download the offline version.

Java concurrent programming rewritten by
several

Part II, Java Web


Most Java programmers must be engaged in the development work related to JavaWeb. To develop JavaWeb, it is naturally inseparable from the series of frameworks of Spring. It might even be said that a Java project would not exist without Spring.

To learn Spring, there are not many books that I can read. All I can think of is "Spring in Action". Frankly speaking, this book is very general, but I don't know any better books than it on the market. After learning Spring, you have to learn SpringMVC. I recommend everyone to watch Songge's video. Although the playback volume on station B is not particularly large, I think the content is very good.

Then there is MyBatis, you don't need to look for books to read, just read the official documents, which is very good. MyBatis itself is not particularly difficult, just some XML configuration and dynamic SQL.

After completing the three studies of Spring+SpringMVC+MyBatis, it can be said that you have the ability to develop enterprise-level applications.

Then there is Spring Boot. I recommend watching Big Brother's pure smile blog, which has more than 10 million visits and has affected countless beginners. I personally strongly recommend it. I don't need to post the link, just search for the "Spring Boot" keyword.

If you have mastered Spring, SpringMVC, MyBatis, Spring Boot, etc., you will be able to develop some really useful application projects, such as student management system, mall system, blog system, spike system and so on.

If you feel that these systems are impossible to start with, you can actually go to GitHub or Code Cloud to find them, and you will find a lot of them soon. In order to save everyone's time, I directly recommend two to you. A micro-personnel, a mall, you can search directly on GitHub.

The third part, the database


Learning a programming language, if you don't manipulate the data, you will feel that the programming language has a skin but no soul, right? If you want to learn database well, you must first learn SQL (the booklet "SQL Must Know and Know" is enough), then MySQL (the most popular relational database, when pushing "High Performance MySQL"), then Redis (cache, Lao Qian's "Redis Deep Adventure: Core Principles and Application Practice" is very classic) and MongoDB (non-relational database, "MongoDB Authoritative Guide" can be thoroughly understood).

Part IV, Tools


If you want to do good things, you must first sharpen your tools. If you master the following tools, you will learn other content more easily, and you don't have to mess around.

Intellij IDEA, the best IDE for writing Java programs, must be mastered. There is an open source book library on GitHub that is worth recommending.

Next is Maven, which can help us solve the troubles of jar packages. Just watch "Maven in Action".

Then there is Git, which must be mastered at work. Just read the "Git Definitive Guide".

Once you've learned this, you're ready to look for a job, but there are two things you must do before you can. Both of these things are essential to finding a satisfying job, and neither is necessary. After studying hard for so long, there are only the last two key nodes left, how can it not be the icing on the cake.

1)first blood

Be sure to brush the interview questions and be prepared to fight. Just like fighting, if you just recruit soldiers but don’t train them, you won’t be fighting at all. Only well-trained soldiers can balance offense and defense when fighting on the field and handle them with ease.

I recommend this interview guide starred 100k on GitHub, the offline version has been updated to the fourth edition, and the content is more detailed. Added campus recruitment/social recruitment interview guidelines, programmer resumes, which are what most programmers care about before interviews. The offline version can be downloaded in the following ways.

V4.0 "JavaGuide Interview Assault Edition" is here! 100k stars on GitHub, help you land successfully!

2)double kill

Be sure to prepare a resume that is refreshing to the interviewer. One point that many beginners tend to ignore is that they can simply put together a resume and then start to deliver it. As a resume writer, you have to figure out what the essence of a resume is, it's there to sell your value proposition. In depth, a resume is a stepping stone. It tells the recruiter in black and white, who I am, what position I want to hold in your company, what kind of work I can accomplish, what value I can bring to the company, and what I expect What is the salary.

After joining Ali, I learned that the original resume
was written

OK, these two things are fully prepared, just go ahead boldly, believe me, you will definitely find a satisfactory job. If you have any questions about Java, please feel free to private message me.

Traditional virtues can't be lost, let's make one-key three-link, refill~

Finally, everyone is welcome to join the Java family: 853665602, whether you can keep learning, whether you can learn well, someone to learn together, and someone to guide is really important. The possibility of learning Java by yourself to get employment is really too low, so so many people will give up.

If you have any questions, you can ask and communicate in it. There is also a lot of internal information that the editor bought from the Great God and organized by himself. We need everyone to join in order to grow this organization! There are a lot of internal resources in the group: Java question bank, interview questions of Dachang, study outline, self-study course outline, etc. I hope to welcome many friends who learn Java together, thank you for your support! A good atmosphere leads everyone to learn together.

You can also scan the code and add my v, the information compiled by the editor is free of charge and private law you~

If you encounter any problems on the way to learn Java, you can add V to communicate. It is really useful to have someone give you correct learning advice on the road of self-study. If you have any questions and need help, you can add V. I believe it will help you a lot.

 

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=327059567&siteId=291194637