• 周三. 9 月 18th, 2024

5G编程聚合网

5G时代下一个聚合的编程学习网

热门标签

How do java beginners and intermediate programmers grow rapidly???

King Wang

1 月 4, 2022

Java Technology learning route

Java Language is a very popular and important language , It’s still a language in great demand , A wide range of languages , Develop at the enterprise level 、 Mobile development 、 Big data cloud computing 、 There are a lot of applications in artificial intelligence and other fields . How to study well Java Language , To the point where it’s easy to get a job , It’s a topic that every beginner pays attention to . We usually Java The learning of programming is divided into these four stages : Basic stage 、WEB The development phase 、 Frame stage 、 Advanced technology stage . The specific learning contents and methods of each stage are as follows :

One 、 Basic stage

The basic stage of learning is Java SE Learning from , This is the basic stage . The goal is to get beginners into the palace of programming , Basic programming thinking . At this stage, we can subdivide it into the following :

1、Java Introduction to programming

At the beginning stage, we mainly study : Variable 、 data type 、 The basic concepts of control statements . These technologies are common to all programming languages , It’s basic and important .

2、 object-oriented

Object oriented is deep learning Java At the heart of , It’s also a real entry for all of you Java The difficulties and key points of the world . There will be all kinds of concepts , It’s very important . however , When you’re learning object-oriented , Pay attention to “ Start learning concepts and grammar , Don’t expect to learn thoroughly all at once . object-oriented , We need to do the project in the future to deeply understand how to apply the object-oriented thinking to practice ”. therefore , I suggest that you don’t get too tangled in concepts here , Learn as much as you can , When it comes to concepts you don’t understand , Start with the conclusion , Learn back quickly , Don’t stay here too long .

3、 abnormal

Exception is Java The core of the security mechanism , It’s also the core of making our program easier to understand and more stable . The most important thing for beginners is to understand concepts 、 Learn how to solve the problem .

4、 Array

Array is a common concept . While learning this content , Master the core “ Arrays are also objects , The elements of an array A prime is equivalent to a member variable of an object ”, Understand this sentence , You’ve got more than half of the array . Array learning by the way to learn some basic algorithms , such as : Sort 、 Dichotomy, etc . such , You can learn arrays , You can also review the previous control sentences 、 Object oriented knowledge . therefore , You can do more exercises here , Stay longer .

5、 Common classes

We focus on the usage of common classes , Study API Query and use of . If you want to go deeper , When learning, you can read the underlying source code of these common classes , Start the pattern of training experts .

6、 Containers

Containers are commonly used in development . When learning containers , Learn how to use related classes and interfaces , Also understand the underlying principles of the container . The underlying implementation of container is closely related to the knowledge of data structure . It’s also , The problems we often encounter in work and interview . therefore , Containers require a lot of learning for beginners , And get to the bottom layer , Understand the underlying core mechanism .

7、 Multithreading

Multithreading Java Characteristics of language . When we learn about server programming later , The underlying core mechanism of the server is based on “ Multithreading ” Of . therefore , We need to master the basic principle and application of multithreading . In order to learn concurrent programming later , It’s also necessary to learn “ Producer consumer model ”、“ Locking mechanism ”、 “TheadLocal”、“ Thread pool ” Wait for the high-end concept .

8、 Network programming

Network programming is Java Beat… In the Internet age C++ The key to . We need to master TCP Ed cheng 、UDP The classic mode of programming , But it doesn’t need to be too deep to learn . because , The bottom layer of most projects is encapsulated .

Two 、WEB Server development phase

Study Java, Most people end up in server programming 、 Enterprise development . therefore , To be able to write a complete project . At this stage, we also need to learn some Java Other technologies : Web development and Design 、 Database programming .Java The technology in this field is :Servlet、JSP、 Tag library 、 The server etc. . This is what we have to learn when we enter the development field , Light will Java SE It is impossible to achieve employment 、 Can’t develop projects independently . however , After learning the skills of this stage , You can develop some projects independently 、 Have preliminary employability .

1、 Web development and Design

Java The programmer mainly completes the development of the server , But it is also necessary to master how to display data on the browser side . The basic knowledge of web development can be said to be a must learn skill .HTML、CSS、 JavaScript、JQuery etc. . Web development is also a specialized specialty ,Java Programmers learn , Just grasp the basic concepts , You don’t need to go into too many details . When we are studying , Hold on to “ degree ”.

2、 Database programming and Design

Database is the core of the storage of most projects , therefore , As Java Programmers also have to master . When learning database technology , Focus on mastering SQL Inquire about 、 The design paradigm of tables 、JDBC technology 、ORM Thought and Mybatis frame . Other knowledge about database management doesn’t need to be mastered too much .( Internet companies preferred MySQL, secondly Oracle、SQL Server……)

3、Tomcat

Tomcat The server is an open source lightweight Web application server , It is widely used in small and medium-sized systems and small concurrency , Is development and debugging Servlet、JSP Program preference .

4、Servlet and JSP technology

Servlet and JSP yes Java The core technology of server development , It’s also a necessary skill . Focus on the following knowledge : HTTP agreement 、Tomcat The server 、Servlet、Jsp、EL Expression and tag libraries .( Although in the era of front-end and back-end separation ,JSP Showing signs of decline , But it’s still used in some small and medium-sized companies , Also present Java WEB It’s a must for a siege cat .)

5、 Do a simple project

Learn now , You already have the initial project development ability . It’s very necessary to go through a project , Connect what you have learned , Strengthen what you have learned . meanwhile , Also through project development learning , To really enter Java The ranks of enterprise development .

3、 … and 、 Frame stage

Framework is an important technology used by enterprises , The essence is to write less code , Do more , Thus greatly reduce the amount of code , Let the programmer pay more attention to the realization of the business . I write less by myself 了 , If you use what others have written, you need to understand what others have written , The key and difficult point of learning framework is not only to use it, but to understand what others have written . But also to master ” degree ”, Don’t go for the bottom , want ” Choose the most important ”, Otherwise, there may be too many things , Never finish learning .

1、MyBatis frame

Study MyBatis The framework needs to know that it’s a persistence layer framework . Its main responsibility is to complete the database operation , Therefore, it also requires us to have a certain SQL Basics .MyBatis Flexibility is reflected in all SQL It’s all written by programmers , Write what you want SQL command , Most of the rest is left to MyBatis It’s done . We put Mybatis It’s the end of learning JDBC after , In this way, we can consolidate JDBC And database knowledge , It can also be used in upcoming projects Mybatis, This is more in line with the actual combat of the enterprise .

2、Spring frame

Study Spring The goal of the framework is clear , Is to study well IOC/DI、 AOP、 Declarative transactions . Use alone Spring It’s simple , The key point is how to run these functions after learning the core functions . At present, most of the technologies need to be Spring Integrate , therefore Spring It’s a very important framework . Spring The framework is not focused on one layer , There is… Everywhere Spring Shadow . So I need to do more basic grammar projects , To really feel Spring The charm of .

3、Spring MVC frame

Spring MVC As MVC frame , The focus is on the writing of the controller . How to receive parameters , How to deliver content to the page , There are a lot of annotations, and these are the core . Grasp the main pulse when learning , We should start with the principle of operation , Clearly know the core components inside , It takes twice as much work to learn .

4、Maven

Maven It’s a project building tool , We have to understand the concept of distribution first . I learned from you Maven After each project may not be a Project It’s a lot of , So the key and difficult points are the relationship between projects and Maven in POM Configuration of .

5、 Make a complete SSM project

Learn now , You are fully equipped with Java EE Independent development capability of the project . It’s very necessary to go through a complete project , Connect what you have learned , Strengthen what you have learned . meanwhile , Also through project development learning , To really enter Java The ranks of enterprise development .

6、Spring Boot frame

By the end MyBatis、Spring、Spring MVC After integration , Will be its tedious configuration , Make me dizzy , Then you can feel it Spring Boot The charm of . Basically speaking ,Spring Boot It’s a collection of libraries , It can be used by any project’s construction system . It USES “ Convention over configuration ” The idea is to get your project running quickly . In the words of the boss , Namely Spring Boot Not really a new framework , By default, it configures many ways to use the framework , It’s like Maven It integrates all of them jar package ,Spring Boot Integrated all the frameworks .

7、 Make one Spring Boot project

Before passing SSM Project exercises , I think you’re right WEB Have a certain understanding of project development , So use it now Spring Boot Frame to impress , Feel the present Java The convenience of the mainstream framework of enterprise development . Share a few hot items , For your reference .

BootDo Open source framework for learning , Reduce over encapsulation , Show the nature of Technology .

mall An e-commerce system , Using the current mainstream technology to achieve . covers SpringBoot 2.3.0、MyBatis 3.4.6、Elasticsearch 7.6.2、RabbitMQ 3.7.15、Redis 5.0、MongoDB 4.2.5、Mysql5.7 Technology , use Docker Containerized deployment .

RuoYi be based on SpringBoot Authority management system .

Four 、 Advanced technology stage

Advanced technology is widely used with the popularity of e-commerce , Most of these technologies are designed to solve ” High load ”,” High concurrency ” Etc .

1、Linux
Linux It’s the operating system , Study Linux The purpose is to release the project developed by ourselves to Linux in , So study Linux The main requirement is how to configure the running environment of the project . As Java Programmers don’t need to have a deep knowledge of Linux knowledge , Master the basic operation .

2、Spring Cloud

First , Even though Spring Cloud with “Cloud” The word , But it’s not a cloud computing solution , It’s based on Spring Boot Implementation of cloud native application development tools , It is based on JVM Configuration management involved in cloud native application development 、 Service discovery 、 Fuse 、 Intelligent routing 、 The micro broker 、 Control bus 、 Distributed session and cluster state management provide a simple way to develop .

3、Spring Cloud Alibaba

Many people may ask , Now that we have Spring Cloud This framework of microservices , Why use Spring Cloud Alibaba This framework ? The most important reason is Spring Cloud in , Almost all components use Netflix Products of the company , And then a layer of encapsulation is made on the basis of it . However Netflix Service discovery component for Eureka Update stopped , And many other components are expected to be in 2020 The maintenance was stopped in succession in 2000 . So there’s an urgent need for other alternatives , That is to say Spring Cloud Alibaba, At present, it is in a state of vigorous development .

have a look official How to define Spring Cloud Alibaba Of :

Spring Cloud Alibaba One stop solution dedicated to microservice development . This project contains the necessary components for developing distributed application microservices , It’s convenient for developers to pass through Spring Cloud The programming model easily uses these components to develop distributed application services .
Depending on the Spring Cloud Alibaba, You just need to add some annotations and a few configuration , It can be Spring Cloud Application access to Alibaba microservice solution , Build distributed application system quickly through Alibaba middleware .

4、Shiro Security framework

Shiro Application scenarios are all about permissions 、 On the security , The application scenario is clear , So it leads to Shiro There’s a lot of jargon in it . Study Shiro Starting from the architecture diagram , Remember all the technical terms clearly . We study in two parts Shiro , Namely : Certification and authorization .

5、Spring Security frame

One can be based on Spring The enterprise application system provides a declarative security access control solution security framework ( In short, it is to control access rights ), Application security includes user authentication (Authentication) And user authorization (Authorization) Two parts . User authentication is to verify whether a user is a legal subject in the system , That is, whether users can access the system . User authentication generally requires the user to provide a user name and password . The system verifies the user name and password to complete the authentication process . User authorization refers to verifying whether a user has permission to perform an operation . In a system , Different users have different permissions . For example, for a file , Some users can only read , And some users can modify . Generally speaking , The system will assign different roles to different users , Each role corresponds to a series of permissions .Spring Security The main core functions are authentication and authorization , All architectures are based on these two core functions .

6、Docker

Docker Is an open source application container engine , Developers can package their own applications into containers , And then move to other machines Docker Application , Rapid deployment can be achieved . If something goes wrong , It can be done through the mirror image , Fast recovery service . Many advanced technologies can be based on Docker, Fast installation and deployment , Therefore, it is recommended to give priority to learning .

7、Redis

NoSQL Databases are used more and more in enterprises , The main advantage is high efficiency . Every NoSQL data Libraries have their own unique operations API, So I can install it skillfully Redis On the basis of , More skillful use Jedis、Spring Data Redis operation Redis.

8、MongoDB

MongoDB Is a database based on distributed file storage . from C++ Language writing . For the purpose of WEB Applications provide scalable, high-performance data storage solutions .MongoDB Is a product between relational and non-relational databases , Non-relational databases are the most versatile , Most like a relational database .

9、Rabbit MQ

Implementation based on queues , After understanding the concept of queue , hold Rabbit MQ It’s easy to install .

10、RocketMQ

RocketMQ Is a distributed message middleware , It was initially developed by Alibaba message middleware team and applied to production system on a large scale , To meet the demand of information accumulation in Shanghai , stay 2016 Donate to at the end of the year Apache The open source foundation becomes an incubation project , In less than a year it officially became Apache Top projects ; In the early days, Ali was based on ActiveMQ Develop messaging systems , As business messages grow in size , The bottleneck gradually appeared , Later, I also considered Kafka, But because there is no choice in terms of low latency and high reliability , At last, I independently developed RocketMQ, All aspects of the performance are better than the existing message queue ,RocketMQ and Kafka Very similar in concept and principle , So it’s often compared ;RocketMQ The default mode is long polling , The stand-alone machine supports tens of millions of message stacks , Can be very good application in mass message system .

11、Lucene

Lucene Is an open source library for full text retrieval and search , Provides a simple but powerful application interface (API), Be able to do full-text indexing and searching ,Lucene It’s not a ready-made search engine product , But it can be used to make search engine products .

12、Solr

Solr Search for , First you have to be able to build SolrCloud. Learn how to use SolrJ after , You need to understand ” Indexes ”, search algorithm ,Solr Only the principle of realization can be mastered Solr.

13、ElasticSearch

ElasticSearch It’s based on Lucene Search server for . It provides a distributed multi-user capability of full-text search engine , be based on RESTful web Interface .Elasticsearch Yes, it is Java Language development , And as a Apache Open source distribution under license terms , Is a popular enterprise search engine .ElasticSearch For Cloud Computing , Real time search , Stable , reliable , Fast , Easy to install and use . The official client is in Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby And many other languages are available .

14、Nginx

First of all, we need to understand the concept of reverse proxy , Proxy local directory and proxy other hosts . Skillfully install Nginx and To configure Nginx It’s learning Nginx Key points of . If you study around the clock , Suggested study time 1 God .

15、MyCat

In order to retain the advantages of relational data ,MyCat As a solution MySql The solution that can’t divide database and table . Study MyCat Let’s start with configuration MySQL Master starts with backup , And then skillfully configure MyCat The configuration file . If you study around the clock , Suggested study time 1 God .

16、Vue

Vue Is a progressive framework for building user interfaces . Unlike other large frameworks ,Vue Designed to be applied layer by layer from the bottom up .Vue The core library focuses only on the view layer , Facilitate integration with third-party libraries or existing projects .

……

As a developer , We need to keep up with technology . Every day , We’re all learning new programming languages 、 Frames and Libraries . however , Technology is the same as fashion , Changing at the speed of light . It was a winless game , Because technology has no end .

5、 … and 、 The design pattern and the frame bottom deepen stage

Design patterns are the best way to write code to solve specific problems . There are always design patterns in program development . Learning design patterns requires understanding what problems code is designed to solve . You can learn all the design patterns first , about GOF23 There is a basic understanding of design patterns . And then learn the underlying code of the mature framework , In this way, the skills will be more in-depth learning framework, but also to make their foundation more solid . Learning design patterns can be split into small pieces of learning , It is not recommended to take up a lot of time at one time .

There are two kinds of frame learning :

One is to use , One is to understand the principle of implementation . If the learning framework is just to know the environment in which the framework is built , If you use a framework , It’s easy to learn the framework . But if you want to clearly understand how each function is implemented, you must clearly know the underlying framework . The bottom layer of the learning framework can help us quickly think about the cause of this error when there is an exception . because We know the code we write , I know what other people have written , If there is a mistake, it will be better solved .

MyBatis The bottom layer of the framework can be obtained from SqlSessionFactory Starting with , Tracking down a class and a method , All the way to SqlSession close .

Spring The underlying source code of BeanFactory and ApplicationContext Starting with , know Spring Container function .

SpringMVC The underlying source code can be obtained from DispatcherServlet Starting with , Observe the running process of all core components .

Each framework can draw its own flow chart , In this way, it is more conducive to clarify the operation principle of the whole framework. The bottom content of the framework can be learned while learning the framework .

【 notes 】 The learning at the bottom of the framework is suitable for the students who are willing to learn . If you master the use of the framework, it is difficult , You can put it first . Use the framework skillfully and then go deep into the bottom .

Some personal suggestions

1、 Care for your family , Filial to our parents ;

2、 Often turn over the interview questions ;

3、 Develop personal interests ;

4、 Exercise and keep fit ;

5、 How to speak , More communication ;

6、 Pay more attention to industry trends ,

7、 Make more friends in other industries ;

Technology has a price , Health is priceless !

mixed 〔IT〕 My primary school students Love programming , Like to challenge new things ! I’m a blogger

发表回复