Current location - Recipe Complete Network - Dietary recipes - How to teach yourself how to get started with Java?
How to teach yourself how to get started with Java?
It's enough to read this article by teaching yourself Java! Java learning roadmap to share with you, follow it!

First of all, the Java Foundation

JavaSE foundation is the starting point of Java intermediate programmers, and it is the only way to help you from white to know how to program.

There are six sub-modules in the basic Java module to learn:

Basic grammar can help you establish basic programming logic thinking;

Object-oriented, writing beautiful Java programs in an object-oriented way;

Collection, the necessary technology to store data in later development;

IO, the basic operation of reading and writing disk files;

Multithreading and concurrency improve program efficiency;

Exceptionally, the logic of writing code is more sound;

Network programming, application server learning foundation, complete the remote transmission of data.

Learning this stage, you can complete some simple management systems, tank battle games, QQ communication and so on.

Second, the database

Database is not only a compulsory course for Java development engineers, but also a skill that other languages need to master. Used to store customer data during interaction.

This section includes relational databases and non-relational databases.

For example: MySQL, oracle, redis, MongoDB, etc. After learning the database, you can store the data in the database, or you can query the data from the database through SQL statements. Combined with Java projects, you can save the data of dynamic sites.

Technology tree

Third, front-end technology.

The Javaweb stage includes front end, database and dynamic web page. Javaweb is an introductory course for Internet projects and the basis for advanced courses.

First, let's look at the front panel. This plate mainly includes the following modules:

HTML5, a markup language for web page making;

CSS, beautify HTML pages;

JavaScript, a scripting language embedded in pages, is logical;

The front-end framework Vue simplifies the operation of interacting with the server, and a good user interaction experience is essential.

After learning the front-end technology, you can complete the preparatory work for front-end projects like JD.COM and Taobao.

Technology tree

Fourthly, dynamic web technology.

Dynamic Web page is the basis of server-side programming for intermediate programmers and a necessary course for advanced framework learning. The framework and service bottom of post-learning are based on dynamic web technology.

This section includes the core technologies of Javaweb, including Servlet, requests, responses, Cookie and sessions. Through the study of these technologies, we can complete the dynamic site development, better complete the interaction between the server and the customer, and "move" the data on the page to make a small application system.

Technology tree

Verb (abbreviation of verb) programming enhancement

Programming hardening is an in-depth understanding and application of solving practical problems, which strengthens the foundation of JavaSE and supports the later automation framework and the underlying understanding of some service frameworks.

Programming enhancement module mainly includes the following modules: multithreading advanced, involving thread memory, thread communication and so on. JVM optimization, optimizing the bottom layer of JVM and improving the efficiency of project execution; NIO, synchronous non-blocking IO improves efficiency.

Learning this stage can optimize the original project and make the program faster and more stable.

Technology tree

Software project management of intransitive verbs

JavaSE foundation is the starting point of Java intermediate programmers, and it is the only way to help you from white to know how to program.

Java basic module has six sub-modules: basic grammar, which can help you to establish basic programming logic thinking; Object-oriented, writing beautiful Java programs in an object-oriented way; Collection, the necessary technology to store data in later development; IO, the basic operation of reading and writing disk files; Multithreading and concurrency improve program efficiency; Exceptionally, the logic of writing code is more sound; Network programming, application server learning foundation, complete the remote transmission of data.

Learning this stage, you can complete some simple management systems, tank battle games, QQ communication and so on.

Technology tree

VII. Popular technical framework

It is completely possible to use Javaweb for enterprise-level development, but the development efficiency is relatively low, so the common logical operations are encapsulated to form a framework, so the framework is an introductory skill for enterprise development.

There are several mainstream frames in the popular frame board: spring frame, which occupies a dominant position, and its ecosystem involves many solutions; MyBatis framework, operating database with ORM idea.

After learning this section, you can develop real enterprise-level projects, and the projects you make will be more in line with the requirements of enterprises.

Technology tree

Eight, distributed architecture scheme

With the development of Internet, the complexity of business and the experience of users need to be improved, so the distributed architecture appears. This section mainly explains the related solutions of distributed architecture.

It mainly includes the following modules: DubboSpringBoot, a high-performance RPC service publishing and calling framework, which simplifies the initial construction and development process of Spring applications; Spring Cloud is an orderly collection of a series of frameworks such as service discovery registration, configuration center, load balancing, circuit breaker and data monitoring.

This part of the study can have the necessary technical and practical experience for the development of large-scale internet projects and lay the foundation for entering BATJ.

Technology tree

Nine, server middleware

Middleware is necessary in large-scale Internet projects. Service middleware can help each sub-module realize mutual access, message sharing or unified access. Including remote service framework middleware, such as Apache RPC framework Dubbo and so on. Message queuing middleware, such as: Alibaba open source distributed middleware RocketMQ, high throughput message publishing and streaming media service Kafka, etc.

Learning service middleware is a necessary technology for intermediate JavaEE engineers and JavaEE architects.

Technology tree

X. server technology

Whether using native Javaweb or using framework for development, the project needs to be released for people all over the world to access, and the server board can solve this problem, so the server is the necessary technology for project release. This section includes virtualization and web application server learning, mainly including the following modules: Vmware, virtual machine software; LinuxNginx, a server-specific system, is a reverse proxy server in cluster deployment; Tomcat, the main server used when the project is published.

After learning this section, we can publish the developed project to the server and let your friends access it remotely. Super cool!

Technology tree

XI。 Container technology

Containerization technology is a hot topic in recent two years. The environment can be encapsulated by containerization technology, which is convenient for transplantation and greatly improves the development efficiency. This section includes container technology Docker and its platform management engine Kubernetes. Docker is an open source application container engine, which can package applications and dependency packages into a portable image, then publish it to any popular Linux or Windows machine, or be virtualized. Kubernetes is open source and used to manage containerized applications on multiple hosts in the cloud platform. The goal of Kubernetes is to make the deployment of containerized applications simple and efficient. Through the study in this section, you can quickly build an environment through the above technologies, save development time and improve development efficiency.

Technology tree

Twelve. Business solution

Although we already have the basic technology and advanced technology, if we want to combine it with enterprise development, we need to explore the business solutions of actual projects. This section collects real solutions in real business scenarios. Common business solutions include: search business scenario solution, log collection and analysis scenario solution, workflow engine scenario solution, task scheduling scenario solution, map development platform scenario solution, payment open platform scenario solution and chart visualization scenario solution. By analyzing the actual business to learn this set of solution technologies, you can reach the level of intermediate or even senior engineers.

Technology tree