Java面试题总结(十二)

111.说一下 mysql 常用的引擎?

MySQL - 常用存储引擎区别总结(2020最新版)

112.说一下 mysql 的行锁和表锁?

深入理解数据库行锁与表锁
详解 MySql InnoDB 中的三种行锁(记录锁、间隙锁与临键锁)
MySQL中的锁(表锁、行锁)
全网最全的一篇数据库MVCC详解,不全我负责

113.说一下乐观锁和悲观锁?

面试官:你了解乐观锁和悲观锁吗?

114.mysql 问题排查都有哪些手段?

1.使用 show processlist 命令查看当前所有连接信息。
(1)processlist命令的输出结果显示了有哪些线程在运行。
(2)可以查看当前所有的连接数、查看当前的连接状态、帮助识别出有问题的查询语句等。
(3)如果是root帐号,能看到所有用户的当前连接。如果是其他普通帐号,则只能看到自己占用的连接。Show processlist只能列出当前100条。如果想全部列出,可以使用SHOW FULL PROCESSLIST命令
(4)各列含义
①.id列,用户登录mysql时,系统分配的"connection_id",可以使用函数connection_id()查看
②.user列,显示当前用户。如果不是root,这个命令就只显示用户权限范围的sql语句
③.host列,显示这个语句是从哪个ip的哪个端口上发的,可以用来跟踪出现问题语句的用户
④.db列,显示这个进程目前连接的是哪个数据库
⑤.command列,显示当前连接的执行的命令,一般取值为休眠(sleep),查询(query),连接(connect)等
⑥.time列,显示这个状态持续的时间,单位是秒
⑦.state列,显示使用当前连接的sql语句的状态,很重要的列。state描述的是语句执行中的某一个状态。一个sql语句,以查询为例,可能需要经过copying to tmp table、sorting result、sending data等状态才可以完成
⑧.info列,显示这个sql语句,是判断问题语句的一个重要依据
2.使用 explain 命令查询 SQL 语句执行计划。
3.开启慢查询日志,查看慢查询的 SQL。
(1)查看是否开启慢查询日志:show variables like ‘slow_query_log’
(2)查询是否把没有设置索引的sql记录日志中:show variables like ‘%log%’
如果:log_queries_not_using_indexes:OFF,
需要打开set global log_queries_not_using_indexes=on
(3)确认超过多长时间过后记录到慢查询日志里面:show variable like ‘long_query_time’
(4)开启慢查询日志:set global slow_query_log=on
(5)查看路径:slow variables like ‘slow%’
4.分析诊断工具之五:Procedure Analyse优化表结构

115.如何做 mysql 的性能优化?

MySQL 性能优化的最佳20多条经验分享
有兴趣的可以看一看《高性能MySQL》
https://cloud.tencent.com/developer/article/2123127

116.说一下 jvm 的主要组成部分?及其作用?

Java内存区域-JVM的主要组成部分及其作用

117.说一下 jvm 运行时数据区?

JVM运行时数据区(详解+面试)

118.说一下堆栈的区别?

一文读懂堆与栈的区别

119.队列和栈是什么?有什么区别?

面试官:说说你对栈、队列的理解?应用场景?

120.什么是双亲委派模型?

Java双亲委派模型:为什么要双亲委派?如何打破它?破在哪里?
Tomcat为什么要JAVA破坏双亲委派机制?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值