
Java
文章平均质量分 54
day_ue
这个作者很懒,什么都没留下…
展开
-
JVM的基础常识
1.内存模型堆共享数据,存放我们new的对象。栈线程私有,存放我们的局部变量表、操作数栈、方法出口等信息。方法区(元数据空间)共享数据,存放我们常量、类信息、静态变量。计数器线程私有,记录每个线程的计算位置。2.类加载过程加载–》校验 --》准备 --》解析 --》初始化加载根据查找路径找到对应的class文件,然后导入。校验校验class文件的正确性准备给类中的静态变量分配内存空间解析将常量池中的符号引用转换为直接指向内存地址的直接引原创 2021-11-02 17:47:01 · 161 阅读 · 0 评论 -
单例双重锁和volatile
单例双重锁public class TestInstance{private volatile static TestInstance instance;public static TestInstance getInstance(){ //1 if(instance == null){ //2 synchronized(TestInstance.class){ //3 if(instance == null){原创 2021-09-20 16:30:14 · 102 阅读 · 0 评论 -
CPU使用率过高问题定位
1.通过top命令,确定是哪个进程资源消耗严重,假设对应进程PID=1234top2.通过ps命令,确定哪个线程资源消耗严重,假设对应线程TID=12345ps -mp 1234 -o THREAD,tid,time3.将TID转换为16进制,结果3039printf “%x\n” 123454.通过jstack命令查看进程状态jstack 1234 | grep 3039 -A 30...原创 2021-09-20 16:29:31 · 337 阅读 · 0 评论 -
并发编程学习总结
从线程的创建、状态、关键字、锁原理、AQS学习多线程原创 2021-04-09 20:54:09 · 224 阅读 · 0 评论