java入门基础知识点总结归纳(初学者java入门必备知识基础)(1)

Java 知识体系开源框架知识点SpringIOC 容器及源码解读

容器启动及配置类加载流程 组件添加 组件赋值 组件注入 后置处理器 声明式事务源码解读 Spring容器源码解读

AOP使用与源码分析

@EnableAspectJAutoProxy注解 切面注解使用解析 AOP源码解读实战

Spring MVCServlet 3.0 的注解实现

ServletContainerInitializer 容器初始化 ServletRegistration注册 FilterRegisteration过滤器 ServletContext

性能实战

基于Servlet3.0异步 Callable异步 DeferredResult异步

MyBatis概述

为什么要用ORM 为什么使用MyBatis Mybatis快速入门

进阶

Mybatis的配置 映射器的配置 动态SQL 与Spring的集成 缓存 关联查询 多对多级联 代码生成器

高级

源码分析 插件开发 分页插件使用与源码分析

微服务架构RPC原理

RMI的实现

原理

服务注册与发布 动态代理 序列化与反射

SpringBoot底层探析SpringBoot快速入门

SpringBoot与微服务之间的关系 环境搭建 继承Springmvc 继承mybatis 整合日志 集成jsp 全集异常捕获 打包部署 热部署 集成Swagger2构建API管理体系

核心组件

starter actuator auto-configuration cli jta atomikos的分布式事务

性能优化

JVM参数 扫包优化 undertow容器 @SpringBootApplication源码解读

SpringCloud高级进阶

Zuul路由网管详解及源码探析 Ribbon客户端负载均衡原理与算法详解,与服务端均衡负载区别 Feign声明式服务调用方法实现 Hystrix服务熔断及服务降级实战 Eureka注册中心分析 Config配置服务中心与svn、Git快速集成 BUS消息总线技术 Sleuth调用链路追踪 Stream消息驱动的微服务

Docker虚拟化技术

Docker介绍、安装与使用

Docker组成

镜像 容器 私有仓库 Docker Compose部署脚本 Docker Service 服务编排 Docker Redis分布式集群部署 Docker File构建 通过maven插件打包Docker镜像 Docker部署及运行应用程序 Kubernetes编配 基于Docker构建MySQL集群实战 高可用SpringCloud微服务与Docker继承实现动态扩展实战

团队协作开发GitGit基本工作原理

与SVN对比 基本运作流程

Git常用操作及问题处理

工程初始化及克隆 文件提交 分支与常用标签应用 远程仓库管理 合并与冲突解决 架构师职责: Git Flow必备技能,规范团队Git操作

Maven安装和配置

Windows上安装 Linux上安装 目录分析

使用入门

编写POM 编写主代码 编写测试代码 打包和运行

坐标和依赖

Maven坐标以及详解 依赖的配置 依赖的范围 传递性依赖和依赖调解

聚合与集成

聚合 继承 聚合与继承的关系 约定优于配置 反应堆

生命周期与插件

clean生命周期 default生命周期 site生命周期 命令行与生命周期 插件目标 插件绑定 插件配置 常用插件

仓库

本地仓库 远程仓库 中央仓库 快照版本 远程仓库的配置 快照版本与镜像

版本管理

版本号定义约定 主干、标签与分支

私服-Nexus

安装Nexus Nexus的仓库与仓库组 Nexus使用、上传、配置

Jenkins环境搭建

Jenkins安装 Jenkins Tomcat安装 Jenkins Git安装 Jenkins Maven安装

配置管理

Jenkins配置 Jenkins管理 Jenkins配置程序作业 Jenkins配置单元测试 Jenkins配置自动化测试

部署分析

Jenkins配置邮件通知 Jenkins配置报表 Jenkins代码分析 Jenkins分布式构建 Jenkins自动部署

高级进阶

Jenkins指标与趋势 Jenkins服务器维护 Jenkins持续部署 Jenkins插件管理 Jenkins备份 Jenkins远程测试

dubbo应用及源码解读dubbo简介

分布式中rpc调用的痛点 dubbo主要解决那些rpc问题 dubbo设计的概念 dubbo的部署安装

dubbo的配置使用

xml方式 注解方式 api方式 dubbo中各元素属性学习

dubbo在项目的用法

类与类的依赖关系说明 项目之间的依赖划分 实战拆解分布式

dubbo源码解析与示例

dubbo的模块及层级 dubbo的初始化过程 dubbo的服务暴露 dubbo的服务引用 dubbo的服务拦截 服务的注册与发现

Java基础知识JVM性能调优1. Java内存区域

虚拟机的历史 运行时数据区域 深入辨析堆和栈 方法的出入栈 虚拟机中的对象 堆参数设置和内存溢出实战

2. 垃圾回收器和内存非配策略

GC概述 判断对象的存活 辨析强、弱等各种引用 GC算法 分代收集 垃圾回收器 Stop The World现象 GC日志解读 内存分配与回收策略 内存泄露和内存溢出辨析 JDK为我们提供的工具 了解MAT (Memory Analyzer Tool)

3. JVM的执行子系统

Class类文件的本质 Class文件格式 字节码指令 类加载机制 栈帧详解 方法调用详解 基于栈的字节码解析执行引擎

4. 编写高效优雅的Java程序

构造器参数太多怎么办 不需要实例化的类应该构造器私有 不要创建不必要的对象 避免使用终结方法(finalize) 使类和成员的可访问性最小化 使可变性最小化 优先使用复合 接口优于抽象类 可变参数要谨慎使用 返回零长度的数组或集合,不要返回null 优先使用标准的异常 用枚举代替int常量 将局部变量的作用域最小化 精确计算,避免使用float和double 当心字符串连接的性能

5. 深入了解性能优化

常用的性能评价/测试指标 常用的性能优化手段 详细了解应用服务器性能优化

网络编程与高效IO网络协议

网络模型 TCP UDP HTTP 原生JDK网络编程(NIO/BIO)

1. Netty应用

Netty是什么?为什么要用Netty? 第一个Netty程序 Netty组件再了解 解决粘包,半包问题 编解码器框架 序列化问题 单元测试

2. Netty进阶和实战

实现UDP通信 服务器推送技术 WebSocket通信 实现自己的通信框架

3. Netty源码分析

引导过程分析 EventLoop和EventLoopGroup分析 服务端接受连接事件分析OP_ACCEPT 分析读事件OP_READ 分析写数据和处理写数据OP_WRITE 分析客户端连接和连接事件OP_CONNECT

并发编程进阶1. 线程基础、线程之间的共享和协作

基础概念 启动和终止线程 线程间的共享 线程间的协作

2. 线程的并发工具类

Fork/Join CountDownLatch作用、应用场景和实战 CyclicBarrier作用、应用场景和实战 Semaphore作、应用场景和实战 Exchange作用、应用场景和实战 Callable、Future和FutureTask

3. 原子操作CAS

CAS的原理 CAS的问题 原子操作类的使用

4. 显式锁和AQS

显式锁 LockSupport工具进阶 AbstractQueuedSynchronizer实现及源码分析

5. 并发容器

ConcurrentHashMap 其他并发容器 阻塞队列

6. 线程池

什么是线程池?为什么要用线程池? 实现一个我们自己的线程池 JDK中的线程池 线程池的工作机制 合理配置线程池 Executor框架 CompletionService

7. 并发安全

类的线程安全 如何做到类的线程安全 线程不安全引发的问题 线程安全的单例模式

8. JMM和底层实现原理

现代计算机物理上的内存模型 Java内存模型 (JMM)

Mysql深度优化
  1. Mysql逻辑架构入门介绍
2. 存储引擎

MyISAM Innodb Archive Memory Federated

3. 业务设计

锁 事务 逻辑设计 物理设计

4. 查询以及索引

慢查询 索引 执行计划 sql优化

Linux

Linux注意事项 Linux基础之类 Linux Jdk1.8环境安装及操作指令 Linux Tomcat安装与停启

高性能架构分布式架构思维

大型互联网架构演进过程 架构师应具备的分布式知识 主流分布式架构设计详解

分布式协调和分流Zookeeper分布式环境指挥官

zk的入门 zk开发基础 zookeeper应用实战 协议及算法分析

nginx高并发分流进阶实战

nginx安装 正反向代理 nginx进程模型 核心配置结构 日志配置及签个 location规则 rewrite的使用 动静分离 跨域配置 缓存配置,Gzip配置 https配置 横向扩展带来的问题 LVS keepalived

异步与消息中间件概述

什么是消息中间件? 和RPC有何区别? 消息中间件使用场景介绍 消息中间件(ActiveMQ、RabbitMQ、RocketMQ、Kafka)简介及对比

ActiveMQ消息中间件

JMS规范 ActiveMQ使用 ActiveMQ高级特性和用法 企业级高可用集群部署方案

RabbitMQ消息中间件

AMQP规范和RabbitMQ基本概念 Windows下安装和运行 Linux下安装与配置 原生Java客户端使用 消息发布时的权衡 消息消费时的权衡 消息的拒绝 控制队列 消息的属性 与Spring集成 集群化与镜像队列

Kafka百万级吞吐实战

Kafka入门 Kafka的安装和配置参数 Kafka的集群 Kafka的生产者和消费者 整合Spring 深入理解Kafka 保证Kafka的可靠数据传递

缓存和NoSQLRedis高性能缓存数据库

Redis初入门及介绍 Java客户端 Redis常用命令及多项目设计实战 数据一致性 Redis性能优化 Redis主从模式 Redis持久化 哨兵核心机制 高可用集群

MongoDBMongoDB入门

nosql与sql使用场景分析 基础概念

mongodb进阶

常用命令 快速入门 mongodo客户端驱动 增删改查与聚合 安全控制

mongodb高级知识

存储引擎 索引 高可用 最佳实践与注意事项

缓存解决方案实战

缓存的概念 SpringCache的用法 缓存的一致性策略 缓存雪崩方案 缓存穿透方案

高可用数据储存MySQL高性能储存实战

Mycat进阶实战

FastDFS分布式文件储存实战

文件储存实战 文件同步实战 文件查询实战 分布式部署实战

分布式常见常见方案实战事务概念

事务与锁 分布式事务产生背景 X/OpenDTP事务模型 标准分布式事务

分布式事务解决方案

两阶段提交 BASE理论与柔性事务 TCC方案 补偿性方案 异步确保与最大努力型

单店登陆方案

单店登陆的问题背景 页面跨域问题 Session跨域共享方案 Session的扩展

分布式任务调度方案

Quartz调度的用法 Elastic-Job示例 分布式调度的疑难点 Quartz集群定制化分布式调度

,