栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JVM运行时数据区补充篇(总体的第九篇)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JVM运行时数据区补充篇(总体的第九篇)

上一篇文章地址:https://blog.csdn.net/weixin_46635575/article/details/122740245接下来的这篇主要是对面试相关的一些内容,如果你没必要面试题,那可以不看都可以。 一、方法区的补充 1、对象实例化的几种方式

2、对象创建的步骤

(1)判断对象对应的类是否被加载


(2)为对象分配内存





(3)处理并发安全问题

(4)初始化分配到的空间


赋默认初始化值。

(5)设置对象的对象头

(6)执行init方法进行初始化(这个是显示初始化)

这个阶段才是显示的赋值,而且还有什么静态变量快等都是赋值了。
只有上面的三个步骤都执行完了,真正意义上的一个对象才算生成了。

3、对象的内存布局


4、对象访问定位

比如编写一个对象

访问过程

访问方式

句柄访问

它的好处是内存比较固定,这样方法堆变化了,我们也不会变化。直接指针(Hotspot虚拟机使用的,显然它的效率是比较高一点的)

但是如果你堆内存发生改变的时候,也是会改变的。 二、直接内存(Direct Memory)

它不是在运行时数据区里面的jdk八的方法区落实在了元空间,而元空间就是在直接内存上面的,所以学习一下。 1、概述

复习一下NIO和IO

IO都不用讲你们都知道【它是基于字节流的,用Stream来实现】NIO就是非阻塞的【它是基于Buffer来实现的,Channel来实现】



可以以此程序来运行,然后通过任务管理器进行查看。

2、使用本地内存进行读写测试


3、直接内存OOM与内存大小设置

如果有问题是报这样的错。

可以设置大小。

最后看一下这张图

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/727759.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号