首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
JVM
订阅
风雨如晦_
更多收藏集
微信扫码分享
微信
新浪微博
QQ
9篇文章 · 0订阅
【JVM系统学习之路】看懂方法区
方法区(Method Area) 与Java堆一样,是各个线程共享的内存区域,它用于存储已被虚拟机加载的类型信息、常量、静态变量、即时编译器编译后的代码缓存等数据。虽然《Java虚拟机规范》中把方法区描述为堆的一个逻辑部分,但是它却有一个别名叫作“非堆”(Non-Heap),目…
关于JVM堆外内存的一切
Java中的对象都是在JVM堆中分配的,其好处在于开发者不用关心对象的回收。但有利必有弊,堆内内存主要有两个缺点:1.GC是有成本的,堆中的对象数量越多,GC的开销也会越大。2.使用堆内内存进行文件、网络的IO时,JVM会使用堆外内存做一次额外的中转,也就是会多一次内存拷贝。 …
JVM万字总结
JVM即Java虚拟机,是一种抽象计算机,它有一个指令集,在运行时操作各种内存区域。虚拟机有很多种,不同厂商提供了不同实现,只要遵循虚拟机规范即可,目前我们所说的虚拟机一般指的是Hot Spot。JVM对Java语言一无所知,只知道一种特定的二进制格式,即类文件格式,我们写好的…
对象和数组并不是都是在堆上分配内存的
前段时间,一篇文章《深入分析Java的编译原理》,其中深入的介绍了Java中的javac编译和JIT编译的区别及原理。并在文中提到:JIT编译除了具有缓存的功能外,还会对代码做各种优化,比如:逃逸分析、 锁消除、 锁膨胀、 方法内联、 空值检查消除、 类型检测消除、 公共子表达…
【JVM系列4】new Object()到底占用几个字节,看完这篇就彻底明白了
前言上一篇我们分析了Java虚拟机方法执行流程及方法重载和方法重写原理,并分析了方法的调用过程及原理,Java虚拟机栈是线程私有的,没有数据安全问题,而堆相比较于Java虚拟机栈而言更为复杂,因为堆是
Java中long和double的原子性
Java中long和double的原子性
Java的堆,栈,方法区你都搞清楚了吗?
Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为程序计数器,虚拟机栈,本地方法栈,堆,方法区,程序计数器等区域。
「总结篇」别再说自己不会JVM了,看完这篇能和面试官扯上半小时(上)
一个能够运行字节码的虚拟机。 屏蔽了具体的操作系统的信息。 正是以上两点,使得Java程序具有一次编译,到处执行的特性。 从上面的图中,有两种颜色不同的区域,红色的是线程共享区域,绿色的是线程私有区域。下面我们一个一个讲清楚,不过在学习这部分的时候,最好先思考为什么会有这些区域…
JVM(二)类的主动使用与被动使用
在这个例子中,在初始化阶段,执行到private static Singleton singleton = new Singleton();时候,会执行私有构造,在私有构造中,由于counter1已经完成了初始化,即已经被赋值为1,所以count++后输出结果为2,然而coun…