前言
这一套来自阿里的高级架构师手写笔记!相信其中很多的知识点都值得同学们去学习! 如果你对这些笔记PDF感兴趣的话,欢迎私信我来获取到!本篇是对性能优化专题做一个复习,包括JVM+Tomcat+MySQL+面试+学习笔记等,话不多说,一起来看看吧~
写在最前:需要文中分享的完整版笔记+答案解析的小伙伴们可以私信 “学习” 免费领取~小编会一一回复大家的呢~
01 JVM
1.1 JVM性能优化面试相关问题
- Java 类加载过程?
- 描述一下 JVM 加载 Class 文件的原理机制?
- Java 内存分配。
- GC 是什么? 为什么要有 GC?
- 简述 Java 垃圾回收机制。
- 如何判断一个对象是否存活?(或者 GC 对象的判定方法)
- 垃圾回收的优点和原理。并考虑 2 种回收机制
- 垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?
- Java 中会存在内存泄漏吗,请简单描述。
- 深拷贝和浅拷贝。
- System.gc() 和 Runtime.gc() 会做什么事情?
- finalize() 方法什么时候被调用?析构函数 (finalization) 的目的是什么?
- 如果对象的引用被置为 null,垃圾收集器是否会立即释放对象占用的内存?
- 什么是分布式垃圾回收(DGC)?它是如何工作的?
- 串行(serial)收集器和吞吐量(throughput)收集器的区别是什么?
- 在 Java 中,对象什么时候可以被垃圾回收?
- 简述 Java 内存分配与回收策略以及 Minor GC 和 MajorGC
- JVM 的永久代中会发生垃圾回收么?
- Java 中垃圾收集的方法有哪些?
- 什么是类加载器,类加载器有哪些?
- 类加载器双亲委派模型机制?
21道JVM性能优化面试相关问题答案解析如下:
1.2 JVM学习笔记
- JVM 内存结
- 构HotSpot 虚拟机对象探
- 秘垃圾收集策略与算
- 法HotSpot 垃圾收集
- 器内存分配与回收策略
- JVM 性能调
- 优类文件结构
- 类加载的时机
- 类加载的过程
- 类加载器
JVM学习笔记如下所示:
JVM学习笔记
JAVA性能调优指南:
JAVA性能调优指南
02 Tomcat
2.1 Tomcat性能优化面试相关问题
- 你怎样给 tomcat 去调优?
- 如何加大 tomcat 连接数
- tomcat 中如何禁止列目录下的文件
- 怎样加大 tomcat 的内存
- Tomcat 有几种部署方式
- Tomcat 的优化经验
Tomcat性能优化面试相关问题答案解析如下:
2.2 Tomcat面试专题
- Tomcat 的缺省端口是多少,怎么修改?
- tomcat 有哪几种 Connector 运行模式( 优化) ?
- Tomcat 有几种部署方式?
- tomcat 容器是如何创建 servlet 类实例?用到了什么原理?
- tomcat 如何优化?
- 内存调优
- 垃圾回收策略调优
- 添加 JMS 远程监控
- 专业点的分析工具有
- 关于 Tomcat 的 的 session 数目
- 监视 Tomcat 的内存使用情况
- 打印类的加载情况及对象的回收情况
- Tomcat 一个请求的完整过程
- Tomcat 工作模式?
Tomcat面试专题+解析如下:
Tomcat面试专题+解析
2.3 深入剖析Tomcat
深入剖析Tomcat
03 MySQL
3.1 MySQ性能优化最佳实践
- 为查询缓存优化你的查询
- EXPLAIN你的SELECT查询
- 当只要一行数据时使用LIMIT 1
- 为搜索字段建索引
- 在Join表的时候使用相当类型的例,并将其索引
- 千万不要 ORDER BY RAND()
- 避免 SELECT *
- 永远为每张表设置一个 ID
- 使用 ENUM 而不是 VARCHAR
- 从 PROCEDURE ANALYSE() 取得建议
- 尽可能的使用 NOT NULL
- Prepared Statements
- 无缓冲的查询
- 把 IP 地址存成 UNSIGNED INT
- 固定长度的表会更快
- 垂直分割
- 拆分大的 DELETE 或 INSERT 语句
- 越小的列会越快
- 选择正确的存储引擎
- 使用一个对象关系映射器(Object Relational Mapper)
- 小心“永久链接”
MySQL性能优化实践
3.2 MySQL学习笔记
- 事务四大特性(ACID)原子性、一致性、隔离性、持久性?
- 事务的并发?事务隔离级别,每个级别会引发什么问题,MySQL默认是哪个级别?
- MySQL常见的三种存储引擎(InnoDB、MyISAM、MEMORY)的区别?
- MySQL的MyISAM与InnoDB两种存储引擎在,事务、锁级别,各自的适用场景?
- 查询语句不同元素(where、jion、limit、group by、having等等)执行先后顺序?
- 什么是临时表,临时表什么时候删除?
- MySQL B+Tree索引和Hash索引的区别?
- sql查询语句确定创建哪种类型的索引?如何优化查询?
- 聚集索引和非聚集索引区别?
- 有哪些锁(乐观锁悲观锁),select 时怎么加排它锁?
- 非关系型数据库和关系型数据库区别,优势比较?
- 数据库三范式,根据某个场景设计数据表?
- 数据库的读写分离、主从复制,主从复制分析的 7 个问题?
- 使用explain优化sql和索引?
- MySQL慢查询怎么解决?
- 什么是 内连接、外连接、交叉连接、笛卡尔积等?
- mysql都有什么锁,死锁判定原理和具体场景,死锁怎么解决?
- varchar和char的使用场景?
- mysql 高并发环境解决方案?
- 数据库崩溃时事务的恢复机制(REDO日志和UNDO日志)?
MySQL学习笔记
MySQL技术内幕:
MySQL技术内幕
最后~
给大家还整理了spring全家桶电子书、Java基础资料、SpringBoot资料和各种大厂面试资料。
注意啦:关注我、转发+私信关键词 “学习” 即可免费领取所有的学习笔记和更多的学习资料和面试题!!!