Java Knowledge points

Source: Internet
Author: User
Tags memcached serialization solr stream api volatile zookeeper jboss nginx load balancing

Reference to Smile (pure smile) of the public number content

Basic article JVMJVM Memory structure

. Heap, stack, method area, direct memory, heap, and stack differences

Java memory model

. Memory visibility, reordering, sequential consistency, volatile, lock, final

Garbage collection

. Decision of memory allocation policy, garbage collector (G1), GC algorithm, GC parameter, object survival

JVM parameters and Tuning Java object model

. Oop-klass, Object header

HotSpot

. Instant compilers, compilation optimizations

Class loading mechanism

. ClassLoader, class loading process, parental delegation (destruction of parental delegation), modularity (JBoss modules, OSGi, jigsaw)

Virtual machine performance monitoring and fault handling tools

. JPS, Jstack, Jmap, Jstat, Jconsole, Jinfo, Jhat, JAVAP, Btrace, Tprofiler

Compiling and deserializing

. Javac, JAVAP, Jad, CRF

Java Fundamentals Reading Source code

. String, Integer, Long, Enum, BigDecimal, ThreadLocal, ClassLoader & URLClassLoader, ArrayList & LinkedList, HashMap & Linkedhashmap & TreeMap & Councurrenthashmap, HashSet & Linkedhashset & TreeSet

Various variable types in Java familiar with the use of Java string, familiar with the various functions of string

. The principles and differences of substring in JDK 6 and JDK 7,
. Replacefirst, ReplaceAll, replace difference,
. The string is overloaded with "+",
. The difference between string.valueof and integer.tostring,
. Non-variability of strings

Automatic unboxing

. The caching mechanism of integer

Familiarize yourself with the various keywords in Java

. Transient, instanceof, volatile, synchronized, final, static, const principle and usage.

Collection Class

. Use of common collection classes
. The difference between ArrayList and LinkedList and vectors
. The difference between synchronizedlist and vectors
. HashMap, HashTable, Concurrenthashmap difference
. Stream related usage in Java 8
. Use of the Apache Collection processing tool class
. Differences in the implementation of HASHMAP in different versions of the JDK and why

Enumeration

. Enumeration usages, enumerations and Singleton, enum classes

Java Io&java NIO, and learn to use

. The difference between bio, NiO and AIO, the usage and principle of three Io, Netty

Java Reflection and Javassist

. Reflection and Factory mode, java.lang.reflect.*

Java serialization

. What is serialization versus deserialization, why serialization
. The underlying principle of serialization
. Serialization vs. Singleton mode
. Protobuf
. Why serialization is not safe

Annotations

. Meta-annotations, custom annotations, usage of common annotations in Java, annotations and reflection

Jms

. What is the Java Messaging Service, the JMS messaging model

Jmx

. Java.lang.management. , Javax.management.

Generic type

. Generics and inheritance
. Type Erase
. K-T V E in generics
. Meaning of object, generic various usages

Unit Test

. JUnit, Mock, Mockito, Memory Database (H2)

Regular expressions

. java.lang.util.regex.*

Common Java Tools Library

. Commons.lang, commons.* ... guava-libraries netty

What is a API&SPI exception

. Exception types, handling exceptions correctly, custom exceptions

Time processing

. TimeZone, seasonal, Java time API

Encoding method

. Solve garbled problem, common encoding method

Grammar sugar

. The principle of syntactic sugar and the solution of grammatical sugars in Java

Java concurrent Programming What is a thread, the difference from the process read the source code, and learn to use

. Thread, Runnable, callable, Reentrantlock, Reentrantreadwritelock, atomic*, Semaphore, Countdownlatch, Concurrenthashmap, executors

Thread pool

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

Thread Safety

. How deadlocks, deadlock troubleshooting, Java thread scheduling, thread safety, and memory model relationships

Lock

. CAS, optimistic lock and pessimistic lock, database-related lock mechanism, distributed lock, biased lock, lightweight lock, heavyweight lock, monitor, lock optimization, lock elimination, lock coarsening, spin lock, reentrant lock, blocking lock, deadlock

Deadlock volatile

. Happens-before, compiler instruction reflow, and CPU instruction heavy

Synchronized

. How is the synchronized implemented?
. Relationship between synchronized and lock
. How to implement a thread-safe single case without using synchronized

Sleep and Waitwait and notifynotify and Notifyallthreadlocal write a deadlock program to write code to solve the producer consumer Problem daemon Thread

. Differences between daemon and non-daemon threads and how to use them

Advanced article

Java Bottom-level knowledge
Byte code, class file format
CPU cache, L1,L2,L3 and pseudo share
Tail recursion
Bit arithmetic

Add, subtract, multiply, divide and withdraw with bit operation
Design Patterns
Learn about 23 Design Patterns
Use common design Patterns

Single case, strategy, factory, adapter, responsibility chain.
Implementing AOP
Implementing the IOC
Thread-Safe single-case mode without synchronized and lock
NIO and reactor Design patterns
Network programming
Common protocols such as TCP, UDP, HTTP, HTTPS, etc.

Three handshake and four shut down, flow control and congestion control, OSI seven layer model, TCP sticky pack and unpacking
http/1.0 http/1.1 HTTP/2 before the difference
Java rmi,socket,httpclient
Cookie and session

Cookie is disabled, how to implement session
An HTTP server that writes a simple static file in Java

实现客户端缓存功能,支持返回304 实现可并发下载一个文件 使用线程池处理客户端请求 使用nio处理客户端请求 支持简单的rewrite规则 上述功能在实现的时候需要满足“开闭原则”

Understand the features of Nginx and Apache servers and build a corresponding server
Implementing FTP and SMTP protocols with Java
Ways to communicate between processes
What is a CDN? If implemented?
What is DNS?
Reverse Proxy
Framework Knowledge
Servlet Thread Safety issues
Filter and listener in the servlet
Hibernate's caching mechanism
Lazy Loading of hiberate
Initialization of the Spring bean
The AOP principle of spring
Self-fulfilling the spring IOC
Spring MVC
Spring Boot2.0

Spring Boot's starter principle, the implementation of a starter
Spring Security
Application Server
Jboss
Tomcat
Jetty
Weblogic
Tools
Git & SVN
Maven & Gradle

Advanced article

Technology
Java 8

Lambda expression, Stream API,
Java 9

Jigsaw, Jshell, reactive Streams
Java 10

Local variable type inference, G1 parallel full GC, threadlocal handshake mechanism
Spring 5

Responsive programming
Spring Boot 2.0
Performance optimization

Use singleton, use future mode, use the thread pool, choose ready, reduce context switching, reduce lock granularity, data compression, result caching
On-Line problem analysis
Dump get

Thread dump, memory dump, GC condition
Dump analysis

Analyze deadlocks, analyze memory leaks
Write various outofmemory,stackoverflow programs yourself

Heapoutofmemory, Young OutOfMemory, Methodarea OutOfMemory, Constantpool OutOfMemory, Directmemory OutOfMemory, Stack OutOfMemory Stack OverFlow
Common Problem Solving ideas

Memory overflow, thread deadlock, class load conflict
Use the tool to try to resolve the following issues and write down the summary

How to find a problem when a Java program responds slowly

How to solve problems when a Java program frequently FULLGC

How to view garbage collection logs,

How to resolve a Java application when it occurs OutOfMemory,

How to determine if there is a deadlock,

How to tell if there is a memory leak
Compiling principle knowledge
Compiling and deserializing
Compilation and decompile of Java code
Java's anti-compilation tool
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 for Linux
Process synchronization
Buffer overflow
Segmentation and Paging
Virtual memory and main storage
Database knowledge
MYSQL Execution Engine
MySQL Execution Plan

How to view execution plans and how to perform SQL optimizations based on an execution plan
SQL optimization
Transaction

The isolation level of the transaction, whether the transaction can implement the lock function
Database lock

Row locks, table locks, using database locks for optimistic locking,
Database main backup and build
Binlog
In-memory database

H2
Popular NoSQL databases

Redis, memcached
Using database lock, NoSQL to implement distributed lock
Performance tuning
Data structure and algorithmic knowledge
A simple data structure

Stacks, queues, linked lists, arrays, hash tables,
Tree

Binary tree, dictionary tree, balance tree, sorting tree, B-tree, + + tree, R-Tree, multi-tree, red-black tree
Sorting algorithms

Various sorting algorithms and time-complexity depth-first and breadth-first search permutation, greedy algorithm, KMP algorithm, hash algorithm, mass data processing
Big Data knowledge
Zookeeper

Basic concepts, Common uses
Solr,lucene,elasticsearch

Deploy Solr,solrcloud on Linux, add, delete, query index
Storm, flow calculation, understanding SPARK,S4

Deploy storm on linux, coordinate with zookeeper, run storm Hello world,local and run debug storm topology in remote mode.
Hadoop, Offline computing

HDFS, MapReduce
Distributed Log Collection Flume,kafka,logstash
Data Mining, Mahout
Cyber security knowledge
What is XSS

The defense of XSS
What is CSRF
What is an injection attack

SQL injection, XML injection, CRLF injection
What is file Upload vulnerability
Encryption and decryption

MD5,SHA1, DES, AES, RSA, DSA
What are Dos attacks and DDoS attacks

Why memcached can lead to DDoS attacks, what is reflective DDoS
SSL, Tls,https
How to use hash collision for DOS attack
Signing a certificate with OpenSSL deployed to Apache or Nginx

Architecture Chapter

Distributed

Data consistency, service governance, service degradation
Distributed transactions

2PC, 3PC, CAP, BASE, reliable message final consistency, maximum effort notification, TCC
Dubbo

Service registration, service discovery, service governance
Distributed database

How to build a distributed database, when you need a distributed database, Mycat, otter, HBase
Distributed File System

MFS, Fastdfs
Distributed cache

Cache consistency, cache hit rate, cache redundancy
Micro-Service

SOA, Conway's Law
ServiceMesh
Docker & Kubernets
Spring Boot
Spring Cloud
High concurrency
Sub-database sub-table
CDN Technology
Message Queuing

ActiveMQ
Monitoring
Monitor what?

CPU, memory, disk I/O, network I/O, etc.
Monitoring means

Process monitoring, semantic monitoring, machine resource monitoring, data fluctuations
Monitoring data acquisition

logs, buried points
Dapper
Load Balancing

Tomcat load balancing, Nginx load Balancing
Dns

DNS principle and design of DNS
Cdn

Data consistency

Extended Chapter

Cloud computing

IaaS, SaaS, PaaS, virtualization technology, OpenStack, serverlsess
Search engine

SOLR, Lucene, Nutch, Elasticsearch
Rights Management

Shiro
Block chain

hashing algorithm, Merkle tree, public key cipher 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, bifurcation
Aether Square
Super Ledger
Artificial intelligence

Math Basics, machine learning, artificial neural networks, deep learning, and application scenarios.
Common Frames

TensorFlow, deeplearning4j
Other languages

Groovy, Python, Go, NodeJs, Swift, Rust

Java Knowledge points

Related Article

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.