![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
jvm
文章平均质量分 60
跟着爸爸走
记录自我的成长。
踩过的无数坑。
赚更多money!!!
走向人生巅峰
展开
-
voliate深度解析原子性 可见性
共享内存的变量与线程栈中的变量副本有可能在主存中,也有可能在cpu缓存中或者cpu寄存器中!!!。 cpu结构 运算器、控制器、寄存器 三级缓存 加快cpu的执行效率 LO寄存器->L1C>L2C>L3C(多核共享)->L4主存->L5磁盘 有两个L1,为了不冲突CPU都可调用 (指令缓存和数据缓存) L1L2是核单独的 主存又分为随机存储器(random access memory)和只读存储器(read only memory) 保证了变量的可见性 共享变量不可见性:两原创 2021-12-22 11:02:17 · 584 阅读 · 0 评论 -
jvm gc
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./tmp/heapdump.hprof -XX:+PrintGCDateStamps -XX:+PrintGCDetails -Xloggc:./gc.log -Xmx1024m -Xms512m -XX:NewRatio=1 -XX:SurvivorRatio=4 -XX:MetaspaceSiz...原创 2019-11-22 10:37:18 · 187 阅读 · 0 评论 -
jvm高阶版
netstat -aon|findstr "8080" jdk/bin jinfo是用来查看JVM参数和动态修改部分JVM参数的命令 jstat命令是使用频率比较高的命令,主要用来查看JVM运行时的状态信息,包括内存状态、垃圾回收等。 jstat -gcutil 11666 1000 3 jstack是用来查看JVM线程快照的命令,线程快照是当前JVM线程正在执行的方法堆栈集合 jmap是用来...原创 2019-11-21 17:28:55 · 141 阅读 · 0 评论 -
线程池和多线程
Exception in thread "Thread-1" java.util.concurrent.RejectedExecutionException: Task jwwl.syslog.controller.Process@46285f87 rejected from java.util.concurrent.ThreadPoolExecutor@3e87502d[Running, poo...原创 2019-11-21 10:51:35 · 158 阅读 · 0 评论 -
jvm调优
Class NewObject { int count; boolean flag; Object ob; } 其大小为:空对象大小(8byte)+int大小(4byte)+Boolean大小(1byte)+空Object引用的大小(4byte)=17byte。但是因为Java在对对象内存分配时都是以8的整数倍来分,因此大于17byte的最接近8的整数倍的是24,因...原创 2019-11-19 13:46:41 · 404 阅读 · 0 评论