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.源码分析专题 详细介绍源码中所用到的经典设计思想,看看大牛是如何写代码的,提升技术审美.提高核心竞争力. 帮助大家寻找分析源码的切入点,在思想上来一次巨大的升华.知其然,并知其所以然.把知识变成自 ...
随机推荐
- TCP/IP||ICMP
1.概述 ICMP为IP组成部分之一,传递差错报文并返回用户进程,在IP数据报内部被传输 类型字段可以有15个不同的值,以描述特定类型的ICMP报文,检验和字段覆盖整个ICMP报文. 2.报文类型 在 ...
- mongodb安装及安装MongoDB报错Verify that you have sufficient privileges to start system services解决方法
1.点击安装包mongodb-win32-x86_64-2012plus-4.2.2-signed进行安装 2.点击next 3.接受协议,点击next 4.点击自定义安装 选择安装路径,建议默认C盘 ...
- UI自动化和selenium相关以及八大定位
一.UI自动化相关 1. UI自动化的本质(重点) 定位元素→操作元素→模拟页面操作→断言→测试报告 2. 适合UI自动化的场景 UI自动化的前提条件 (1)需求不能频繁变动 (2)UI稳定(UI自动 ...
- Intellij IDEA2019.1.3破解
下载 JetbrainsCrack.jar(链接:https://pan.baidu.com/s/1Dkw1PruzBlEMjcYszNlSZA 提取码:2bf7),放到bin目录下(其实位置可以随便 ...
- JAVA读取yml配置文件指定key下的所有内容
先引入需要的依赖 <!--读取yml文件--> <dependency> <groupId>org.yaml</groupId> <artifac ...
- 利用Python进行数据分析学习记录(一)
1.Python的科学计算邮件列表 pydata:这是一个Google Group邮件列表,其中的问题都是Python数据分析和pandas方面的. pystatsmodels:针对Numpy相关的问 ...
- 【转】推荐!国外程序员整理的Java资源大全
构建 这里搜集了用来构建应用程序的工具. Apache Maven:Maven使用声明进行构建并进行依赖管理,偏向于使用约定而不是配置进行构建.Maven优于Apache Ant.后者采用了一种过程化 ...
- ConcurrentHashMap源码解析 JDK8
一.简介 上篇文章详细介绍了HashMap的源码及原理,本文趁热打铁继续分析ConcurrentHashMap的原理. 首先在看本文之前,希望对HashMap有一个详细的了解.不然看直接看Concur ...
- Unity 基于Cinemachine计算透视摄像机在地图中的移动范围
Unity中Cinemachine的基础功能介绍可详见之前写的博客: https://www.cnblogs.com/koshio0219/p/11820654.html 本篇的重点是讨论,在给定规则 ...
- 关于java php go 中AES加解密秘钥长度问题
今天心血来朝,想用go把php中的一个小功能重写一下,但在解密aes加密的数据时碰到了个坑! php的mcrypt拓展(貌似php7.1版本以上不支持了)提供了aes的加解密: 而且php aes 的 ...