1 Java Foundation 1.1 collection and map
- Master the inheritance system of collection and map. Java Collection and map
- Master ArrayList, LinkedList, vectors, stacks, priorityqueue, HashSet, Linkedhashset, TreeSet, HashMap, Linkedhashmap, TreeMap, Weakhashmap, Enummap, TreeMap, Hashtable the characteristics and the realization principle.
- Master the Copyonwritearraylist, Copyonwritearrayset, concurrenthashmap the realization principle and the application scene.
- Java concurrency container
1.2 IO
- Master the succession system of InputStream, OutputStream, Reader and writer. Java io, io mode, java compression, Java XML and JSON, Java serialization
- Mastering the Byte stream (FileInputStream, DataInputStream, Bufferedinputstream, Fileoutputsteam, DataOutputStream, Bufferedoutputstream) and character streams (BufferedReader, InputStreamReader, FileReader, BufferedWriter, OutputStreamWriter, PrintWriter, FileWriter), and skilled use.
- Master the principle of NIO implementation and how to use it. Java NIO
1.3 Exceptions
- Master the Throwable succession system. In-depth understanding of Java exception handling mechanisms
- Master the principle of abnormal operation.
- Learn about common exceptions (such as FileNotFoundException), non-inspected exceptions (such as NullPointerException), and errors (such as IOError).
1.4 Multi-Threading
Master executors can create three kinds (JAVA8 added one, a total of four kinds) thread pool characteristics and scope of application. Java Multi-Threading 5: Thread pool
The thread pool in Java
Master multi-threaded synchronization mechanism, and skilled use.
Java Multithreading 1: Thread life cycle and Multithreading basics
Java multithreaded 2:lock, semaphore, atomic weight, and queue
Java multithreaded 3:volatile
Java Multithreading 4: Synchronization lock vs Java thread synchronization method comparison
Java multithreaded 6:java blocking queue and producer consumer model
- and contract
1.5 Socket
- Master socket Communication principle. Java Socket
- Proficient in programming with multi-threaded sockets.
2 Java Virtual Machine 2.1 JVM memory Zoning
Deep understanding of the JVM (Java Virtual machine)
- Master the role and rationale of program counters, heaps, virtual machine stacks, local method stacks, method areas (JAVA8 removed), meta-space (JAVA8 new).
- Master the division of the heap: The New Generation (Eden, Survivor1, Survivor2) and the old age of the role and working principle.
- Master JVM memory parameter settings and tuning.
Class 2.2 Loading
- Mastering the load phase of classes: loading, linking (validating, preparing, parsing), initializing, using, and uninstalling.
- Mastering class loader Classification and its application: Start the ClassLoader, extension class loader, application ClassLoader, custom loader.
3 Java
- Master JSP built-in objects, actions and related characteristics and working principle. Jsp
- Master the features and working principles of the servlet. Servlet
- Master the IOC and AOP implementation principles of the Spring Framework (reflection and dynamic proxies). Spring
- At least master the working principles of an MVC framework (Spring mvc,struts, etc.) and use it skillfully. Struts2
- Grasp at least one ORM framework (Hibernate,mybatis, etc.) working principle, and skilled use. Hibernate basic concept Hibernate relational XML implementation hibernate annotations
4 Data structures and algorithms
- Master the characteristics of linear tables and trees and use them skillfully.
- Master common Sorting and finding algorithms: Insert sort (direct insert sort, hill Sort), select sort (Direct select sort, heap sort), swap sort (bubble sort, quick sort), merge sort, order lookup, binary lookup, hash lookup.
- Skilled in the use of common sorting and finding algorithms to solve programming problems.
- Understand several basic algorithms: greedy algorithm, divide and conquer strategy, dynamic programming.
5 Computer network
- Master the hierarchical structure of the network, and the functional characteristics of each layer. Basic knowledge of computer network
- Master the principle of communication in TCP/IP (three handshake, four waves)
- HTTPS, encryption, verification and certification
6 Database
- Mastering complex SQL statement writing. MySQL Database Design
- master database Optimization (SQL level and table design level). Best 20 + experiences for MySQL performance optimization
- Master at least one database product.
- Familiar with high concurrency, big data in the case of database development.
7 Web Technology
- Learn how Ajax works.
- Be familiar with at least one JS framework (such as jquery). Jquery
8 Design Patterns
- Familiar with common design patterns.
- The design pattern theory is applied to the actual development.
9 Linux
- Skilled in using common Linux commands.
- Familiar with the basic concepts and features of Linux operating system.
- familiar with Shell scripts.
10 Operating system
- Master the process management of the operating system.
- Understand the I/O for the operating system.
11 Regular Expressions
- Mastering common regular expression symbols.
- Skilled use of regular expressions to solve practical problems (such as matching phone numbers, mailboxes, domain names, etc.). Common regular expressions and the use of Java
12 Safe
- Xss
- CROS
13 Distributed Systems
- Distributed Transactions and distributed locks
- Micro-Service
- Message Middleware Kafka
- Distributed cache and its clustered Redis, Memcached
- ZooKeeper
- RPC:WebService:SOAP, Uudi, WSDL, etc.
- The use of the SOA framework for Service governance (Dubbo, etc.)
- Use of other middleware (ZooKeeper)
- System Design: Usability
14 other
- BDSM Cuisine
- Basic knowledge of software engineering
- Memcached
- Corbar
- WebSocket
Java Advanced Software engineer Knowledge structure