![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
jvm
麦子fuke
...
展开
-
java对象的创建流程及对象的访问方式
java的对象创建流程 1.虚拟机遇到new关键字,查看能否在常量池中定位到符号的引用 2.判断类是否被加载、解析和初始化 3.为这个对象分配内存,其中java堆内存的分配方式有两种 (1)指针碰撞的方式如下如所示,将内存当做成规整的形状当创建新的对象时指针左移,增大使用的空间,左移的空间就是新对象分配的空间。 具体步骤:开辟空间、移动指针 (2)空闲列表方式,java内存基本都是不规整的片段,...原创 2020-04-03 23:28:52 · 301 阅读 · 1 评论 -
JVM运行时数据区内存分布
java运行时的数据区,主要包括五部分 1.方法区 2.java虚拟机栈 3.本地方法栈 4.堆 5.程序计数器 具体分布如下图所示 各内存介绍如下 程序计数器 在java中有多线程概念,当a线程抢占到cpu时,此时正常执行且时间片到,此时b线程抢占到cpu,如此反复当下次a线程抢占到cpu时需要知道上次执行到哪了,这时程序计数器的作用就凸显出来:记录当前代码执行的行数。程序计数器是内存中唯一一...原创 2020-04-03 22:47:59 · 156 阅读 · 0 评论