Time does not want to stay, time does not like to wait. Unconsciously, the Spring Festival is approaching, the pace of home is getting closer and closer. My hometown has inadvertently become an inn, an inn on my way to study and work. I go home almost once a year, or more. Every time with family reunion, short and short!

Stop stop stop stop stop stop stop stop stop stop !!!!!!!!!!!!!!! “2B elder brother can don’t say, I want to shed tears, can’t come to point dry goods!! The kind of dry stuff that gets you a raise and women pregnant.”

Don’t worry old iron. When did 2B let you down? Here are some of the things I’ve spent a few days sorting out. See if you can, and if you can’t, that’s ok. I’ve prepared the answer (follow java2b oN micro blog).

First, the foundation

JVM JVM memory structure Heap, stack, method area, direct memory, heap and stack differences

Java memory model Memory visibility, reordering, order consistency, volatile, locking, and final

Garbage collection memory allocation strategy, garbage collector (G1), GC algorithm, GC parameters, object survival determination

JVM parameters and tuning Java object model Oop-klass, object headers

HotSpot real-time compiler, compiler optimization

Classloaders, classloading procedures, parental delegation (breaking parental delegation), modularity (Jboss Modules, OSGi, Jigsaw)

Vm performance monitoring and troubleshooting tools JPS, jStack, JMap, jstat, jConsole, jinfo, jhat, Javap, bTrace, and TProfiler

Compile and decompile JAVAC, JAVAP, JAD, CRF

String, Integer, Long, Enum, BigDecimal, ThreadLocal, ClassLoader & URLClassLoader, ArrayList & LinkedList, HashMap & LinkedHashMap & TreeMap & CouncurrentHashMap, HashSet & LinkedHashSet & TreeSet

Familiar with the use of Java String, familiar with the various functions of String JDK 6 and JDK 7 substring principle and difference,

ReplaceFirst, replaceAll, replace

String overloading “+”,

ValueOf and Integer.toString.

Immutability of strings

Caching mechanism for automatically unboxing Integer

Familiar with the principles and usage of Java keywords TRANSIENT, instanceof, volatile, synchronized, final, static, and const.

Collection class The common use of collection classes

ArrayList vs. LinkedList vs. Vector

Difference between SynchronizedList and Vector

HashMap, HashTable, and ConcurrentHashMap

Stream usage in Java 8

Apache collections handle the use of utility classes

Different implementations of HashMap in different JDK versions and why

Enumeration uses enumerations, enumerations and singletons, Enum classes

Java IO&Java NIO, and learn to use bio, NIO and AIO differences, three IO usage and principle, NetTY

Java Reflection vs. Javassist Reflection vs. Factory mode, java.lang.Reflect.*

Java serialization What is serialization and deserialization, and why

Serialization underlying principles

Serialization and singleton patterns

protobuf

Why is serialization not safe

Meta annotations, custom annotations, common annotations in Java, annotations and reflection

JMS What is the Java messaging service, JMS messaging model

JMX Java. Lang. Management., javax.mail. Management.

Generics Generics and inheritance

Type erasure

K, T, V, E

The meaning of object, and various uses of generics

Unit Testing junit, Mock, Mockito, In-memory Database (H2)

The regular expression java.lang.util.regex.*

Commons. Lang, Commons.*… guava-libraries netty

What are API&SPI exception exception types, properly handled exceptions, custom exceptions

Time processing time zone, time, time API in Java

Encoding mode To solve the problem of garbled characters, common encoding mode

Syntax sugar in Java syntax sugar principle, solution sugar

Java concurrent programming what is a thread, and the difference between a process read the source code, And learn how to use it Thread, Runnable, Callable, ReentrantLock, ReentrantReadWriteLock, Atomic*, Semaphore, CountDownLatch, ConcurrentHashMap, Execut ors

Design your own thread pool, submit(), and execute()

Thread safety deadlocks, how to troubleshoot deadlocks, Java thread scheduling, thread safety and memory models

Locks CAS, Optimistic and pessimistic locks, database-related locking mechanism, distributed locks, biased locks, Lightweight locks, heavyweight locks, Monitor, lock optimization, lock elimination, lock coarsing, spin locks, reentrant locks, blocking locks, deadlocks

Deadlocks volatile happens-before, compiler instruction reordering, and CPU instruction reordering

How does synchronized work?

Relationship between synchronized and lock

How do you implement a thread-safe singleton without using synchronized

Sleep and notify Notify and notifyAll ThreadLocal Write a deadlock program write code to solve the producer-consumer problem daemon thread The difference between daemon and non-daemon threads and how to use them

Two, advanced

Java basic knowledge bytecode, class file format CPU cache, L1, L2, L3 and pseudo-shared tail recursive bit operations using bit operations to add, subtract, multiply, divide, and mod

Design Patterns Learn about 23 design patterns that use common design patterns singletons, policies, factories, adapters, and chains of responsibility.

Implement AOP to implement IOC without synchronized and lock, Nio and REACTOR design model network programming TCP, UDP, HTTP, HTTPS and other common protocols three times handshake and four times off, flow control and congestion control, OSI seven layer model, TCP sticky packet and unpack

Java RMI, Socket, HttpClient cookie and Session Cookie are disabled. How to implement session

HTTP server that writes a simple static file in Java (HTTP server) (HTTP server) (HTTP server) (HTTP server) (HTTP server) (HTTP server) (HTTP server) (HTTP server) (HTTP server) (HTTP server)

Understand the characteristics of nginx and Apache server and build a corresponding server with Java FTP, SMTP protocol inter-process communication method what is CDN? If implemented? What is DNS? The reverse proxy framework knowledge Servlet thread safety issues filter and Listener in servlets Hibernate’s caching mechanism Hiberate lazily loaded Spring Bean initialization Spring AOP principle implements Spring’s IOC itself Spring MVC Spring Boot2.0 Spring Boot starter principle, implement a starter

Spring Security application server JBoss Tomcat Jetty Weblogic git & SVN Maven & Gradle

Three, advanced chapter

Java 8 Lambda expressions, Stream API,

Java 9 Jigsaw, Jshell, Reactive Streams

Java 10 local variable type inference, G1’s parallel Full GC, ThreadLocal handshake

Spring 5 Responsive programming

Spring Boot 2.0 performance optimization using singletons, using Future patterns, using thread pools, select-ready, reduced context switching, reduced lock granularity, data compression, result caching

Online fault Analysis Dump Obtain information about thread dump, memory dump, and GC

Dump analysis analyzes deadlocks and memory leaks

Write your own outofMemory, Stackoverflow programs HeapOutOfMemory, Young OutOfMemory, MethodArea OutOfMemory, ConstantPool OutOfMemory, DirectMemory OutOfMemory, Stack OutOfMemory Stack OverFlow

Common Problems Memory overflow, thread deadlocks, and class loading conflicts

Use tools to try to solve the following problems and write a summary of how to find problems when a Java program is slow to respond,

How to resolve the problem when a Java program FullGC frequently,

How to view garbage collection logs,

How to resolve OutOfMemory in a Java application

How to tell if there is a deadlock,

How do I know if there is a memory leak

Compilation principle Knowledge compilation and decompression Java code compilation and decompression Java decompression tools lexical analysis, syntax analysis (LL algorithm, recursive descent algorithm, LR algorithm), semantic analysis, runtime environment, intermediate code, code generation, Code optimization Operating system knowledge Common Commands in Linux Process synchronization Buffer overflow Segmented and paging Virtual memory and main memory Database knowledge MySql execution engine MySql execution plan How to view the execution plan and optimize SQL according to the execution plan

SQL optimizes the isolation level of transactions and whether transactions can be locked

Database locks row locks, table locks, optimistic locks using database locks,

The binlog memory database H2 is set up in the primary and secondary databases

Common NOSQL databases redis and memcached

Simple data structure stack, queue, linked list, array, hash table,

Tree binary tree, dictionary tree, balanced tree, sorting tree, B tree, B+ tree, R tree, multipath tree, red black tree

Sorting algorithm various sorting algorithms and time complexity depth first and breadth first search full permutation, greedy algorithm, KMP algorithm, hash algorithm, mass data processing

Big data knowledge Basic concepts and common usage of Zookeeper

Solr, Lucene, ElasticSearch deploy Solr, SolrCloud on Linux, add, delete, query index

Storm, streaming computing, learn Spark, S4 deploy Storm on Linux, coordinate with ZooKeeper, run Storm Hello World, local and remote to debug Storm Topology.

Hadoop: Calculates HDFS and MapReduce offline

Distributed log collection Flume kafka LogStash Data mining Mahout Network Security Knowledge What is XSS XSS defense

What is CSRF what is injection attack SQL injection, XML injection, CRLF injection

Encryption and decryption MD5, SHA1, DES, AES, RSA, DSA

What are DOS attacks and DDOS attacks? Why can memcached cause DDOS attacks? What are reflex DDOS attacks

SSL, TLS, HTTPS How to do DOS attacks with Hash collisions Sign a certificate with OpenSSL to deploy to Apache or Nginx

4. Structure

Distributed data consistency, service governance, and service degradation

Distributed transactions 2PC, 3PC, CAP, BASE, reliable message final consistency, best effort notification, TCC

Dubbo service registration, service discovery, service governance

Distributed database How to build a distributed database, when do you need a distributed database, MyCAT, OTter, HBase

Distributed file system MFS and FastDFS

Distributed cache Cache consistency, cache hit ratio, and cache redundancy

Microservices SOA, Conway’s Law

ServiceMesh Docker & Kubernets Spring Boot Spring Cloud High Concurrency sub-library sub-table CDN technology Message queue ActiveMQ

What CPU, memory, disk I/O, network I/O, and so on are monitored

Monitoring means Process monitoring, semantic monitoring, machine resource monitoring, data fluctuation

Monitor data collection logs and buried points

Dapper Load Balancing Tomcat load balancing and Nginx load balancing

DNS Principles of DNS and DNS design

CDN data consistency

Five, the extension

Cloud computing IaaS, SaaS, PaaS, Virtualization technology, openstack, Serverlsess

Search engines Solr, Lucene, Nutch, Elasticsearch

Rights Management Shiro

Block chain hash algorithm, Merkle tree, public key cryptography algorithm, consensus algorithm, Raft protocol, Paxos algorithm and Raft algorithm, Byzantine problem and algorithm, message authentication code and digital signature

Bitcoin mining, consensus mechanism, lightning network, side chain, hot issues, forks

Ethereum Superledger Mathematical basis of ARTIFICIAL intelligence, machine learning, artificial neural network, deep learning, application scenarios.

Commonly used frameworks are TensorFlow and DeepLearning4J

Other languages Groovy, Python, Go, NodeJs, Swift, Rust

6. Recommended Book in-depth Understanding of The Java Virtual Machine

“Effective Java”

An Inside Look at Java Web Technology

Technical Architecture for Large Web Sites

The Code Clean Way

Head First Design Patterns

Maven in Action

Blockchain Principle, Design and Application

Java Concurrent Programming

Birdman’s Linux Home Dish

From Paxos to Zookeeper

Architecture is the Future

welfare

2B brother in the high-speed train open turtle speed network organized the article, if you think it can, please give a thumbs up, New Year job change salary must double.