jvm
文章平均质量分 83
首席撩妹指导官
大数据码农,欢迎小伙伴们一起研究探索。
展开
-
JVM之内存泄漏问题
否则,对象修改后的哈希值与最初存储进HashSet集合中时的哈希值就不同了,在这种情况下,即使在contains方法使用该对象的当前引用作为的参数去HashSet集合中检索对象,也将返回找不到对象的结果,这也会导致无法从HashSet集合中单独删除当前对象,造成内存泄漏。单例模式,和静态集合导致内存泄露的原因类似,因为单例的静态特性,它的生命周期和JVM的生命周期一样长,所以如果单例对象如果持有外部对象的引用,那么这个外部对象也不会被回收,那么就会造成内存泄漏。隐式泄漏:一直占着内存不释放,直到执行结束;原创 2023-02-11 10:50:01 · 630 阅读 · 0 评论 -
JVM之GC日志分析与对象内存分配回收策略
对象分配的规则并不是固定的,《Java虚拟机规范》并未规定新对象的创建和存储细节,这取决于虚拟机当前使用的是哪一种垃圾收集器,以及虚拟机中与内存相关的参数的设定。原因如下: 一个比较大的对象无法放入新生代,那它自然会往老年代去放,如果老年代也放不下,那会先进行一次新生代的垃圾收集,之后尝试往新生代放,如果还是放不下,才会进行老年代的垃圾收集,之后在往老年代去放,这是一个过程,为什么需要往老年代放,但是放不下而进行新生代垃圾收集的原因,这是因为新生代垃圾收集比老年代垃圾收集更加简单,这样做可以节省性能。原创 2023-02-11 10:47:56 · 306 阅读 · 0 评论 -
JVM指令手册
是则压入 1,否则压入 0。dup2_x1 复制栈顶部两个字长的内容,然后将复制内容及原来弹出的三个字长的内容压入栈。dup2_x2 复制栈顶部两个字长的内容,然后将复制内容及原来弹出的四个字长的内容压入栈。dup_x1 复制栈顶部一个字长的内容,然后将复制内容及原来弹出的两个字长的内容压入栈。dup_x2 复制栈顶部一个字长的内容,然后将复制内容及原来弹出的三个字长的内容压入栈。if_icmpge 如果一个int类型值大于或者等于另外一个int类型值,则跳转。原创 2023-02-11 10:35:58 · 159 阅读 · 0 评论