小唯的JVM探索之路
小唯工匠
我是小唯,一个在互联网行业摸爬滚打的工匠,喜欢骑行,运动,平时会分享一些技术文章和生活趣事,记得关注我呦~
展开
-
小唯的JVM探索之路02-JVM内存区域概述
JVM内存区域概述 内存划分 线程私有区域:java方法栈,本地方法栈,程序计数器。 线程共享区域:堆,方法区。(需要GC垃圾回收) JVM中各部分功能 程序计数器 它只占一小部分内存区域,可以当做当前线程执行的字节码的位置指示器;循环,判断,异常处理等都是依靠程序计数器完成的。 它保存着当前线程执行的字节码位置,每个线程工作时都有独立的计数器,只为执行Java方法服务,执行Native方法时,程序计数器为空. 虚拟机栈(java方法栈) 每个方法被执行的时候,Java虚拟机都会同步创建一个栈帧(St原创 2020-12-08 20:46:45 · 90 阅读 · 0 评论 -
小唯的JVM探索之路01-对象创建的过程
对象的创建 Java是一门面向对象的编程语言,在Java程序运行过程中无时无刻都有对象被创建出来。在语言层面上,创建对象(例如克隆、反序列化)通常仅仅是一个 new关键字而已,而在虚拟机中,对象(文中讨论的对象限于普通Java对象,不包括数组和Class对象等)的创建又是怎样一个过程呢? 流程 检测是否被加载、解析和初始化过 虚拟机遇到一条new指令,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那必须先执行相应的类加载原创 2020-12-08 20:42:55 · 76 阅读 · 0 评论