Learning Java also had a lot of time, into the Java background pit also had a period of time. During this period of time, I have heard the experience and sharing of many predecessors, and read the articles and works of many bigwigs. I took a moment to sort out and summarize what I’ve heard, seen or felt so far.

This article may be more for beginners, of course, as long as someone can read my article after the harvest, I am satisfied.

This paper mainly consists of the following parts:
  • Learning path
  • Recommend some books and official accounts
  • Recommend websites, tools and materials

1. Learning route

For students who want to develop in the direction of Java background, they can follow the following routes to get started:

  • First, finish the basic part of Java, focus on polymorphic inheritance and other object-oriented concepts, exceptions, IO, containers, etc., this part of the recommendation to learn through video (Bi Xiangdong, Ma Junjun and other videos are very classic, although it may be a little old, but it does not change). Some people may recommend reading books to learn (head First Java, etc.), but I personally think that for beginners, reading books may be relatively difficult to understand, and it is easy to get lost in reading, while many excellent instructional videos are more vivid and easier to understand.
  • Then you can start javaWeb learning, Jsp, Servlet is relatively old, but for beginners to understand HTTP requests, understand the front and back end interaction, understand the MVC pattern, as well as the future framework learning is very helpful; In addition, this time also need to master database knowledge, as well as some basic front-end knowledge.
  • Once that’s all done, you’re ready to start your first JavaWeb project. Try a small project with basic functions such as login, registration, adding, deleting, and updating to add your own ideas, or you can find lots of examples online or on Github.
  • The above is just the basic part of JavaWeb, next you have to complete the framework of learning, Spring + springMVC + Mybatis is now more popular framework combination, to this part, it is necessary to spend more time to study, framework learning is also recommended to watch the video to go over first, A preliminary understanding, and then through code practice, project combat and books to strengthen and consolidate.

There is also a Java Skills Map and a Java Learning Path available online. Here’s a guide to the interview-Notebook Java Engineer’s Path to God

2. Books

There are many books on Java on the web, so here are a few to recommend

Title: introduce
JSP & Servlet Learning Notes Very suitable for getting started with JSP Servlet a book, easy to understand, the book wrote a micro blog small project is also suitable for learning to do together
Java Core Technologies volume I More suitable for the introduction of a classic Java books, compared to Java programming ideas more easy to understand, can also be used as a reference book
Spring In Action Spring is a classic book that is very comprehensive and well worth reading
“The algorithm” Simple and clear title, Java implementation of the algorithm book, than “Introduction to algorithms” more suitable for entry, naturally also very easy to understand
Head First Design Patterns A very interesting book that brings every design pattern to life
Illustrated HTTP It gives you an understanding of HTTP that every programmer must understand
In-depth Understanding of the Java Virtual Machine (Version 2) Advanced books, improve the Java skills of medicine, of course, also more difficult to understand
High Performance MySQL MySQL is a high – and medium-level tutorial for MySQL
Java Concurrent Programming Look at the word “concurrency” to know that this is an advanced Java book
Java 8 In Action The new features in Java 8 represent a major change to Java, and the book provides a comprehensive overview of the new features

3. Public account

It is better to take advantage of the fragmented time than to brush micro blog and brush knowledge

Code farmers turn

Pure smile

Java,

Programmer grey

4. Planet of Knowledge (The original Small Circle)

I believe that many people who pay attention to the public number know this, many public number authors have to maintain their own knowledge of the planet. How to say, knowledge planet is a paying forum in essence, as a manifestation of the concept of paying for knowledge, the most important thing is to make yourself feel that the information you get from it is worth the money you pay. Many people spend 200 yuan, but after a period of time, they feel that they have nothing to gain, then naturally it is not worth it. However, before joining the planet of Knowledge, we should first be prepared to obtain information. Many people spend money, read one or two eyes, and then throw the APP into the corner, and then go to brush the micro blog, which is naturally useless. Personally, I have joined the knowledge planet Stormzhang, Code Nong Fan and so on. The harvest is certainly there, but how much depends on each person’s ability to dig information. Of course, when it comes to paying for something, keep a careful eye on it and think carefully before you join to avoid being cheated.

5. A good helper for programmers

Share some useful websites, tools ~

1. Google Chrome

Chrome, needless to say, is a programmer’s must-have browser (or is there Firefox?). , fast response, there are many easy to use plug-ins, here to recommend a few plug-ins:

1) Octotree

Github is a must-have plugin that allows you to view other people’s projects directly in the Chrome sidebar as if you were opening a folder

The same type of plugin is GitCodeTree for the code cloud

(2) the JSONView

The json format returned by the API is messy in the original browser. Using this API, you can arrange json well

(3) FireShot

Web screenshot tool, support scrolling screenshot, can also be directly saved to PDF, JPEG, GIF, PNG or BMP, many functions

(4) translation of delimits

There are many translation plug-ins, this is a word translation plug-in that I think is better used, fast response, is a good tool to improve efficiency

5. Postman

Specifically, this is a Chrome app, which is a great way to send requests, debug apis, and debug the web.

Here again to recommend an article: vomitting blood recommended collection of Chrome plug-in

2. IntelliJ IDEA

Many people are urging you to give up Eclipse and embrace IDEA. IDEA is very useful, but I only recommend it here. IDEA there are many useful plug-ins, here is a few for you:

The plug-in introduce
CamelCase Variable naming type quick conversion, such as camel name, underline name
CodeGlance Add a code minimap to the right
Translation Translate plug-in,
Alibaba Java Coding Guidelines Alibaba Java development protocol scan plug-in, let your code specification up

3. GitHub

GitHub, the world’s largest open source community, is a must-have site for programmers. Learning how to use GitHub is also a must-learn subject for programmers. Github tutorial: Learn-Github from-Zero by StormZhang

4. The Denver nuggets

A high quality technical community, on the one hand, loves the UI of the Nuggets page, and now more and more people are joining.

5. LeetCode

Simply put, it is a brush questions website, which has various types of algorithm questions, do a little every day, can not only strengthen the algorithm, but also maintain the coding hand and training to write whiteboard code. Recently, a Chinese website leetCode has been published, but I recommend using the foreign version. After all, there are many people and many discussions.

6. Seven NiuYun

It is a convenient and fast cloud storage platform, which can be used as the cloud storage of small projects. At the same time, it provides free quota for all users. It is a very suitable cloud storage platform for personal use.

7. ProcessOn

The free version can only create 9 new files per account. Of course, if you don’t want to spend this money, you can make a diagram and save it locally, and then re-create the diagram.

8. Snipaste

A convenient and quick screenshot software, personal very like

9. Take notes

It is very important to take notes in daily study. In order to know, Youdao, Impression and other note-taking software have been used, why do you recommend Youdao? On the one hand, youdao is free, on the one hand, it has a nice interface, on the other hand, Markdown rendering is relatively better, in addition, it can be shared. One drawback, however, is the stuttering of the Markdown editor. Of course, if there is a better note software also hope everyone to share.

10. Alibaba Java Manual

Ali official Java code specification standards, covering the programming protocol, unit test protocol, exception log protocol, MySQL protocol, engineering protocol, security protocol, etc. After several iterations, the protocol has now been updated to full version 1.4, followed by the release of a plug-in for the protocol (mentioned above), which is a real dry run.


The above is my personal share, at present I think so much, and I will update the new things in the future, I hope to bring help to you!