春招指南之“性能调优”:MySQL+Tomcat+JVM,还怕面试官的轰炸?

01 MySQL性能调优
1.1 MySQL性能调优问题有哪些?怎么学?
关于这个,给大家看一份学习大纲(xmind)文件,每一个分支里面会有详细的介绍。

这里都是以图片形式展示介绍,如要下载原文件以及更多的性能调优笔记(MySQL+Tomcat+JVM)可以 直接【点击 “性能调优”,获取码:CSDN】!
1.2 关于MySQL,面试官会问哪些问题?
- 第一个:MySQ性能优化最佳实践21个(有具体的解释)你知道哪些?
-
为查询缓存优化你的查询 -
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) -
小心“永久链接”
篇幅有点长,整理成了一个PDF文档:

- 第二个:来看下MySQL的高频20问(附带详细解答,整理成册)
-
事务四大特性(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日志)?

1.3 MySQL性能调优笔记分享
- 《MySQL性能调优与架构设计--全册(PDF)》
本书分为3个部分,第一部分是基础篇,第二部分是重点之重性能调优篇,第三部分是架构设计篇
(1)目录简介

(2)详情内容

本书包括MySQL的安装与配置、数据库的创建、数据表的创建、数据类型和运算符、MySQL函数、查询数据、数据表的操作(插入、更新与删除数据)、索引、存储过程和函数、视图、触发器、用户管理、数据备份与恢复、日志以及性能优化等等。本书注重实战操作,帮助读者循序渐进的掌握MySQL的各项技术。需要重学一下MySQL,建议可以看看这个

02 Tomcat性能调优
2.1 Tomcat性能调优面试必备题(附带详细解答)你能答多少?
-
你怎样给 tomcat 去调优? -
如何加大 tomcat 连接数 -
tomcat 中如何禁止列目录下的文件 -
怎样加大 tomcat 的内存 -
Tomcat 有几种部署方式 -
Tomcat 的优化经验 -
Tomcat 的缺省端口是多少,怎么修改? -
tomcat 有哪几种 Connector 运行模式( 优化) ? -
Tomcat 有几种部署方式? -
tomcat 容器是如何创建 servlet 类实例?用到了什么原理? -
tomcat 如何优化? -
内存调优 -
垃圾回收策略调优 -
添加 JMS 远程监控 -
专业点的分析工具有 -
关于 Tomcat 的 的 session 数目 -
监视 Tomcat 的内存使用情况 -
打印类的加载情况及对象的回收情况 -
Tomcat 一个请求的完整过程 -
Tomcat 工作模式?
详细解答如下,需要下载原件的可以【点击“性能调优”,获取码:CSDN】 即可!

2.2 Tomcat学习笔记分享

-
第15章:说明如何通过Digester组件来对Web应用程序进行配置,Digester是Apacbe软件基金会的一个开源项目,即使你对这个不熟悉也没关系,该章会简要介绍Digester库,说明如何使用该库来搞XML。 -
第16章:对Tomcat中的关闭钩子进行说明,不论用户如何关闭Tomcat(即通过发送关闭命令,或是突然直接关闭控制台),通过使用关闭钩子,Tomcat总是可以执行一些清理工作。 -
第17章:对使用批处理文件和Shell脚本来启动和关闭Tomcat进行说明。 -
第18章:对部署组件进行说明,该组件负责部署和安装web应用程序。 -
Servlet对一个特殊接口(ContainerServlet)进行说明。使用该接口,Servlet对象可以访问Catalina中的内部对象,此外,该章会对用来管理已部署应用程序的Manager应用程序进行说明 -
第20章:对JMX进行说明,并阐述Tomcat是如何为其内部对象创建MBean,并使用这些内部对象可托管的。

03 JVM性能调优
3.1 JVM和性能调优问题学习大纲(xmind)

3.2 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 中垃圾收集的方法有哪些? -
什么是类加载器,类加载器有哪些? -
类加载器双亲委派模型机制?

3.3 JVM性能调优笔记分享
(1)目录

(2)内容详解

关于“性能调优”:MySQL+Tomcat+JVM,我要给大家分享学习的就这么多,不知道这些面试常备问题你都能答得上来不?不会也没关系,可以找小编分享完整的原件(题目+答案解析)
还有这些关于“性能调优”的学习笔记,这些学习路线以及书籍笔记之类的,若是你还没有,也可以找小编来免费分享下载,请注意:戳此--获取码--CSDN--春招指南之“性能调优”:MySQL+Tomcat+JVM |