jvm
文章平均质量分 84
IT瓜哥-杨得朝
多年JavaWeb开发,K8S,大数据开发10+年经验,具有多个大型项目实战经验。擅长分布式系统,微服务系统架构与设计,尤其对海量日志收集和存储非常熟悉,熟悉大数据云计算相关技术,参与过docker,mesos,marathon,elasticsearch、rbbitMq,springCloud,hadoop,spark,hibv,hase等相关技术系统开发和架构设计,此外对分布式对象存储ceph等相关数据有所涉猎。
展开
-
JVM 虚拟机字节码指令表
大家好,我是瓜哥。最近在研究多线程中volicate关键字及其运行原理过程当中,需要对代码运行过程中底层原理进行分析,需要将源代码翻译为机器指令,所以收集以下字节码指令,供大家一起学习提高。volatile 是 Java 虚拟机提供的轻量级的同步机制保证可见性 禁止指令排序 不保证原子性字节码 助记符 指令含义 0x00 nop None 0x01 aconst_null 将null推送至栈顶 0x02 iconst_m1 将int型原创 2022-01-15 12:24:26 · 221 阅读 · 0 评论 -
JVM 运行时内存(二)
Java 堆从 GC 的角度还可以细分为: 新生代( Eden 区 、 From Survivor 区 和 To Survivor 区 )和老年代。1.新生代是用来存放新生的对象。一般占据堆的1/3空间。由于频繁创建对象,所以新生代会频繁触发MinorGC 进行垃圾回收。新生代又分为 Eden 区、ServivorFrom、ServivorTo 三个区。1.1、Eden 区Java新对象的出生地(如果新创建的对象占用内存很大,则直接分配到老年代)。当Eden区内存不够的时候就会触发M原创 2021-01-22 16:57:11 · 112 阅读 · 0 评论 -
JVM 内存区域构成(一)
最近一直忙着做项目,对于基础知识已经好久没有总结了,今天花点时间对一些工作当中用不到,但是还是很有必要掌握的理论知识进行总结。一、思维导图二、基本概念1、JVM 内存区域主要分为线程私有区域【程序计数器、虚拟机栈、本地方法区】、线程共享区域【JAVA 堆、方法区】、直接内存。2、线程私有数据区域生命周期与线程相同, 依赖用户线程的启动/结束 而创建/销毁(在 HotspotVM 内, 每个线程都与操作系统的本地线程直接映射, 因此这部分内存区域的存/否跟随本地线程的生/死对应)。.原创 2021-01-22 14:06:32 · 240 阅读 · 0 评论