Java 架构知识点整理
架构学习
1. Java 核心技术
1.1. 基础知识
1.1.1. 进制转换
1.1.2. 异常处理
1.1.3. List 分批代码
1.1.4. 字符串分割
1.1.5. 编码风格
1.2. 并发编程
1.2.1. 参考文章
1.2.2. 并发编程基础
1.2.3. 线程的安全性问题
1.2.4. 处理器内存模型
1.2.5. Java 内存模型(JMM)
1.2.6. volatile 关键字
1.2.7. synchronized 关键字
1.2.8. wait notify
1.2.9. Lock
1.2.10. 同步器使用
1.2.11. 同步器原理分析
1.2.12. ReentrantLock 实现原理分析
1.2.13. condition
1.2.14. CountDownLatch
1.2.15. 线程池简介
1.2.16. ThreadLocal
1.2.17. FastThreadLocal
1.3. JVM
1.3.1. 待整理
1.3.2. JVM 常用参数
1.3.3. Java 逃逸分析
1.3.4. JVM 内存管理
1.3.5. JVM 对象分析
1.3.6. JVM 垃圾回收
1.3.7. JVM 内存分配
1.3.8. JVM 命令行调优工具
1.3.9. JVM 图形化调优工具
1.3.10. JVM Class 文件结构
1.3.11. JVM 字节码指令
1.3.12. JVM 类加载机制
2. 内功心法
2.1. UML
2.1.1. 类图
2.1.2. 时序图
2.2. 软件设计原则
2.2.1. 开闭原则
2.2.2. 依赖倒置原则
2.2.3. 单一职责原则
2.2.4. 接口隔离原则
2.2.5. 迪米特原则
2.2.6. 里氏替换原则
2.2.7. 合成复用原则
2.3. 常用设计模式
2.3.1. 简介
2.3.2. 工厂模式(Factory Method)
2.3.3. 单例模式(Singleton)
2.3.4. 破坏单例模式
2.3.5. 原型模式(Prototype)
2.3.6. 代理模式(Proxy)
2.3.7. 策略模式(Strategy)
2.3.8. 模板模式(Template Method)
2.3.9. 委派模式(Delegate)
2.3.10. 适配器模式(Adapter)
2.3.11. 装饰器模式(Decorator)
2.3.12. 观察者模式(Observer)
3. 源码分析
3.1. MyBatis 源码
3.1.1. 目录
3.1.2. 实用篇
3.1.2.1. MyBatis 概念
3.1.2.2. MyBatis 示例-简介
3.1.2.3. MyBatis 示例-类型处理器
3.1.2.4. MyBatis 示例-传递多个参数
3.1.2.5. MyBatis 示例-主键回填
3.1.2.6. MyBatis 示例-动态 SQL
3.1.2.7. MyBatis 示例-联合查询
3.1.2.8. MyBatis 示例-缓存
3.1.2.9. MyBatis 示例-插件
3.1.3. 源码篇
3.1.3.1. MyBatis 源码篇-整体架构
3.1.3.2. MyBatis 源码篇-SQL 执行的流程
3.1.3.3. MyBatis 源码篇-资源加载
3.1.3.4. MyBatis 源码篇-日志模块1
3.1.3.5. MyBatis 源码篇-日志模块2
3.1.3.6. MyBatis 源码篇-插件模块
3.1.3.7. MyBatis 源码篇-DataSource
3.1.3.8. MyBatis 源码篇-Transaction
3.1.3.9. MyBatis 源码篇-MyBatis-Spring 剖析
3.1.4. 事故处理篇
3.1.4.1. MyBatis 数值类型 where 条件配置的坑
4. MySQL
4.1. 目录
4.2. 基础篇
4.2.1. 三范式
4.2.2. MySQL 军规
4.2.3. MySQL 配置
4.2.4. MySQL 用户管理和权限设置
4.2.5. MySQL 常用函数介绍
4.2.6. MySQL 字段类型介绍
4.2.7. MySQL 多列排序
4.2.8. MySQL 行转列 列转行
4.2.9. MySQL NULL 使用带来的坑
4.2.10. MySQL AND 和 OR 联合使用带来的坑
4.2.11. MySQL 中文按中文拼音排序
4.2.12. MySQL 触发器的使用
4.3. 原理篇
4.3.1. MySQL 索引机制
4.3.2. MySQL 体系结构及存储引擎
4.3.3. MySQL 语句执行过程详解
4.3.4. MySQL 执行计划详解
4.3.5. MySQL InnoDB 缓冲池
4.3.6. MySQL InnoDB 事务
4.3.7. MySQL InnoDB 锁
4.3.8. MySQL InnoDB MVCC
4.3.9. MySQL InnoDB 实现高并发原理
4.3.10. MySQL InnoDB 快照读在RR和RC下有何差异
4.3.11. MySQL 索引合并(待整理)
4.4. 优化篇
4.4.1. 优化篇-汇总
4.4.2. 查询优化的基本思路
4.4.3. MySQL 如何定位慢查询 SQL
4.4.4. MySQL 分页查询优化
4.5. 设计篇
4.5.1. 数据库架构
4.5.2. 数据库主从不一致
4.5.3. 解决并发更新导致的一致性问题
4.5.4. 跨库分页方案
4.5.5. 数据迁移方案一
4.5.6. 数据迁移方案二
4.5.7. 分库分表方案
4.5.8. 在线修改大表结构
4.5.9. 数据备份方案
4.5.10. 解决冗余数据一致性的问题
4.6. 事故处理篇
4.6.1. MySQL 死锁分析
4.7. 参考文章
5. 职场
5.1. 职场资料整理
5.2. 简历制作技巧
5.3. Java 面试资源整理
Java 架构知识点整理的更多相关文章
- 这是一套Java菜鸟到大牛的学习路线之高级教程,由工作了10年的资深Java架构师整理。
这是一套Java菜鸟到大牛的学习路线之高级教程,由工作了10年的资深Java架构师整理. 01-java高级架构师设计-基础深入 J2SE深入讲解 Java多 ...
- java基础知识点整理
1.&和&&的区别? &:逻辑与(and),运算符两边的表达式均为true时,整个结果才为true. &&:短路与,如果第一个表达式为false时,第二 ...
- java异常知识点整理
异常处理机制:捕获异常(try-catch-finally)和声明抛弃异常(throw); 所有的异常类都直接或者间接地继承于Throwable类: java异常分为可查异常和不可查异常两种.可查异常 ...
- java重点知识点整理
隔壁班的帅哥给我的 1.1简述JAVA的语言特点 a语法简单,功能强大 b分布式与安全性 c与平台无关 d多线程 1.2什么是Java虚拟机?它包括哪几个部分? 解: Java 虚拟机 (JVM ) ...
- java前端知识点整理
1.jsp内置对象?作用? request :客户端请求,包含来自 GET/POST,提供了几个用于获取 cookie, 和 session 的方法 response :网页传回用户端的回应 page ...
- Java架构师必看,超详细的架构师知识点分享!
在Java程序员行业中,有不少Java开发人员的理想是成为一名优秀的Java架构师,Java架构师的主要任务不是从事具体的软件程序的编写,而是从事更高层次的开发构架工作.他必须对开发技术非常了解,并且 ...
- JAVA 150道笔试题知识点整理
JAVA 笔试题 整理了几天才整理的题目,都是在笔试或者面试碰到的,好好理解消化下,对你会有帮助,祝你找工作顺利,收到满意的 offer . 1.Java 基础知识 1.1 Java SE 语法 &a ...
- 阿里巴巴十年Java架构师分享,会了这个知识点的人都去BAT了
1.源码分析专题 详细介绍源码中所用到的经典设计思想,看看大牛是如何写代码的,提升技术审美.提高核心竞争力. 帮助大家寻找分析源码的切入点,在思想上来一次巨大的升华.知其然,并知其所以然.把知识变成自 ...
- [转]阿里巴巴十年Java架构师分享,会了这个知识点的人都去BAT了
1.源码分析专题 详细介绍源码中所用到的经典设计思想,看看大牛是如何写代码的,提升技术审美.提高核心竞争力. 帮助大家寻找分析源码的切入点,在思想上来一次巨大的升华.知其然,并知其所以然.把知识变成自 ...
随机推荐
- Controller中页面跳转完后页面的样式全消失的解决办法
问题的原因应该是在controller中进行页面跳转时当前文件的路径变了 解决办法: 1.在jsp页面中<%@ page language="java" contentTyp ...
- java编程思想札记一
1. 访问权限中尤其注意protected,它包含了包访问权限,只要是同一个包里的,就能访问到protected成员. 2. 后期绑定:被调用代码直到执行时才能确定,编译阶段只保证调用方法存在和类 ...
- MVC 之集合类转化为DataTable
private static DataTable ToDataTableTow(IList list) { DataTable result = new DataTable(); if (list.C ...
- Revealjs网页版PPT让你复制粘贴另类装逼,简洁优雅又低调,不懂编程也看过来
Revealjs网页版PPT让你复制粘贴另类装逼,简洁优雅又低调,不懂编程也看过来 要了解一个新知识我们可以从三个方面入手:是什么,有什么用,怎么用.下面我们就从这三个方面进行讲解Reveal.js噢 ...
- 大数据框架开发基础之Zookeeper入门
Zookeeper是Hadoop分布式调度服务,用来构建分布式应用系统.构建一个分布式应用是一个很复杂的事情,主要的原因是我们需要合理有效的处理分布式集群中的部分失败的问题.例如,集群中的节点在相互通 ...
- Django 单表查询
前言 如何只单独测试django中的某一个py文件呢?或者说如何书写测试脚本? 我们可以在任意一个py文件(应用下的tests或者自己新建一个)中书写以下代码: 前期准备 创建一个电影表 class ...
- JS单元测试及原理
单元测试 单元测试是指对软件中的最小可测试单元进行检查和验证,通过单元测试可以检测出潜在的bug,还可以快速反馈功能输出,验证代码是否达到预期,也可以保证代码重构的安全性. 有这样一个方法: let ...
- jdk1.7扩容时,不论是否有链表,并发都可能出现循环链表
扩容时使用transfertransfer不同于put时的判断hash冲突,直接使用头插法,如果没有冲突,则next为null.如下:e.next = newTable[i];newTable[i] ...
- [论文翻译]Practical Diversified Recommendations on YouTube with Determinantal Point Processes
目录 ABSTRACT(摘要) 1 INTRODUCTION(简介) 2 RELATED WORK 2.1 Diversification to Facilitate Exploration(对应多样 ...
- 理解 SQL 开窗函数
一次面试被问到开窗函数,懵逼了,赶紧补补总结一下.... 开窗函数也是函数,所以 比如在原来的查询上添加一个总数列 create table ztest( id int identity, c1 in ...