To learn computer software, many people will be confused. If you want to learn Java systematically, but don't know how to start. The following is a summary of the Java learning path for you. To learn Java, you can do as follows:
I. Understand the Basics of Java
Java is a purely object-oriented programming language. So in addition to the basic syntax, you must understand its OOP features. They are encapsulation, inheritance, polymorphism. Also, generic, reflective features. Many framework technologies rely on it. For example, the Spring core's Ioc and AOP use reflection. And Java's own dynamic proxy is implemented using reflection. Java standard libraries are also very common. Collections, I/O, concurrency are almost everywhere in Web development. They are also frequently asked during interviews. So before you teach yourself the Java back end, you need better foundations. There are also some new features of Java 8 need to focus on. Like Lambda expressions, Stream Stream operations on collections, the new Date API, and so on.
II. Understand the Database
About SQL: SQL tutorial, MySQL tutorial. It is advisable to know some basic syntax before operation. Such as single table query, multi-table query, etc. Do not overestimate. Not only understand it, you need to practice. And avoid multi-table queries if you can avoid. If you can separate multiple statements, just do it.
About JDBC: JDBC tutorial, JDBC get connection object source analysis. Understand the JDBC API. Implemented JDBC, all database drivers can be called through the standard API. This is the benefits of programming to interfaces.
III. Understand the Basics of the Web
Today, in Java development, many developers only know how to use the framework. But do not understand some Web knowledge. In fact, many frameworks, but are basically one routine. So before you study, lay the groundwork for the Web. The well foundation of the Web, it helps much to learn the framework better.
Mainstream framework. You need start with Spring, SpringMVC and Mybatis, especially the Spring framework. In fact, the frameworks of Spring family are very good. The core ideas of Spring are IOC and AOP.
IV. Other Technologies
(1) Redis: a high-performance database of key-value. When there are high concurrent requests, the data is cached in Redis. This will improve the response performance of the server. And greatly reduce the pressure on the database.
(2) Git: the world's most advanced control system of distributed version. Recommended all beginners start using Git from the command line!
(3) Maven: A tool for building projects. That perfectly organizes dependencies between projects through XML. Projects can be compiled into bytecode files by compilation plug-ins. A similar Gradle would also be a good choice.
(4) Linux: At least common commands are required. And the project can be deployed in the Linux environment.
V. Development Tools
Intellij IDEA: The best development of Java is IDE, and this is generally acknowledged. Iterm2: macOS is the best terminal. Postman was a nice debugging tool for the interface.
Start with the above five big frameworks, you will have a good plan. It won't be long before you learn how to operate tools of Java.