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
- Conversion of binary and decimal
- Comments, single-line comments, multi-line comments, text comments, relationship between comment content and bytecode
- Identifiers, keywords, the hump principle
- Variable nature, memory drawing, variable declaration and initialization
- Classification and scope of variables (local variables, member variables, static variables)
- Constants and Final
- Basic data types
- Integer variables and integer constants
- Floating point type, float, double
- Char Indicates an escape character
- Boolean Boolean, if statement usage, Space usage of Boolean types
- Operator introduction
- Arithmetic operators (binary, increment, decrement)
- Assignment and assignment operators
- Description of relational operators
- Logical operators, short circuit operators in detail
- Bitwise operator details
- String concater
- Conditional operators (ternary operators)
- Operator priority problem
- Automatic type conversion in detail
- Detailed explanation of mandatory type installation
- Basic data type installs common errors, overflows, and L problems
- 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
- Control statements correspond to implementation logic
- If optional structure
- If_elseif_else multiple choice structure
- Switch statement _IDEA Changes the theme
- Loop _while
- Loop _for loop _dowhile
- Nested loop
- Break and continue statements _ label _ Control statement underlying principles
- Write an annual salary computer _ Baidu check the secret of the problem (important)
- Personal income tax calculator software
- The genius thinking model teaches you how to learn thinking patterns
- Method overloading
- 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
- The difference between procedural and object oriented
- An overview of classes and objects
- Class properties and methods
- Create object memory analysis
- Constructor method (Construtor) and overload
- Object type parameter passing
- This keyword
- Static keyword explanation
- Local code blocks, construction code blocks, and static code blocks
- Package and import details
- 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
- Three main features of object orientation
- Object Oriented Encapsulation
- Access modifier
- Object-oriented [Inheritance]
- Object class
- Override ()
- Super keyword explanation
- Override equals() and toString()
- Memory analysis of object creation in inheritance
- Object-oriented Polymorphism
- upcasting
- Downward transition
- The instanceof operator
- Compile time and runtime details
- Final modifier
- Abstract Classes and Methods (Abstrct)
- Definition and implementation of interfaces
- New interface features in JDK8
- Interface application: Internal class comparator Comparable
- Inner class details
- 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
- Overview of exceptions
- Exception execution process and analysis
- Try-catch-finally Catches exceptions
- Throw an exception
- Throws declaration exception
- Abnormal inheritance system
- Runtime and compile exceptions
- 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)
- Wrapper Wrapper classes
- Automatic packing and unpacking
- Wrapper class source code analysis
- The use of the String class and memory principles
- String class source code analysis
- StringBuffer
- StringBuilder
- String handling class performance analysis
- The Date class
- The System class
- The DateFormat class
- Calendat class
- Math class
- BigInteger and BigDecimal classes
- The Random class
- Enumeration class
- The File type
- 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
- Overview of data structures
- The linear table
- The order sheet
- The list
- The stack and queue
- The tree
- Binary tree
- Binary search tree
- Binary equilibrium tree
- Black mangrove
- figure
- Bubble sort
- Selection sort
- recursive
- 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)
- The connection and difference between collections and arrays
- Set frame system
- ArrayList usage and source code analysis
- Generics are used in collections
- Use of LinkedList and source code analysis
- HashSet usage and source code analysis
- Hash table and principle
- TreeSet use and source code analysis
- Comparators Comparable and Comparator
- Use of HashMap and source code analysis
- TreeMap usage and source code analysis
- The Iterator in ListIterator
- The Collections utility class
- The old collection classes Vector and Hashtable
- Collection summary and selection basis
- A generic interface
- A generic class
- 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
- The concept of IO streams
- IO stream classification and principle analysis
- File streams FlieInputStream and FileOutputStream
- BufferedInputStream, BufferedOutputStream
- ObjectInputStream, ObjectOutputStream
- Serialization and deserialization
- Convert streams InputStreamReader and OutputStreamWriter
- Print streams PrintWrite and PrintStream
- Array streams ByteArrayOutputStream, ByteArrayInputStream
- 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
- Processes and threads
- Thread creation and startup
- Comparison of three ways to create a thread
- The life cycle of a thread
- The thread of control
- Multithreading security problems and solutions
- Synchronization of threads: Synchronization of code blocks
- Synchronization of threads: synchronization method
- Synchronization of threads: Lock Lock
- Thread deadlock issues
- Thread communication
- Condition
- The full life cycle of a thread
- The thread pool ThreadPoolExecutor
- ForkJoin framework
- 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
- Basic knowledge of computer network
- Network communication protocol
- OSI reference model
- TCP/IP reference model
- Data encapsulation and unencapsulation principle analysis
- TCP protocol
- UDP protocol.
- IP address and port number
- The URL and the Socket
- Use TCP programming to achieve the login function
- Use UDP programming to achieve customer service system
- 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
- Introduction to Design Patterns
- Seven principles of Object-oriented Design
- Simple Factory model
- Factory method pattern
- The singleton pattern
- The prototype pattern
- Decorative pattern
- Adapter mode
- 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.