您的位置:首页 > 数据库 > MySQL

性能优化专题复习:JVM+Tomcat+MySQL+面试题+学习笔记等

2020-08-07 13:43 926 查看

前言

这一套来自阿里的高级架构师手写笔记!相信其中很多的知识点都值得同学们去学习! 如果你对这些笔记PDF感兴趣的话,欢迎私信我来获取到!本篇是对性能优化专题做一个复习,包括JVM+Tomcat+MySQL+面试+学习笔记等,话不多说,一起来看看吧~

写在最前:需要文中分享的完整版笔记+答案解析的小伙伴们可以私信 “学习” 免费领取~小编会一一回复大家的呢~

01 JVM

1.1 JVM性能优化面试相关问题

  1. Java 类加载过程?
  2. 描述一下 JVM 加载 Class 文件的原理机制?
  3. Java 内存分配。
  4. GC 是什么? 为什么要有 GC?
  5. 简述 Java 垃圾回收机制。
  6. 如何判断一个对象是否存活?(或者 GC 对象的判定方法)
  7. 垃圾回收的优点和原理。并考虑 2 种回收机制
  8. 垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?
  9. Java 中会存在内存泄漏吗,请简单描述。
  10. 深拷贝和浅拷贝。
  11. System.gc() 和 Runtime.gc() 会做什么事情?
  12. finalize() 方法什么时候被调用?析构函数 (finalization) 的目的是什么?
  13. 如果对象的引用被置为 null,垃圾收集器是否会立即释放对象占用的内存?
  14. 什么是分布式垃圾回收(DGC)?它是如何工作的?
  15. 串行(serial)收集器和吞吐量(throughput)收集器的区别是什么?
  16. 在 Java 中,对象什么时候可以被垃圾回收?
  17. 简述 Java 内存分配与回收策略以及 Minor GC 和 MajorGC
  18. JVM 的永久代中会发生垃圾回收么?
  19. Java 中垃圾收集的方法有哪些?
  20. 什么是类加载器,类加载器有哪些?
  21. 类加载器双亲委派模型机制?

21道JVM性能优化面试相关问题答案解析如下:

 

1.2 JVM学习笔记

  1. JVM 内存结
  2. 构HotSpot 虚拟机对象探
  3. 秘垃圾收集策略与算
  4. 法HotSpot 垃圾收集
  5. 器内存分配与回收策略
  6. JVM 性能调
  7. 优类文件结构
  8. 类加载的时机
  9. 类加载的过程
  10. 类加载器

JVM学习笔记如下所示:

JVM学习笔记

JAVA性能调优指南:

JAVA性能调优指南

02 Tomcat

2.1 Tomcat性能优化面试相关问题

  1. 你怎样给 tomcat 去调优?
  2. 如何加大 tomcat 连接数
  3. tomcat 中如何禁止列目录下的文件
  4. 怎样加大 tomcat 的内存
  5. Tomcat 有几种部署方式
  6. Tomcat 的优化经验

Tomcat性能优化面试相关问题答案解析如下:

 

2.2 Tomcat面试专题

  1. Tomcat 的缺省端口是多少,怎么修改?
  2. tomcat 有哪几种 Connector 运行模式( 优化) ?
  3. Tomcat 有几种部署方式?
  4. tomcat 容器是如何创建 servlet 类实例?用到了什么原理?
  5. tomcat 如何优化?
  6. 内存调优
  7. 垃圾回收策略调优
  8. 添加 JMS 远程监控
  9. 专业点的分析工具有
  10. 关于 Tomcat 的 的 session 数目
  11. 监视 Tomcat 的内存使用情况
  12. 打印类的加载情况及对象的回收情况
  13. Tomcat 一个请求的完整过程
  14. Tomcat 工作模式?

Tomcat面试专题+解析如下:

Tomcat面试专题+解析

2.3 深入剖析Tomcat

深入剖析Tomcat

03 MySQL

3.1 MySQ性能优化最佳实践

  1. 为查询缓存优化你的查询
  2. EXPLAIN你的SELECT查询
  3. 当只要一行数据时使用LIMIT 1
  4. 为搜索字段建索引
  5. 在Join表的时候使用相当类型的例,并将其索引
  6. 千万不要 ORDER BY RAND()
  7. 避免 SELECT *
  8. 永远为每张表设置一个 ID
  9. 使用 ENUM 而不是 VARCHAR
  10. 从 PROCEDURE ANALYSE() 取得建议
  11. 尽可能的使用 NOT NULL
  12. Prepared Statements
  13. 无缓冲的查询
  14. 把 IP 地址存成 UNSIGNED INT
  15. 固定长度的表会更快
  16. 垂直分割
  17. 拆分大的 DELETE 或 INSERT 语句
  18. 越小的列会越快
  19. 选择正确的存储引擎
  20. 使用一个对象关系映射器(Object Relational Mapper)
  21. 小心“永久链接”

MySQL性能优化实践

3.2 MySQL学习笔记

  1. 事务四大特性(ACID)原子性、一致性、隔离性、持久性?
  2. 事务的并发?事务隔离级别,每个级别会引发什么问题,MySQL默认是哪个级别?
  3. MySQL常见的三种存储引擎(InnoDB、MyISAM、MEMORY)的区别?
  4. MySQL的MyISAM与InnoDB两种存储引擎在,事务、锁级别,各自的适用场景?
  5. 查询语句不同元素(where、jion、limit、group by、having等等)执行先后顺序?
  6. 什么是临时表,临时表什么时候删除?
  7. MySQL B+Tree索引和Hash索引的区别?
  8. sql查询语句确定创建哪种类型的索引?如何优化查询?
  9. 聚集索引和非聚集索引区别?
  10. 有哪些锁(乐观锁悲观锁),select 时怎么加排它锁?
  11. 非关系型数据库和关系型数据库区别,优势比较?
  12. 数据库三范式,根据某个场景设计数据表?
  13. 数据库的读写分离、主从复制,主从复制分析的 7 个问题?
  14. 使用explain优化sql和索引?
  15. MySQL慢查询怎么解决?
  16. 什么是 内连接、外连接、交叉连接、笛卡尔积等?
  17. mysql都有什么锁,死锁判定原理和具体场景,死锁怎么解决?
  18. varchar和char的使用场景?
  19. mysql 高并发环境解决方案?
  20. 数据库崩溃时事务的恢复机制(REDO日志和UNDO日志)?

MySQL学习笔记

MySQL技术内幕:

MySQL技术内幕

最后~

给大家还整理了spring全家桶电子书、Java基础资料、SpringBoot资料和各种大厂面试资料。

注意啦:关注我、转发+私信关键词 “学习” 即可免费领取所有的学习笔记和更多的学习资料和面试题!!!

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: