Engaged in Java development for many years, in this organized some knowledge system about Java, this is not the final version, there is no best only better, I will update irregularly.

Java knowledge system mainly includes basic knowledge, tools, concurrent programming, data structure and algorithm, database, JVM, architecture design, application framework, middleware, microservice architecture, distributed architecture and so on

Note: There are no shortcuts to learning programming

An old man learns but a young man learns. Not aware of pond spring grass dream, step before wu leaves have autumn sound. — Poems exhorting Students by Zhu Xi

Hard work is the only shortcut to change your fate.

I. JavaSE basic system:

The first step: Learn JAVA development environment configuration, develop the first JAVA program. It is also recommended that you start using an IDE such as Eclipse without having to start with Notepad.

  • What is the difference between the JRE and the JDK?
  • How do I install the JAVA JDK?
  • How to install Java on win10 system?
  • How to get started with Java Zero? What is recommended to learn first?
  • Java wrote the first program and it went wrong?
  • How to build a solid Java foundation?
  • No version displayed when running Java-version with DOS command?

The second step: Learn data types, operators, variables. This is the foundation of programming, the “brick” of the program. Most programming languages have these things, and they are very similar.

Variables, data types, operators

  1. Conversion of binary and decimal
  2. Comments, single-line comments, multi-line comments, text comments, relationship between comment content and bytecode
  3. Identifiers, keywords, the hump principle
  4. Variable nature, memory drawing, variable declaration and initialization
  5. Classification and scope of variables (local variables, member variables, static variables)
  6. Constants and Final
  7. Basic data types
  8. Integer variables and integer constants
  9. Floating point type, float, double
  10. Char Indicates an escape character
  11. Boolean Boolean, if statement usage, Space usage of Boolean types
  12. Operator introduction
  13. Arithmetic operators (binary, increment, decrement)
  14. Assignment and assignment operators
  15. Description of relational operators
  16. Logical operators, short circuit operators in detail
  17. Bitwise operator details
  18. String concater
  19. Conditional operators (ternary operators)
  20. Operator priority problem
  21. Automatic type conversion in detail
  22. Detailed explanation of mandatory type installation
  23. Basic data type installs common errors, overflows, and L problems
  24. Use Scanner to get keyboard input
  • 1. Beijing Gaoqi Java300 Set (Java strongly recommended)

    Java300 sets zero basic tutorial for beginners – Java300 sets zero basic tutorial for beginners – Java300 sets zero basic tutorial for beginners – Java300 sets zero basic tutorial for beginners – Java300 sets zero basic tutorial for beginners – Java300 sets zero basic tutorial for beginners
  • 2.JavaSE Basics – Starting from scratch (recommended)

    Java from beginner to master _/ Java Basics/Arrays /OOP/ Collections /IO streams _

The third step: Learning control statements. This is the foundation of programming, the “concrete” of the program. With control statements + variables, you can theoretically write any program you want. So this is the threshold into the program and it takes a lot of practice.

Control statements

  1. Control statements correspond to implementation logic
  2. If optional structure
  3. If_elseif_else multiple choice structure
  4. Switch statement _IDEA Changes the theme
  5. Loop _while
  6. Loop _for loop _dowhile
  7. Nested loop
  8. Break and continue statements _ label _ Control statement underlying principles
  9. Write an annual salary computer _ Baidu check the secret of the problem (important)
  10. Personal income tax calculator software
  11. The genius thinking model teaches you how to learn thinking patterns
  12. Method overloading
  13. Recursion structure explanation _ recursion header _ recursion body
  • 1. A complete set of systematic teaching JavaSE foundation courses

    Java from beginner to master _/ Java Basics/Arrays /OOP/ Collections /IO streams _bilibili
  • 2. Systematic Teaching JavaSE Foundation full course [Sequel]

    Java from beginner to master _/ Java Basics/Arrays /OOP/ Collections /IO streams _bilibili

The fourth step: Learn the basics of object orientation. Introduce basic concepts such as classes, objects, and packages. When learning, be sure to involve memory analysis here, so that you can have a very deep understanding of objects and other knowledge.

Object-oriented programming – Basics

  1. The difference between procedural and object oriented
  2. An overview of classes and objects
  3. Class properties and methods
  4. Create object memory analysis
  5. Constructor method (Construtor) and overload
  6. Object type parameter passing
  7. This keyword
  8. Static keyword explanation
  9. Local code blocks, construction code blocks, and static code blocks
  10. Package and import details
  11. JavaDoc generates API documentation

Step 5: Continue to object oriented, mainly contains three characteristics: inheritance, encapsulation, and interface, abstract class, inner class concepts. These concepts need to be mastered. But for starters, familiarize yourself with the grammar. Go further through the later study. Don’t expect these concepts to sink in when you first learn them.

Object-oriented programming – Advanced

  1. Three main features of object orientation
  2. Object Oriented Encapsulation
  3. Access modifier
  4. Object-oriented [Inheritance]
  5. Object class
  6. Override ()
  7. Super keyword explanation
  8. Override equals() and toString()
  9. Memory analysis of object creation in inheritance
  10. Object-oriented Polymorphism
  11. upcasting
  12. Downward transition
  13. The instanceof operator
  14. Compile time and runtime details
  15. Final modifier
  16. Abstract Classes and Methods (Abstrct)
  17. Definition and implementation of interfaces
  18. New interface features in JDK8
  19. Interface application: Internal class comparator Comparable
  20. Inner class details
  21. Java memory management and garbage collection
  • **Java Object-oriented programming _OOP basic in-depth introduction to Java object-oriented programming _OOP basic overview /JavaSE/ object-oriented programming /OOP programming
  • OOP Object-oriented Java foundation dry goods sharing

    Object Oriented Java Basics /JavaSE/ Object-oriented programming /OOP programming _bilibili
  • Object Oriented Programming in Java

    Object-oriented Programming in Java 79 lessons focus on Object-oriented programming _ General introduction to object-oriented programming _ Three Paradigms of Object-oriented programming _Java Programmer object-oriented development _ Focus on Object-oriented _bilibili bilibili bilibili

Articles on object Orientation:

For more details on object-oriented content, check out some of my articles:

Dimple: Java entry pose [Object-oriented 2] Define classes and create objects _ Understand local variables

Dimple: Java entry pose [Object-oriented 3] constructor and its overloaded _ method call

Dimple: Java entry pose [Object-Oriented 4] static keyword

Dimple: Java entry pose [Object-oriented 5] Package and import.

Dimple: One of the three main features of Object-oriented 6: Encapsulation

Dimple: One of the three main features of Object-oriented 7: Inheritance

Inheritance – Important points

Step 6: Exception mechanism. Java program security requires the exception mechanism, which is a must learn content. And, of course, very simple. Instead of focusing on custom exceptions, learn the basics.

Exception mechanism

  1. Overview of exceptions
  2. Exception execution process and analysis
  3. Try-catch-finally Catches exceptions
  4. Throw an exception
  5. Throws declaration exception
  6. Abnormal inheritance system
  7. Runtime and compile exceptions
  8. Custom exception
  • JavaSE Basics tutorial

    JavaSE basic Introductory tutorial – only for beginners _ High qi Java300 set /Java Zero foundation /Java /Java to master /Java programming /JavaSE/Java foundation _bilibili
  • Java Basics Video Java Basics tutorial

    Java300 sets Of Java basics _Java zero foundation _Java video Java zero foundation video tutorial _Java full course _bilibili bilibili

Step 7: Common classes and JDK source reading. Learn the use of common classes: wrapper classes, string-related classes, practice classes, Math classes, File classes, and so on. Along the way, you’ll pass just by learning how to use these apis. To be excellent, to cultivate expert thinking, must be combined with JDK source code, from the beginning to develop the habit of reading source code (although, most may not understand).

Java common classes (here a simple example of common, there are many partners please understand their own)

  1. Wrapper Wrapper classes
  2. Automatic packing and unpacking
  3. Wrapper class source code analysis
  4. The use of the String class and memory principles
  5. String class source code analysis
  6. StringBuffer
  7. StringBuilder
  8. String handling class performance analysis
  9. The Date class
  10. The System class
  11. The DateFormat class
  12. Calendat class
  13. Math class
  14. BigInteger and BigDecimal classes
  15. The Random class
  16. Enumeration class
  17. The File type
  18. Description and analysis of common interview questions
  • 【 Foundation solid 】Java common class actual combat basic tutorial

    【 Foundation 】Java common class actual combat basic tutorial _Java eight common class core foundation _Java common class basic /Java wrapper class /String class _bilibili bilibili

Step 8: arrays and algorithms. When learning about arrays, focus on managing arrays with loops. You also have to understand arrays from the underlying memory, which is both arrays and object-oriented review; Combined with some algorithms, such as sorting and search algorithm, not only practice the use of array, but also learn the algorithm knowledge, for the enterprise written test and interview preparation.

Data structure algorithm

  1. Overview of data structures
  2. The linear table
  3. The order sheet
  4. The list
  5. The stack and queue
  6. The tree
  7. Binary tree
  8. Binary search tree
  9. Binary equilibrium tree
  10. Black mangrove
  11. figure
  12. Bubble sort
  13. Selection sort
  14. recursive
  15. Binary search
  • Data structure and algorithm _Java data structure and algorithm foundation to advanced /Java basic introduction to advanced /Java data structure analysis /Java data structure FAQ _ bilibili_bilibili
  • JavaSE data structure algorithm combat tutorial _ data structure algorithm combat course /Java data structure /Java algorithm combat /JavaSE learning /Java programming _bilibili bilibili
  • JavaSE data structures and algorithms – JavaSE data structures and algorithms – Bilibili data structures and algorithms – JavaSE data structures and algorithms – Bilibili data structures and algorithms – Bilibili data structures and algorithms

Step 9: containers and data structures. Containers include List, Set, and Map. Learning these three container uses only takes an hour or two. At this point, however, you need to combine data structures with JDK source code. This is the “master habit”, let everyone learn containers, but also learn data structure, play deep internal skills, to deal with the interview more than enough.

Collection (container)

  1. The connection and difference between collections and arrays
  2. Set frame system
  3. ArrayList usage and source code analysis
  4. Generics are used in collections
  5. Use of LinkedList and source code analysis
  6. HashSet usage and source code analysis
  7. Hash table and principle
  8. TreeSet use and source code analysis
  9. Comparators Comparable and Comparator
  10. Use of HashMap and source code analysis
  11. TreeMap usage and source code analysis
  12. The Iterator in ListIterator
  13. The Collections utility class
  14. The old collection classes Vector and Hashtable
  15. Collection summary and selection basis
  16. A generic interface
  17. A generic class
  18. Generic method
  • Programming programmer Java collection and array Java collection Listjava collection hash table Java collection Mapjava collection Collectionsjava generics Java generics interface Java collection _ bilibili_bilibili
  • Java collection Framework Complete version of the latest tutorial to master _List_Set_Map_ Easy to understand Java collection course video _bilibili _bilibili

Step 10: IO stream technology. Just learn the various common streams and use a few utility classes such as Apache IOUtil. This will make you more productive in the future.

IO stream

  1. The concept of IO streams
  2. IO stream classification and principle analysis
  3. File streams FlieInputStream and FileOutputStream
  4. BufferedInputStream, BufferedOutputStream
  5. ObjectInputStream, ObjectOutputStream
  6. Serialization and deserialization
  7. Convert streams InputStreamReader and OutputStreamWriter
  8. Print streams PrintWrite and PrintStream
  9. Array streams ByteArrayOutputStream, ByteArrayInputStream
  10. Copy folders using IO
  • JavaSE in-depth understanding of THE IO flow analysis File class quality course _JavaSE phase IO flow course tutorial _Java course /Java tutorial /JavaIO flow practical course _bilibili _bilibili
  • Java from beginner to master _/ Java Basics/Arrays /OOP/ Collections /IO streams _bilibili
  • IO stream _IO stream introduction _IO stream concept and classification _Functions and principles of IO stream _LO Stream Basic usage _ Java Basic learning _IO stream basic architecture _ File stream _ Bilibili
  • JavaSE part File class and IO stream video course _bilibili

Step 11: Multithreading technology. This is also common in written tests and interviews. We are going to learn the basics of multithreading, life cycle, state transitions. If you can, study the producer-consumer model so that you can start with an architectural mindset. Since learning, in accordance with the “high standard” of their own.

multithreading

  1. Processes and threads
  2. Thread creation and startup
  3. Comparison of three ways to create a thread
  4. The life cycle of a thread
  5. The thread of control
  6. Multithreading security problems and solutions
  7. Synchronization of threads: Synchronization of code blocks
  8. Synchronization of threads: synchronization method
  9. Synchronization of threads: Lock Lock
  10. Thread deadlock issues
  11. Thread communication
  12. Condition
  13. The full life cycle of a thread
  14. The thread pool ThreadPoolExecutor
  15. ForkJoin framework
  16. Ref;
  • Java multithreading actual combat tutorial _JavaSE multithreading video tutorial details _ package you learn _ flexible use _bilibili bilibili
  • JavaSE multithreaded JDK new features _JavaSE multithreaded foundation reinforcement video tutorial _bilibili _bilibili _ Bilibili _ Bilibili _ Bilibili _ Bilibili

Step 12: Network programming. Work directly used not much, and socket programming paradigm is about the same, you can understand. After all, it’s rare to write socket-based code directly

Network programming

  1. Basic knowledge of computer network
  2. Network communication protocol
  3. OSI reference model
  4. TCP/IP reference model
  5. Data encapsulation and unencapsulation principle analysis
  6. TCP protocol
  7. UDP protocol.
  8. IP address and port number
  9. The URL and the Socket
  10. Use TCP programming to achieve the login function
  11. Use UDP programming to achieve customer service system
  12. Use TCP programming to achieve file upload
  • Java network programming actual combat _Java network programming detailed tutorial _ easy to learn Java network programming _Java network programming actual combat development _Java network programming full set of video intensive _Java network programming introductory tutorial _bilibili bilibili
  • JavaSE basic Introductory tutorial – only for beginners _ High qi Java300 set /Java Zero foundation /Java /Java to master /Java programming /JavaSE/Java foundation _bilibili
  • Data structure and algorithm _Java data structure and algorithm foundation to advanced _Java interview common data structure and algorithm questions _ Sorting algorithm _ recursion _ split query _ stack and queue _ Linked list _bilibili _bilibili

Step 13:Designer mode, master several commonly used design mode, in the work will have a surprising effect.

Design patterns

  1. Introduction to Design Patterns
  2. Seven principles of Object-oriented Design
  3. Simple Factory model
  4. Factory method pattern
  5. The singleton pattern
  6. The prototype pattern
  7. Decorative pattern
  8. Adapter mode
  9. The appearance model
  • GOF23 kinds of design pattern explain course _ from singleton to memo mode 23 kinds of pattern explain _bilibili _bilibili _ Bilibili
  • JavaSE knowledge base complete set – from 0 to the beginning of the JavaSE basic knowledge system from the beginning to the master framework _/JAVA foundation/arrays /OOP/ collections /IO flow _bilibili

The first ten steps: Make a project. After learning so much, how can I not make something worthy of myself? Whether it’s a small game project, a Swing-based project, or any other console project.

JavaSE Training Project:

Classic small game, fun endless solid foundation, play to learn ~~

  • tuixiangzi

    Java game project “push box” basic combat tutorial _ refuse boring Java push box project 2 days easy to master _Java project write push box game _ project combat _Java project tutorial _Java_ bilibili bilibili bilibili
  • Gold miners

    Only 2 hours to make the Java gold miner small game project _java primary project _Java training project _Java project actual combat _Java game development actual combat teaching _Java small game _bilibili _bilibili
  • Table tennis game

    Java billiard game project _ Hand in hand teach you to use Java to develop billiard games _Java beginners project _Java basic actual combat project advanced _bilibili bilibili
  • Tetris

    Teach you to use Java to develop tetris small game _java practice project _ consolidate JavaSE foundation _java small game _bilibili bilibili
  • The plane war

    Plane wars 1.0 advanced _Java28 feature points novice ability upgrade essential _bilibili bilibili bilibili
  • snake

    1 hour teach you to make the Java snake small game project _java training project _java project actual combat _java small game _Java game development actual combat teaching _Java primary project _bilibili _bilibili

Recommended Introductory books:

  • Understanding Java
  • Java from Beginner to Master (4th edition with CD)
  • Getting Started is Easy: Getting Started with Java Web Development is Easy
  • From programmer to Engineer
  • Java from little White to big Bull
  • JavaWeb Project Development Primer (full color edition)
  • Java Brilliant Programming 200 examples (full color Edition)
  • Java Easy
  • Big Talk Java: Programming from Beginner to Master (including 1 DVD)
  • Pocket Guide to the Java Language (2nd Edition)

Basic advanced books:

  • Thinking in Java (4th Edition)
  • Java Core Technology Volume I: Basics (Original Book 10th Edition)
  • Java Core Technology Volume II: Advanced Features (Original Book 10th Edition)

1. Practical Java Programming

(1) Jointly published by Shang Xuetang and Tsinghua University Press, known as “the little Red book of Java” \



2. Programmer Training Manual

(1) Gao Qi teacher wrote, knowledge point is very suitable for learning time to refer to!! \

3, “Programmer Interview Questions collection”

(1) This set of videos summarizes the interview questions, with reference answers (e-book provided) \

More Detailed Java learning circuit diagrams – I will update them sometime

The above learning recommendations, enough for you to master all the knowledge of JavaSE, everything is difficult at the beginning, this article in the difficult road for you to cut thorns cut hemp.