随笔分类 -  JVM

摘要:JMM 什么是JMM? JMM:(Java Memory Model的缩写) 它干嘛的?︰官方,其他人的博客,对应的视频! 作用:缓存一致性协议,用于定义数据读写的规则(遵守,找到这个规则)。 JVM定义了线程工作内存和主内存之间的抽象关系:线程之间的共享变量存储在主内存(Main Memory)中 阅读全文
posted @ 2022-02-09 12:58 摘星丶仙 阅读(42) 评论(0) 推荐(0) 编辑
摘要:总结 内存效率:复制算法>标记清除算法>标记压缩算法(时间复杂度) 内存整齐度:复制算法=标记压缩算法>标记清除算法 内存利用率:标记压缩算法=标记清除算法>复制算法 思考一个问题:难道没有最优算法吗? 答案:没有,没有最好的算法,只有最合适的算法 > GC∶分代收集算法 年轻代: 存活率低 复制算 阅读全文
posted @ 2022-02-09 12:28 摘星丶仙 阅读(14) 评论(0) 推荐(0) 编辑
摘要:标记清除算法 优点:不需要额外的空间! 缺点:两次扫描,严重浪费时间,会产生内存碎片。 标记压缩 再优化: 标记清除压缩 先标记清除几次 再压缩~ 阅读全文
posted @ 2022-02-09 12:14 摘星丶仙 阅读(31) 评论(0) 推荐(0) 编辑
摘要:复制算法 好处:没有内存的碎片~ 坏处:浪费了内存空间~:多了一半空间永远是空to。假设对象100%存活(极端情况) 复制算法最佳使用场景:对象存活度较低的时候;新生区~ 阅读全文
posted @ 2022-02-09 12:04 摘星丶仙 阅读(14) 评论(0) 推荐(0) 编辑
摘要:GC:垃圾回收 JVM在进行GC时,并不是对这三个区域统一回收。大部分时候,回收都是新生代- 新生代 幸存区(from , to) 老年区 GC两种类:轻GC(普通的GC),重GC(全局GC) 阅读全文
posted @ 2022-02-09 00:13 摘星丶仙 阅读(22) 评论(0) 推荐(0) 编辑
摘要:在一个项目中,突然出现了OOM故障,那么该如何排除~研究为什么出错~ 能够看到代码第几行出错:内存快照分析工具,MAT,Jprofiler Dubug,一行行分析代码! MAT,Jprofiler作用 分析Dump内存文件,快速定位内存泄露; 获得堆中的数据 获得大的对象~ ...... //-Xm 阅读全文
posted @ 2022-02-08 23:50 摘星丶仙 阅读(14) 评论(0) 推荐(0) 编辑
摘要:新生区 类:诞生和成长的地方,甚至死亡; 伊甸园,所有的对象都是在伊甸园区new出来的! 幸存者区(0,1) 老年区 真理:经过研究,99%的对象都是临时对象! 永久区 这个区域常驻内存的。用来存放JDK自身携带的Class对象。Interface元数据,存储的是Java运行时的一些环境或类信息这个 阅读全文
posted @ 2022-02-08 23:06 摘星丶仙 阅读(24) 评论(0) 推荐(0) 编辑
摘要:三种JVM Sun公司 HotSpot Java Hotspot(TM) 64-Bit server VM (build 25.181-b13,mixed mode) BEA JRockit IBM J9 VM 我们学习都是: Hotspot 堆 Heap,一个JVM只有一个堆内存,堆内存的大小是可 阅读全文
posted @ 2022-02-08 22:22 摘星丶仙 阅读(16) 评论(0) 推荐(0) 编辑
摘要:1.栈:数据结构 程序=数据结构+算法︰持续学习~ 程序=框架+业务逻辑:吃饭~ 栈:先进后出、后进先出:桶 队列:先进先出(FIFO : First Input First Output ) 喝多了吐就是栈,吃多了拉就是队列 为什么main()先执行,最后结束~ 栈:栈内存,主管程序的运行,生命周 阅读全文
posted @ 2022-02-08 20:29 摘星丶仙 阅读(10) 评论(0) 推荐(0) 编辑
摘要:package com.wang.jvm; public class Demo { public static void main(String[] args) { new Thread(()->{ },"my thread name").start(); } //native :凡是带了nativ 阅读全文
posted @ 2022-02-08 19:54 摘星丶仙 阅读(16) 评论(0) 推荐(0) 编辑
摘要:Java安全模型的核心就是Java沙箱(sandbox),什么是沙箱?沙箱是一个限制程序运行的环境。沙箱机制就是将Java代码限定在虚拟机JVM)特定的运行范围中,并且严格限制代码对本地系统资源访问,通过这样的措施来保证对代码的有效隔离,防止对本地系统造成破坏。沙箱**主要限制系统资源访问**,那系 阅读全文
posted @ 2022-02-08 19:48 摘星丶仙 阅读(111) 评论(0) 推荐(0) 编辑
摘要:类加载器 作用:加载Class文件~ 虚拟机自带的加载器 启动类(根)加载器 扩展类加载器 应用程序加载器 package com.wang.jvm; public class Car { public static void main(String[] args) { //类是模板,对象是具体的 阅读全文
posted @ 2022-02-08 19:43 摘星丶仙 阅读(18) 评论(0) 推荐(0) 编辑
摘要:![](https://img2022.cnblogs.com/blog/2694694/202202/2694694-20220208192241381-1225623301.png) ![](https://img2022.cnblogs.com/blog/2694694/202202/2694694-20220208192315675-139698693.png) ![](https://i 阅读全文
posted @ 2022-02-08 19:25 摘星丶仙 阅读(10) 评论(0) 推荐(0) 编辑
摘要:请你谈谈你对JVM的理解? https://blog.csdn.net/cxscxs123cxs/article/details/105404283 https://blog.csdn.net/jikefzz1095377498/article/details/78633109 https://ww 阅读全文
posted @ 2022-02-08 19:22 摘星丶仙 阅读(10) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示