JVM 基础知识

JAVA code加载执行顺序:

*.java --->*.class->类装载子系统、字节码执行引擎

JVM虚拟机组成:

堆、方法区(元空间)、栈(线程)、本地方法栈、程序计数器

栈帧组成:

栈帧:局部变理表、操作数栈、动态链接、方法出口

对象组成:

对象头(Mark Word、KlassPointer类型指针、数组长度)、实例数据、对齐填充(8个字节)

分代收集:

堆分为新生代(复制算法)和老年代(标记-清除、标记-整理)

CMS:初始标记、并发标记、重新标记、并发清理、并发重置

G1:初始标记、并发标记、最终标记、筛选回收

Jstack:线程运行情况
Jstat:查看垃圾回收情况

  • 程序通过JStack
  • 数据库通过

1、查询是否锁表

SHOW OPEN TABLES WHERE in_use>0;

2、查询进程

SHOW PROCESSLIST;

3、查询正在锁的事务

SELECT * FROM information_schema.`INNODB_LOCKS`;

4、查询等待锁的事务

SELECT * FROM information_schema.`INNODB_LOCK_WAITS`;

相关推荐
Sunshine for you10 分钟前
如何用FastAPI构建高性能的现代API
jvm·数据库·python
阿贵---14 分钟前
Python Web爬虫入门:使用Requests和BeautifulSoup
jvm·数据库·python
2401_884563241 小时前
进阶技巧与底层原理
jvm·数据库·python
2401_873204651 小时前
使用Pandas进行数据分析:从数据清洗到可视化
jvm·数据库·python
无名-CODING1 小时前
分布式锁实战演练:跨越 JVM 的并发掌控者
jvm·分布式
m0_662577971 小时前
自动化与脚本
jvm·数据库·python
曼彻斯特的海边2 小时前
synchronized优化原理
jvm·juc·synchronized
dapeng28702 小时前
使用Fabric自动化你的部署流程
jvm·数据库·python
2401_874732533 小时前
构建一个桌面版的天气预报应用
jvm·数据库·python
qq_417695053 小时前
实战:用Python开发一个简单的区块链
jvm·数据库·python