Learn Java, these 21 core technology points you remember? A

Source: Internet
Author: User

1. JVM-related (includes features for each version)

For those who have just come into contact with Java, the knowledge of the JVM does not necessarily need to be understood very deeply, there is some simple understanding of the concept.  But for a veteran developer with more than 3 years of Java experience, the JVM is almost unacceptable. The JVM, as the basis for running Java, is hard to believe that people who don't know anything about the JVM can eat the Java language very well. When I interviewed developers with more than 3 years of Java experience, the JVM was almost a must-ask question.  Of course, the JVM is not the only one to determine the technical ability of the interview problem, but can support Java development capabilities. In this large class of JVMs, I think the knowledge to be mastered is: JVM memory model and Structure GC principle, performance Tuning tuning: Thread Dump, analysis Memory structure class binary bytecode structure, class loader system, class loading process, Instance creation process method execution The new features provided by the Java Major version update (requires a simple understanding)

2. Running Java (Basic prerequisites)

This one might look very simple, the Java program runs who wouldn't? But most of the time, we simply use the IDE to execute Java programs, and how does the underlying IDE execute Java programs?  A lot of people don't know. This knowledge point is the most basic Java developers need to master, beginner Java, the first is certainly to teach you how to execute Java programs on the command line, but many people once the Java learning, the IDE used, and forget this. Why do you want to know this, know the most pure Java startup mode, you can start the problem at the time, to analyze the number of directories launched at that time, the implementation of naming, how the parameters, whether there are missing and so on.  This will help you develop real-world solutions to those weird and potentially environment-related problems. Here's what you need to know: Javac compiling Java files for the use of the class file Java command, how the Java class with the package launches the various paths involved in the Java program on the command line (Classpath, Java. Library Path, the home directory where Java is running, etc.)

3. Data type

This is nothing more than the basic type of Java and the mastery of object types. You can learn more about how the JDK automatically transforms knowledge, including packing and unpacking, and also to avoid the same type of judgment that follows the boxing: basic type: int, long, float, double, Boolean, ... Corresponding object types: Integer type to basic type conversion, boxing and unpacking object type: Equals, hashcodestring type characteristics

4. Objects and instances, creation of objects

In this context, developers need to understand the concepts of class and instance and the difference between them, which is a fundamental aspect of Java's object-oriented nature. The main points of knowledge are: The concept of class and Instance Instance the process of creation: 1. No inheritance: Allocates memory space, initializes variables, and calls constructor 2. There are inheritance: handling static actions, allocating memory space, defining variables as initial values, starting from the base class, subclasses, handling the initialization at the definition, the points to be aware of when performing the construction method: static properties, etc. properties related to the default parameterless construction method from the base class, subclass

5. Access control

This is also a basic feature of the Java package, you need to know: public protected default private for class, method, field of the modification of the role

6. Process Control

The basis of Java process control, although some grammars are not necessarily common, they need to be understood and used where appropriate. What you need to know is: If, switch, loop, for, while, etc. process control syntax

7. The concept of object-oriented programming

This is a core concept of Java and requires proficiency for any Java developer. Many features or knowledge points in Java are related to the concept of Java object-oriented programming. In my understanding, a good developer not only needs to understand these features (knowledge points) themselves, but also need to know how these objects are embodied in Java's object-oriented programming concept, which is more useful for developers to master the Java Development language, as well as other object-oriented programming language. Here is simply a list of the main points of knowledge include: Object-oriented three major features: encapsulation, inheritance, polymorphism; The concept of individual definitions, what features are embodied, the concept of static multi-allocation of individual usage scenarios, the notion of dynamic single-dispatch concepts and the use of inheritance: interface multi-implementations, base-class single-inheritance abstractions, abstract classes, interface polymorphism: The concept of method overrides and the use of interface callbacks

8. Static

Static properties are often used in Java daily development and need to understand the usage associated with the static keyword, as well as with other keywords, such as whether it can be combined with abstract, final and other keywords. The main needs to be mastered are: the definition of static properties, use, and how to initialize the definition of static methods when class loads and the definition of static classes and the use of static code blocks to define and initialize the time

9. Basic Knowledge points

Here are some of the scattered, no system classification of some Java knowledge points. In the daily development of the use of a lot. This piece of content in fact there are many, currently only temporarily summed up these several here: including: Equals, Hashcode, String/stringbuffer, final, finally, finalize

10. Collection Framework

This is a need to master the part of the Java development, it can be said that there is no need to set the framework, this is very important. But the knowledge here is not difficult, but for the collection it is best to understand the internal implementation, because it helps you to choose the appropriate framework in different scenarios to solve the problem, such as a set of 1W elements, often to contains judgment operation, know the characteristics of the collection or internal implementation,  It is easy to make the right choice. This includes the following content (concurrency related is not included): The system of the set Framework: The basic collection, the content of the map concrete collection implementation, List, Set, Map concrete implementation, internal structure, special method, applicable scene and other sets of related tools class collections The use of such

Java industry exchanges, welcome new and big guy together, there are a lot of free teaching resources, video resources, books resources, welcome to obtain, group number 240448376


Learn Java, these 21 core technology points you remember? A

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.