卜娃娃|JVM内存结构和Java内存模型( 二 )
(6)-XX:+PrintGCDetails:开启GC收集日志
(7)-XX:+PrintCommandLineFlags:输出自动优化参数
(8)-XX:UseSerialGC:使用串行垃圾收集器
如何在程序运行的时候查看JVM参数?
(1)先用jps -l获取进程id
(2)然后用jinfo -flag '参数名称' '进程id'
查看JVM出厂参数命令:
查看JVM根据当前运行系统默认优化后的命令:
二、java内存模型(JMM)
(1)JMM本身是一种抽象的概念 , 描述的是一组规范 , 定义了变量的访问方式 。
(2)关于同步的规定:
1.线程解锁前 , 必须将同步变量刷新到主内存中
2.线程获取锁之后 , 必须将同步变量刷新到工作内存中
3.加锁和解锁是同一把锁 。
(3)由于JVM运行程序的主体是线程 , 而每个线程创建的时候都会有一个工作内存(栈) , 工作内存是线程的私有数据区域 , 而java内存模型中规定所有变量都存储在主内存(线程共享区域) , 但线程对变量的操作必须是在工作内存中完成 , 首先要把变量从主内存中拷贝到工作内存中 , 再对变量进行操作 , 操作完成再将变量写回到主内存中 。 不能直接操作主内存中的变量 。
(4)可见性 , 原子性(不可分割 , 例如某个线程正在做某个业务的时候 , 中间不可以被加塞 。 需要整体完整 , 要么同时成功 , 要么同时失败 。 ) , 有序性 。
推荐阅读
- 娃娃|娃娃机里现真娃娃,工作人员懵了:从哪进去的
- 东方网娱乐|娃娃脸演不了主角?到底是什么真正让演员闪闪发光 | 东小娱日爆社 2020.10.19
- 潮人看时尚|林依晨剪娃娃头走红毯,绿眼影配绿裙手臂粗一圈,造型一言难尽
- 袁嘉敏|34岁袁嘉敏因性感身材再度走红,被媒体称赞是“行走的芭比娃娃”!
- 封面新闻|四川一娃娃机里现真娃娃,网友灵魂拷问:钻进去想干啥?
- 娃娃|四川一娃娃机里现真娃娃,工作人员:你从哪进去的?
- 封面新闻|四川一娃娃机里现真娃娃 工作人员惊呆:你从哪钻进去咧?
- 大喜子|与朋友一起比赛抓娃娃,乐趣无穷!,迷你世界:玩家自制抓娃娃机
- 星八客|7号房的礼物原来曾被三国翻拍过?原版漂亮土耳其版是洋娃娃吧
- LPL|解说娃娃谈八强:LPL较往年少了一个大哥,DWG毫无翻车可能
