Link : https://zhuanlan.zhihu.com/p/35532056
Source: Zhihu The
copyright belongs to the author. For commercial reprints, please contact the author for authorization, and for non-commercial reprints, please indicate the source.
Introduction by Yun Qijun: Java can write desktop applications, web applications, distributed systems and embedded system applications. And for now, even the underlying architecture of Taobao and Tmall, which can survive "Double 11", is implemented in Java. Note that such peak traffic is rare in the world, even Amazon's "Black Friday" will not be like this. Huge traffic, which is enough to show the power of Java, which is why Ali is called "Java Bright Top".
Java is actually very easy to learn and understand, object-oriented and simpler than C++, and debugging is also very simple. You can implement a small function with a little bit of hands. For most students, it is very easy to walk into the door of Java, but when I get started, where am I? Which direction should we go? How should I go? It might be a problem for everyone.
Alibaba Cloud University has organized a roadmap for Java learning for everyone. This roadmap is mainly divided into three parts: Java Zero Basic Introduction, Java Object-Oriented Development, and Java Advanced Development.
Study address: http://click.aliyun.com/m/4569 8 /
And this article also organizes the relevant dry goods for Java learning for everyone, hoping to help you who are learning in the Java ocean!
1. Introduction to Java Basics
1. Chinese version of Java API documentation
Abstract: The Java API Docs provided by Sun is one of the most frequently used reference materials in learning and using the Java language. Currently Sun is organizing various forces to translate this document into Chinese, and on October 31, 2005, the first batch of Chinese Java APIs were officially released in Sun China Technical Community ( http://gceclub.sun.com.cn/ ). Documentation (including the Chinese version of the java.lang and java.util class library API documentation).
Reading address : http://click.aliyun.com/m/45656/
2. Java and coffee beans - the origin of the name Java
Abstract: The JavaOne International Conference Hall in 2000 was very lively, with bursts of strong coffee smell. The Java elite who gathered from all over the world for the conference in San Francisco were excited, waiting in long queues to get a free cup of coffee from a coffee machine controlled by the Java language.
Reading address : http://click.aliyun.com/m/45657/
3. Introduction to JDK environment variables and simple Java syntax
Reading address : http://click.aliyun.com/m/45658/
4. A few basic rules that Java programs must meet
Abstract: A Java program is a pure object-oriented programming language, so a Java program must exist in the form of a class, and a class is the smallest program unit of a Java program. Java programs do not allow executable statements, methods and other components to exist independently, and all program parts must be placed in the class definition.
Reading address : http://click.aliyun.com/m/45659/
5. Java/JDK installation tutorial manual (full process of formal graphics and text), operation, environment configuration
Reading address : http://click.aliyun.com/m/45660/
6. Some advice for beginners in Java
Abstract: When starting to learn Java, we need to find a basic tutorial to learn, and watch some corresponding videos to study. When learning the basics of Java, you should try as much as possible. Many times you take things for granted. When you write and run them, you will find that it is not that simple.
Reading address: http://click.aliyun.com/m/4566 1/
7, Java back-end engineer learning outline
Abstract: For some Java back-end engineers who have not yet started or have just started, if they need to learn so much knowledge at once, many people must be discouraged. This article intercepts some key skill points in the skill tree, supplemented by study materials and book recommendations, as an entry or entry learning plan for Java back-end engineers, basically covering the necessary skills of a qualified Java back-end engineer Point is a relatively complete cultivation process from basic to advanced.
Reading address : http://click.aliyun.com/m/45662/
8. The relationship between Java and JDK versions
Abstract: I often see jdk1.5 or Java5 appearing in various articles. In fact, they all refer to the same thing. The version of Java started with the JDK Alpha and Beta versions in 1995. After the JDK1.0 version was released in the second year, it was JDK1.1 and JDK1.2.
Reading address : http://click.aliyun.com/m/45663/
9. The relationship between JDK, JRE and JVM in Java
Abstract: Beginners of Java are easily confused by many of the concepts. First, let’s understand them conceptually. JDK (Java Development Kit) is simply understood as the Java Development Kit, and JRE (Java Runtime Enviroment) is Java’s operating environment.
Reading address : http://click.aliyun.com/m/45664/
2. In-depth understanding of the principles behind Java
1. Java multi-threaded learning: synchronized keyword
Abstract: The synchronized keyword in the field of Java concurrent programming has always been a veteran. Many people would call it "heavyweight lock" a long time ago. This article will not introduce the implementation principle of the synchronized keyword, but more about the use of the synchronized keyword.
Reading address : http://click.aliyun.com/m/45665/
2. Detailed explanation of Java GC log (one picture to understand)
Summary: The log format of each collector is determined by its own implementation, in other words, the log format of each collector can be different. However, in order to facilitate the reading of users, the virtual machine designer maintains a certain commonality of the logs of each collector. This article briefly introduces these commonalities.
Reading address : http://click.aliyun.com/m/45666/
3. Exploring Java9 and other loading
Java9 brings a modular system, and the class loading mechanism has also been adjusted. The class loader in Java 9 is only the ExtClassLoader disappears and the PlatformClassLoader is added. The 5.3 Creation and Loading section of the JVM specification describes class loading in detail, here To put it simply, the specification divides class loaders into two categories, one is the startup class loader provided by the virtual machine, and the other is the user-defined class loader. Note that the creation of the array is not the creation of the class loader. , but created directly by the virtual machine.
Reading address : http://click.aliyun.com/m/45667/
4. Introduction of some Java decompilation tools/source code viewing tools
Abstract: Some friends complain that they can't see the underlying source code when using the company's closed source framework. Then try some Java decompilation tools. Below I give an example to introduce the specific steps of using these decompilation tools.
Reading address : http://click.aliyun.com/m/45668/
5. The size and reference type of Java objects in JVM concepts
Summary: The size of the basic data type is fixed, so I won't say much here. For non-primitive types of Java objects, the size is questionable. In Java, the size of an empty Object object is 8 bytes, which is just the size of an object without any properties in the heap.
Reading address : http://click.aliyun.com/m/45669/
6. In-depth study of Java virtual machine
Abstract: Speaking of Java, people first think of the Java programming language. However, in fact, Java is a technology that consists of four aspects: the Java programming language, the Java class file format, the Java virtual machine, and the Java application program interface (Java API).
Reading address : http://click.aliyun.com/m/45673/
7. The pros and cons of Java exception handling
Abstract: Exception handling in Java programming is such a common topic that almost any introductory Java course will mention exception handling. However, I think that many people do not really grasp the methods and strategies of correctly handling abnormal situations, and at most they only have a general idea and know the concepts.
Reading address : http://click.aliyun.com/m/45674/
8. Detail the Java garbage collection mechanism → Types of Java Garbage Collectors
Summary: This article will introduce the various types of Java garbage collectors. Garbage collection is an automatic process that Java uses to free programmers from the chores of allocating and freeing memory.
Reading address : http://click.aliyun.com/m/45676/
9. Java's reflection mechanism
Abstract: Java reflection is a key property of Java being regarded as a dynamic language. The Java reflection mechanism allows programs to load, detect, and use classes at runtime that are completely unknown at compile time. In other words, Java can load a class whose name is only known at runtime and get its full structure.
Reading address : http://click.aliyun.com/m/45677/
10, Java BIO, NIO, AIO
http://click.aliyun.com/m/45678/
Three, Java application combat
1. Java tools create keystores for Unity 3D packaging, signing, and publishing
Abstract: This article provides the whole process, Chinese translation.
Reading address : http://click.aliyun.com/m/45679/
2. Centos builds a Java Web development environment
Summary: This experiment teaches you how to configure JDK, Tomcat and Mysql.
Reading address : http://click.aliyun.com/m/45680/
3. Analysis and solution of Chinese character problems in Java programming technology
Abstract: In the programming based on Java language, we often encounter the problem of processing and displaying Chinese characters. A lot of incomprehensible garbled characters are definitely not the display effect we want to see. How can we make those Chinese characters display correctly? The default encoding method of the Java language is UNICODE, and the files and databases that we Chinese usually use are encoded based on GB2312 or BIG5. How can we properly select the encoding method of Chinese characters and handle the encoding of Chinese characters correctly? This article will start with the common sense of Chinese character encoding, combined with Java programming examples, analyze the above two problems and propose solutions to them.
Reading address: http://click.aliyun.com/m/4568 1/
4. Configure Tomcat server under JAVA EE Eclipse
Summary: Before doing Java web programming, the configuration of the web server must be performed. Here, we choose to configure the server in Java EE (version) Eclipse. Of course, before installing Java EE Eclipse, you must first install the JDK, and configure the JDK installation directory in the environment variable, so I won't say more here.
Reading address: http://click.aliyun.com/m/4568 2/
5. Implementation use case of encryption algorithm on Java
Abstract: When generating a key pair in encryption, the longer the key pair is of course, the better, but it takes more time. Please choose the appropriate length from the actual situation. The key in most of the code is every time The operation is regenerated. In the actual situation, it is saved in the file for a period of time after generation, and the re-run is directly read from the file, thereby speeding up the speed. Of course, it is also necessary to regularly update and strengthen the security of key storage.
Reading address : http://click.aliyun.com/m/45684/
4. The Java frameworks that have been learned in those years
1. Java open source framework set
Abstract: This article summarizes some of the popular Java open source frameworks.
Reading address : http://click.aliyun.com/m/45685/
2. The most popular third-party libraries for Java
Abstract: This article summarizes some of the most popular Java libraries, which are widely used in various applications; of course, the Java SDK is the most widely used Java library. Needless to say, this article focuses on third parties library.
Reading address : http://click.aliyun.com/m/45686/
3. Java Web development based on the Stripes framework
summary:Stripes is an open source, Action-based Java web framework. Traditional Java web development emphasizes flexible development through loosely coupled design, which leads to the creation of multiple configuration files, additional objects, and other fragmented resources. Obviously, these issues increase the learning curve for many developers, thereby reducing development efficiency.
Reading address: http://click.aliyun.com/m/4568 7/
The Yunqi Community Programming Language Lecture Series is hotly registered, and learn programming with senior technical experts! Sign up now! ! ! Registration address: http://click.aliyun.com/m/4563 9 /