Let java no longer difficult to learn, the only way an architect, a monthly income of 100,000 is no longer a dream

The main Java architect what needs to be done?

1, responsible for the design and construction of software system architecture (platform, database, interface, and application architecture, etc.), various system architectures to solve problems in development.

2, optimize the performance of existing systems, to solve key technical problems in software research platform, the core function module design, the core code development.

3, correction of the overall architectural design, and detailed design modules split in project requirements continue to refine the project.

4, to create a learning environment technology, leading the team to develop and constantly improve the development of methods and processes, improve development efficiency and quality, strengthen the technical standards and specifications.

5, for example, led the team to overcome the challenges brought about by technical difficulties and large data volume, high concurrency, high stability.

6, strong sense of responsibility, team spirit, serious and responsible work efficiently and have some compression capabilities.

7, to discuss the company to participate in product development direction, a complete grasp of product development planning and architecture.

1, concurrent programming

JAVA memory model (JMM)

Thread communication and messaging · java among

· What is the reordering and order consistency? Happens-Before? As-If-Serial?

Synchronized conceptual and analytical

· Synchronization, Synchronized heavyweight lock and Principle Analysis

· Spin locks, lock bias, lightweight lock, concept heavyweight locks, as well as how to optimize their use

Volatile and knowledge of DCL

· Volatile Volatile usage scenarios and implementation mechanism, semantic memory, memory model

· DCL singleton pattern, what is DCL? How to solve the problem of DCL

AQS-depth analysis of concurrent basis

The concept · AbstractAueuedSynchronizer synchronizer, CLH synchronization queue What is?

· Acquire and release synchronization status, and wake-up blocking thread

Lock and concurrent common tools

· java当中的Lock、ReentrantLock、ReentrantReadWriteLock、Condition

· Java concurrency among the tools CyclicBarrier, CountDownLatch, Semphore

· Java concurrent collections among ConcurrentHashMap, ConcurrentLinkedQueue ......

Common knowledge to explain atomic operation

· Basic types of atomic operations such as the classic AtomicBoolean, AtomicLnteger, AtomicLong

Arrays type atomic operation on behalf of several classes AtomicIntegerArray, AtomicLongArray, AtomicReferenceArray

Typical AtomicReference · reference types of atomic operations, AtomicReferenceFieldUpdater ......

· CAS concepts and knowledge, Compare And Swap as well as his limitations

Parallel and concurrent thread pool

· Executor、ThreadPoolExecutor、Callable &Future、ScheduledExecutorService

· ThreadLocal, Fork & Join? What is the parallel? How to ensure that the core thread pool threads are not destroyed?

2, the source application framework, and

mybatis analytic applications and source code

· Mybatis advantages and disadvantages, spring and integrated mybatis

· Config, Sql configuration, Mapper configuration, there are several ways to register mapper, and how priorities?

· Mybaits level cache, the secondary cache, mybatis secondary cache Why is tasteless?

· Achieve universal mapper, and write sql statement mybaits three ways

· @MapperScan source code analysis? How mapperScan in force?

· Mybatis how to extend the scanner spring, after mybatis been scanned FactoryBean of how to use?

· Mybaits underlying how a proxy object into the spring container? Which uses knowledge of spring?

· Mybaits relationship between the spring and the core interface ImportBeanDefinitionRegistrar inextricably

Why will expire from the cache to illustrate mybaits the original? Why did he fail to spring? There is no solution?

· From mybatis to analyze the execution flow of mybatis, mybaits of sql when the cache? Cache Where?

· Mybaits which is why the method name and id mapper which is consistent? From source to illustrate

tomcat source code parsing

Start the process source code analysis and a general overview of the tomcat · tomat

· Tomcat among web request source code analysis? How a http request to the tomcat? How tomcat process?

· Tomcat protocol analysis, from source to analyze the significance among the various tomcat detailed configuration

With the use · tomcat and apache, nginx, etc. mainstream static server

· Tomcat performance tuning? Environmental performance is generated on how to make your tomcat container highest

spring source analysis

The basic application · spring and spring source compiler

· Java confusion logging system, Jul, jcl, log4j, slf4j .....

· Spring4 and spring source contrast in terms of the log

· AspectJ and springAop, aspectj static weaving

· JDK dynamic proxy source code analysis, how JDK is operating bytecode

· Spring by cglib complete AOP, cglib if completed intercept method

How · AnnotationAwareAspectJAutoProxyCreator completed proxy woven into the

· BeanDefinition What is the role of sping among the various BeanDefinition

· BeanDefinition What is the role? If you change the behavior of a bean

· BeanDefinitionRegistry the role of source code analysis

How · BeanNameGenerator change beanName generation strategy

· BeanPostProcessor how to intervene in the process of instantiating the bean, the classic scenario What? Where internal spring uses this interface

· BeanFactoryPostProcessor difference and BeanPostProcessor, the classic scenario, spring inside him how to use up

· Relations BeanDefinitionRegistryPostProcessor and BeanFactoryPostProcessor have differences, how to call them spring bottom

· ConfigurationClassPostProcessor how this class of bean scanning is completed, how to complete the scan @Bean, and how to complete the parsing of @Import

· @Imoprt three types of ordinary, configuration, and, ImportSelector

· How to use ImportSelector to complete the extension of the spring?

· @Configuration Why can not add this comment? And without the addition of the difference between the underlying Why use cglib

· @Bean approach is how to ensure that a single case? If you do not need a single case of such a configuration? Why do we need such a configuration

· SpringFacoryBean and BeanFacory difference between what the classic scenario? factoryMethod the spring classic scenario?

· ImportBeanDefinitionRegistrar role of this interface, the other major framework how to use this class to complete the spring and binding?

· Spring is when to perform the post-processor? What are the important post-processor, such as CommonAnnotationBeanPostProcessor

· CommonAnnotationBeanPostProcessor how to complete the initialization method callback spring. What is the role of the various internal spring Procesor respectively

· What spring principle and springBoot among the various @Enablexxxx is? How to implement own? Such as dynamic open a certain Custom Function

· Spring on how to complete the cycle of dependence and bean instantiated, what is the spring of IOC container, how to understand by source?

• Other, such as Bean instantiation process, the source of two different gegetSingleton and SpringMvc as compared to the source code analysis, and so on ......

3, Spring microService

Spring Cloud

· Eureka source code analysis service registration and service discovery, and heartbeat mechanism and protection mechanisms, and contrast eureka zookeeper, what is the principle of CAP?

· Ribbon source code analysis and customer service side load balancing, client load balancing? Server load balancing? Ribbon core components IRule and rewrite IRule

· Fegin source code analysis and declarative service call, Fegin load balancing, and how to combine the use of Fegin Hystrix? What's the problem?

· Hystrix implement the service limit, downgrade, how large distributed projects avalanche service to solve? Service fuse in the end is what? The company's first-line solution

· HystrixDoashboard how to implement a custom interface to downgrade, monitoring data, data aggregation, etc.

· Zuul Detailed unified gateway, routing services, such as the use of filters, from the source to block out some of the bad request

· Distributed Configuration Center Config Hi, how to combine with other git github or custom platforms, such as gitlab

· Detailed distributed link tracking, call chain series ,, let Bug no place to hide, how to clarify the dependencies between micro-services? How to track traffic flow processing order?

Spring Boot

Source code analysis and basic applications · Spring Boot, the use of springmvc knowledge of analog and handwriting a springboot

How · springmvc zero configuration to achieve? What's the use of new knowledge servelt3.0? Springmvc how embedded in a tomcat, how to get rid of web.xml

· Springboot relationship among the listeners and design mode observer mode to simulate java among event-driven programming model

· Springboot boot process analysis, how springboot initialize the context spring? How to initialize DispacterServlet, how to start the tomcat

· Springboot order to load a configuration file type, configuration file syntax, configuration files, automatic configuration simulation springboot

· L springboot logging system, how to design springboot his diary system, what are the advantages? How do unified logs?

· Docker

· What is Docker, why should he use, and develop what relationship? Can bring convenience, Docker Profile, entry, Docker architecture is what?

· Docker's three core concepts: Mirror (Images), containers (Containers), warehouse service registry (Registry). What are they?

Basic Operations · Docker Docker basis of usage and mirrors

· Container entry technology, the basic operation of Docker containers, container and container virtualization Network Overview Network Docker is like?

· How programmers use Dockerfile format, Dockerfile command and docker build building Mirror

What is the difference · Compose and Dockerfile is? Compose configuration file and use Compose run container, Docker's combat application

4, performance tuning

mysql performance tuning

· Mysql Why not use other data structures and data structures to use as a B + tree index

· Mysql Detailed Implementation Plan & mysql query optimizer Detailed

· Mysql Index Tuning combat, including general inquiries, group by, order by

java data structure algorithms

Detailed · hash algorithm, java hashmap source among resolution, handwriting a hashmap

Understand hashmapJDK7 and change JDK8 from the source, why there is such a change, Java8 new features

Source code analysis • Sequential storage, doubly-linked lists, singly linked list, java among the linkedList

· Linear structure, tree structure and graphical analysis of java applications as well as among the classic scenes and use

· Large number crunching and classic sort, red-black tree binary tree sort, search

JVM tuning

· Java memory model general overview, class loading process and overall content among classloader, run-time data area, compiler theory

· Memory area and memory overflow exception, virtual machine object, the program counter, java stack, native method stacks, operands, method area, like heap metadata and

· Classloader detailed knowledge, has overall responsibility for the default mechanism, from the JDK source code to understand the parents delegate mode, how to break the parents delegate? Why do we need to break?

· Virtual machine performance monitoring and troubleshooting, jvm basic commands, use the command jmap command jinfo use, use jstak command, use jvisualvm analysis

· Garbage collector and memory allocation strategies and garbage collection algorithm based on string-type collector, parallel collector, memory allocation and recovery strategies.

· Compile and program code optimization, runtime optimization, compiler optimization, what is the nature of JVM tuning? What is light gc? What is Full gc? How to tune

· JVM execution subsystem, the class file structure, class loading mechanism, the bytecode execution engine, bytecode compiler mode, how to change the byte-code compiler mode?

5, the Internet Engineering

Maven

· Overall cognitive architecture maven

· Maven core commands

· Maven pom configuration of the system

· PW set up Nexus

Git

· Have come up with Git client and server

· Git core command

· Git enterprise applications

· Git principle, git underlying pointer Introduction

Linux

· Linux principle, start, catalog description

· Linux operation and maintenance of common commands, Linux users and permissions Introduction

· Shell scripting

6, distributed

Distributed Coordination Framework (Zookeeper)

What is a distributed system? What are the challenges of distributed systems? Zookeeper Quickstart Cluster Setup & Basic use

· Zookeeper What are the common commands and precautions, zkclient client and curator framework of what and how to use

· Handwriting Zookeeper common scenario: a distributed configuration center, distributed lock, distributed regular tasks

· Zookeeper core concepts znode, watch mechanism, serialization, persistence mechanism to explain its source code parsing

· Zookeeper how to solve the problem of consistency in distributed? Leadership election process to explain its source code parsing

RPC Service Framework (Dubbo)

· Handwriting RPC framework and why you want to use Dubbo? How to evolve legacy applications into distributed system Detailed

What are the six properties · Dubbo? What are the benefits of enterprise-class development? A brief description of the role of Dubbo, Dubbo quick demonstration calling example

· Dubbo protocol, the registry, the dynamic proxy mechanism is how to achieve scalable? Source extension mechanism Dubbo resolution

· Dubbo call center services from the service provider to the registry to resolve consumer flow source

· Dubbo and monitoring center management platform to use, easy to manage enterprise-class development and

Distributed data cache (Redis)

· Relational database bottlenecks and optimization, in contrast ehcache and redis? nosql usage scenarios

· Redis basic data types, such as map usage scenarios? What are the advantages and disadvantages? When using map etc.

· Redis advanced features, how to understand but high-performance single-threaded redis? How to understand and redis epoll

· Redis persistence, persistence required under what circumstances? What scheme? What are the advantages and disadvantages? How to choose an elegant persistence solution

Application · Redis project, the senior command reids mget, scan? Why scan this command, how to understand redis cursor?

· Stand-alone installation and redis redis production environment Start Program

· Redis meaning persistence machines for production environments for disaster recovery

· Redis master how to do 99.99% high availability architecture from

· Re-build a master-slave replication + + multi-master high availability cluster of redis cluster in the project

· Redis some common problems in practice as well as optimization ideas (includes linux kernel parameter optimization)

· Redis of RDB persistence configuration and data recovery experiment

RDB and AOF two kinds · redis persistence mechanism of comparing the advantages and disadvantages

Distributed data storage (myCat)

· Sub-library sub-table describes the scene

· Mycat principle of analytic

· Combat sub-library sub-table

Distributed Rabbitmq

· RabbitMQ installation environment & RabbitMQ overall structure and message flow switch & Detailed

· How to guarantee 100% of the message delivered successful programs & corporate news idempotency concepts and solutions for the industry mainstream

· Confirm Confirm Message Details Message Details & return & Return Policy & limiting consumption and consumer end ACK back to the end of the queue mechanism

· SpringAMQP user management component -RabbitAdmin application & SpringAMQP message template components -RabbitTemplate combat

· SpringAMQP message container -SimpleMessageListenerContainer Comments & SpringAMQP message adapter using -MessageListenerAdapter

· RabbitMQ and SpringBoot2.0 integrated combat & RabbitMQ real integration with Spring Cloud Stream

· RabbitMQ cluster architecture model & RabbitMQ cluster mirroring queues build for reliability storage & RabbitMQ cluster load balancing integrate basic components HaProxy_

7, project combat

Like little attention, little praise.

The students Java technology, architecture, technology interested, please add QQ group 668,041,364 ?, learn together, discuss with each other.

Within the group have little knowledge partners will organize good (source code, notes, PPT, learning video), please add the group to receive.

Guess you like

Origin blog.51cto.com/14233733/2404324