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`;

相关推荐
2201_756847331 分钟前
HTML函数在老旧浏览器运行慢是硬件问题吗_软硬协同分析【教程】
jvm·数据库·python
雨墨✘17 分钟前
CSS如何提高团队协作效率_推广BEM规范减少样式沟通成本
jvm·数据库·python
hef28822 分钟前
如何实现SQL字段值的计算输出:算术运算符与别名结合
jvm·数据库·python
发发就是发2 小时前
顺序锁(Seqlock)与RCU机制:当读写锁遇上性能瓶颈
java·linux·服务器·开发语言·jvm·驱动开发
菜菜小狗的学习笔记2 小时前
八股(四)JVM
jvm
雨墨✘3 小时前
PHP怎么执行Shell命令_exec与shell_exec区别说明【说明】
jvm·数据库·python
2201_756847333 小时前
mysql字段长度不够用了怎么办_使用alter table扩大varchar长度
jvm·数据库·python
硅基诗人4 小时前
Java后端高并发核心瓶颈突破(JVM+并发+分布式底层实战)
java·jvm·分布式
雨墨✘4 小时前
如何解决SQL多表查询数据重复问题_使用DISTINCT与JOIN优化
jvm·数据库·python