Knowledge you must master to learn JAVA (no regrets)
For Web applications, the most common development languages are Java and PHP.
Back-end services, the most common R&D languages are Java and C/C.
Big data, the most common R&D languages are Java and Python.
It can be said that Java is the most widely covered R&D language among Chinese Internet companies at this stage. Mastering the Java technology system, whether in a mature large company, a rapidly developing company, or a company in the entrepreneurial stage, All have a place to stand.
Many friends have asked, in addition to mastering Java syntax, what Java-related technologies should be systematically learned. Today I will share one, a roadmap for learning Java technology on the Internet.
1: Common patterns and tools
It is essential to learn Java technology system, design patterns, popular frameworks and components of:
Common design patterns, necessary for coding
Spring5, the latest framework essential for applications
MyBatis, an essential component for playing with databases
2: Engineering and Tools
If a worker wants to do his job well, he must first benefit from it Whether you are a novice or a senior developer, it is essential to play with the Java technology system and choose good tools to improve development efficiency and team collaboration efficiency:
Maven, project management
Jenkins, continuous integration
Sonar, code quality management
Git, version management
三:Distributed architecture
High concurrency, high availability, massive data, it is definitely impossible to play without distributed architecture knowledge:
Distributed Architecture Principle
Distributed Architecture Strategy
Distributed Middleware
Distributed Architecture Practice
Four: Microservice Architecture
Business is becoming more and more complex, services are layered, microservice architecture is the only way to upgrade the architecture, Java technology system, What are the technologies related to microservices?
Microservice Framework
Spring Cloud
Docker and Virtualization
Microservice Architecture
Five: Performance Optimization
#Any ppt architect who is divorced from details is a rogue. He can strategize upwards and solve first-line performance downwards. Question, Java technology system, need to understand:
Performance indicator system
JVM tuning
Web tuning
DB tuning
Six: Low-level knowledge
From architecture design to application layer tuning, and then in-depth Only by understanding the underlying principles and solid basic Java skills can you become a sweeping monk:
Memory model
Concurrency mode
Threading model
Lock details
Knowledge that must be mastered to learn JAVA:
What is object-oriented
It is a kind of lazy thinking that is more in line with our thinking habits
Can simplify complex time
Turn us executors into commanders
The role happens Change
What are the characteristics of object-oriented
Object-oriented includes: Encapsulation Inheritance Polymorphism
Benefits and disadvantages of inheritance
Benefits: Improved reusability of code Improved maintainability of code Let classes be related to classes The relationship between them is the premise of polymorphism
Disadvantages: The coupling of classes enhances
Benefits and disadvantages of polymorphism
What kind of polymorphism: Polymorphism is the multiple forms of things existing
Polymorphism The premise: there must be an inheritance relationship, there must be method rewriting, and there must be a parent class reference pointing to the subclass object
Disadvantages include: cannot use subclass-specific methods
Advantages include: Improved code maintainability Improved Code reusability can be used as formal parameters and can accept any subclass object
What is an interface
In a broad sense, the rules provided by an interface to the outside world are all interfaces
What is an IO stream
The IO stream is Used to handle data transmission between devices
There are input streams and output streams
It is divided into two byte streams and character streams
What is a thread
A thread is a path for program execution, a process It can contain multiple threads
What is multi-threading
Concurrent execution of multiple threads can improve the efficiency of the program and can complete multiple project work at the same time
What is a counting machine network
Refers to the network with different geographical locations Multiple computers and their external devices with independent functions are connected through communication lines. Under the management and protocols of the network operating system,
network management software and network communication protocols, a computer system realizes resource sharing and information transmission
What is network programming
It is used to realize network interconnection and data exchange between programs running on different computers
What is reflection
Java reflection mechanism is in the running state, and can be used for any class Know all the properties and methods of this class
For any object, you can call any of its methods and properties
This dynamically obtained information and the function of dynamically calling the object's methods are called the reflection mechanism of java voice
If you want to dissect a class, you must first obtain the bytecode file object of the class.
The dissection uses the method in the Class class, so you must first obtain the Class type corresponding to each bytecode file. Object
What is an enumeration
means to list the values of variables one by one. The value of the variable is limited to the listed value range. For example: there are only 7 days in a week, only 12 months in a year, etc.
Recall sheet Example design pattern: a singleton class is a class with only one instance
So many example classes are a class with multiple instances, but not an infinite number of instances, but a limited number of instances. This can be an enumeration class
JVM The default is how to handle exceptions
When the main method receives this problem, there are two ways to handle it. The first is to handle it by yourself and then continue to run.
The second is to handle. If you don’t have a specific handling method, you can only call main. The method is handled by the JVM
The JVM has a default exception handling mechanism, which handles the exception
and prints the name of the exception, the information about the exception, and the location where the exception occurs on the console, and at the same time stops the program from running
BigInteger
He can run data that exceeds the range of Integer
BigDecimal
His function is to store decimals more accurately
What is a memory output stream
That is, the output stream can Write data to the memory Treat the memory as a buffer After writing, you can obtain all the data at once
What is a thread pool
The cost of a program starting a new thread is relatively high because it involves interacting with the operating system Using a thread pool can greatly improve performance, especially when a program creates a large number of threads with short lifetimes. You should consider using a thread pool. Each thread in the thread pool will not die after the end of its code. When the goods arrive in the thread pool again, they are called idle state, waiting for the next object to be used. JDK5 has a built-in thread pool
What is a thread group
It can classify and manage a batch of threads. Java allows the program to directly control the thread group
What is a computer
Commonly known as a computer, it is a modern intelligent electronic device that can automatically run according to a program and process massive amounts of data at high speed
It is composed of software and hardware. A computer without any software installed is called a bare metal. A common form is a desktop computer. Computer, notebook computer, large counting machine
What is counting machine hardware
The general name of various physical devices composed of electronic machinery and optoelectronic components. These physical devices form an organic whole according to the requirements of the system structure and provide a material basis for the operation of counting machine software.
What is counting machine software
It is an indispensable thing for computers. Computer software enables counting machines to complete specific functions in a predetermined order. Counting machine software is divided into system software and application software according to its functions. What is counting machine voice?
It is human and computer A special voice for information exchange between people
java tutorial"
The above is the detailed content of Knowledge you must master to learn JAVA (no regrets). For more information, please follow other related articles on the PHP Chinese website!