First, JAVA architect

1. Syntax: Java programmers must be familiar with syntax and IDE editor pairs when writing code

A line error should be able to tell from the error message what the syntax error is and know any fixes


2, commands: must be familiar with the JDK with some common commands and common options, command at least need to be familiar

Note: AppletViewer, HtmlConverter, JAR, Java, Javac, Javadoc, Javap,

Javaw, Native2ASCII, serialver, if you haven’t used all of these commands, then you are right

Java is actually quite unknown.

3. Tools: Must be familiar with at least one IDE development tool, such as Eclipse, Netbeans,

JBuilder, Jdeveloper, IDEA, JCreator or Workshop, including project management,

Setting common options, installing and configuring plug-ins, and debugging.

4. API: Java’s core API is huge, but there are some things I think are Java

The programmer must be familiar with, or it is impossible to use Java proficiently, including:

◆ Flexible use of functions of more than 80% classes in the Java.lang package.

◆ Flexible use of more than 80% classes under java.util package, especially set class system and rule table

Da, ZIP, and time, random number, attribute, resource, and Timer.

◆ Use more than 60% of classes in java. IO package, understand IO architecture design based on pipeline model

Ideas and common I/O features and application scenarios.

◆ 100% content under the Java.math package.

◆ JavA.NET package under more than 60% of the content, familiar with the functions of each class.

More than 60% of the content in the java.text package, especially the various formatting classes.

◆ Proficient in jDBC.8), Java. Security package under 40% of the content, if for security

It is impossible to master Java without exposure.

The basic content of AWT, including various component events, listeners, layout manager, common components,


◆Swing basic content, and AWT requirements are similar.

◆XML processing, familiar with the advantages and disadvantages of SAX, DOM and JDOM and able to use one of them

Into XML parsing and content processing.

5. Testing: You must be familiar with writing test cases using junit to complete automated testing of code.

6. Administration: Java programmers must be familiar with using Ant for common project management tasks, such as work

Process compilation, javadoc generation, JAR generation, version control, automatic testing.

7. Troubleshooting: It should be possible to quickly locate the cause and general position of the problem according to the abnormal information.

Ideas: The main requirements of OOP must be understood in order for a system developed in Java to be true

Java system.

9. Specification: The code must conform to popular coding conventions, such as class names with uppercase letters

Members and method names begin with lowercase letters, the first word of a method name is usually a verb, package names are all lowercase, and so on

The sample program is more readable.

10, knowledgeable: Java programmers in addition to proficient in Java, but also to master J2EE, Oracle,

WebLogic, Jboss, Spring, Struts, Hibernate and other popular technologies, master software architecture

Design ideas, search engine optimization, cache system design, website load balancing, system performance tuning and other practical


Second, enumerate the structure knowledge point

I’ve divided it into five major topics

Engineering topics

Git Git installation and use

Git for daily use: fetch/pull/push/revert/rebase git git branch management flow

Jenkins multiple sets of environment (Test/Pre/Production) system automation release

Jenkins automatically publishes to remote hosts

MavenMaven private server build setting.xml file parsing. XML details Maven utility plugin teaching (static code inspection, generation of executable JAR package) profile use

Source code analysis

Spring source code analysis

Spring IOC implementation principle Spring BeanFactory source analysis of Spring AOP implementation principle and configuration file detail analysis of Spring AOP various application scenarios Spring MVC and Struts comparison Spring Spring JDBC operating principle is based on Spring JDBC handwritten ORM framework

MyBatis source code analysis

MyBatis3 SessionFactory MyBatis3 SessionFactory MyBatis3 SessionFactory Transaction management and integration discussion hibernatemyatis3 and Hibernate framework comparison Netty source code analysis

NIO communication principle analysis in-depth understanding of NIO Buffer

NIO Selector principle AIO programming Netty generated background and basic introduction

High performance of Netty HTTP and Socket communication Principle Use Netty to build high performance

WebSocket chat room

Netty chat room client architecture to achieve Netty encoding and decoding

Netty unpack sticky package operation MsgPack principle and various serialization framework comparison MsgPack and Netty integration

Netty HTTP communication and Spring integration Netty RPC architecture Netty and various architecture integration and Netty source code analysis

Performance tuning

Tuning the system for GC logs is not a chance! Mysql Database optimization

Database underlying data structure index data storage structure InnoDB details SQL tuning and principle sub-library, sub-table implementation of Nginx tuning static resource separation

Nginx + Lua applications: IP filtering, DDOSTomcat tuning

Tomcat source code and architecture analysis Tomcat tuning parameter Settings Tomcat pressure baseline Tomcat NIO configuration

Double eleven Technical Architecture Thematic – Jiuyang Classic

Joyang zhenjing technology thematic second kill system actual combat

Build a second kill system from 0 to 1 from all-in-one to distributed from 1 to 100 optimization and reconstruction of distributed pressure measurement system

The simplest single pressure measurement pressure measurement should be concerned about the point how to do distributed pressure measurement distributed tracking system

How to tease out link dependencies how to gracefully degrade distributed configuration systems

Flexible configuration hot publishing is all about automating distributed messaging systems

Asynchronization & system isolation for instantaneous high traffic distributed cache architecture

Hot data processing of five-level cache system 1. Those with 1-5 work experience, who do not know where to start in the face of the current popular technology and need to break the technical bottleneck can add group.

2. I have been in the company for a long time and have been comfortable, but I hit a wall in the interview when I changed my job. Need to study in a short period of time, job-hopping can be added to the group.

3. If you have no working experience, but have a solid foundation, and are familiar with Java working mechanism, common design ideas and common Java development framework, you can add groups.

4, feel very good B, general needs can be done. But the knowledge points learned are not systematic, it is difficult to continue to break through in the field of technology can be added.

5, Group number: Advanced Architecture Group 283943715 Note good information!

6. Ali Java senior architect free live broadcast to explain knowledge points, sharing knowledge, sorting out and summarizing years of work experience, leading everyone to establish their own technical system and technical knowledge comprehensively and scientifically!

High performance and distributed topics

Redis core configuration analysis of Redis persistence Overview RDB principle, AOP principle analysis Redis transaction operation analysis and publish and subscribe mode operation using Redis cluster construction, Redis JAVA client using Redis integration Spring using MemcachedMemcached Introduction and installation, basic configuration, common operation and maintenance commands

Memcached Common operation commands Analyze the data storage method of Memcached and the process of allocating memory by using Slab Allocator and creating an Item. Analysis of Memcached data expiration methods Memcached memory tuning suggestions and solutions to common problems Memcached typical application scenarios and inapplicable scenarios Memcached uses distributed interface technology based on Java clients

DubboDubbo console and monitoring platform to build the use of rapid construction of Dubbo service framework Dubbo common configuration of the use and analysis of Dubbo registry principle, integration of Zookeeper service dynamic discovery Dubbo multi-registry, multi-protocol support Dubbo service Grouping and service version control Dubbo concurrency control, connection control Dubbo load balancing, cluster fault tolerance use and analysis Dubbo configuration file priority Comparison of Dubbo and DubboX and introduction to using DubboX

How can I install and configure the data type, basic type, structure type, and container type of ThriftThrift

Restful What is the origin of RestfulRestful how to implement a Restful design practice that meets Restful architecture

Distributed service coordination technology

Zookeeper What is a Zookeeper, the installation of a Zookeeper configuration, characteristics and common commands used to Zookeeper node attribute analysis how to build the Zookeeper cluster environment Zookeeper client use: zkclient/curatorZookeeper principle points Zookeeper shared lock

Master election Consoul Eureka microservices architecture Spring Boot Overview, how to quickly build a Spring Boot project Spring common notes review Spring Boot core configuration file analysis Spring Analyze the implementation principle of custom Starter and Custom ActuatorSpring Boot. Analyze the configuration of Spring Boot data storage, cache, and log framework

DockerDocker principle analysis introduction and installation and configuration network model common commands explain their own Docker image warehouse management actual case use to build micro-service architecture Docker cluster and orchestration tool distributed message technology

ActiveMQActiveMQ Function introduction, installation and configuration using ActiveMQ to achieve a simple message sending and receiving test JMS basic concepts, PTP, Pub/Sub domain analysis JMS message structure analysis, understand JMS reliability mechanism demonstration Topic persistent receive and non-persistent receive understand Broker, Java embedded Broker to start ActiveMQ combined with the use of Spring to understand ActiveMQ transmission protocol ActiveMQ message persistence mode (JDBC /KahaDB/Memory) and characteristics ActiveMQ cluster (static network connection, dynamic network connection) ActiveMQ Advanced characteristic analysis

Kafka data transmission transaction characteristics Kafka message storage format Kafka cluster deployment configuration Kafka message grouping, message consumption principle

Distributed transaction Basic introduction to distributed transaction Common distributed technical Description Understanding 2PC and 3PC protocols Distributed transaction Practice Exercise Distributed environment Session sharing When is session sharing required? Common solution of session sharing

High performance Topic High performance Web container Nginx Introduction, Installation, and Basic configuration Analysis of the Nginx process model In-depth understanding of the nginx core configuration file Nginx HTTP module function configuration and the use of nginx location location function priority nginx Keepalived+ Nginx to implement Nginx high availability database performance

Mycat configuration Mycat configuration in-depth analysis and practice Mycat combined with mysql to achieve read and write separation

MongoDBMongoDB: What is MongoDBMongoDB? MongoDB installation, configuration, and common commands MongoDB add, delete, modify, and query basic operations MongoDB Query Operation Command Usage In-depth Understanding of MongoDB document storage mechanism MongoDB Index Usage Analyze MongoDB replica set configuration and basic principles Analyze MongoDB sharding function, sharding and replication, and slice key Choose MongoDB data backup and data restoration to integrate MongoDB with Spring