想要去阿里面试?你必须得跨过 JVM 这道坎!( 八 )
但是在JDK 1.8以后,这块区域的名字改了,叫做“Metaspace”,可以认为是“元数据空间”这样的意思,这里当然主要其实还是存放我们自己写的各种类相关的信息。
本地方法栈
其实在JDK很多底层API里,比如IO相关的,NIO相关的,网络Socket相关的,如果大家去看他内部的源码,会发现很多地方都不是Java代码了。
很多地方都会去走native方法,去调用本地操作系统里面的一些方法,可能调用的都是c语言写的方法,或者一些底层类库,比如下面这样的:
public native int hashCode;
在调用这种native方法的时候,就会有线程对应的本地方法栈,这个里面也是跟Java虚拟机栈类似的,也是存放各种native方法的局部变量表之类的信息。
堆外内存
还有一个区域,是不属于JVM的,通过NIO中的allocateDirect这种API,可以在Java堆外分配内存空间。
然后通过Java虚拟机里的 DirectByteBuffer 来引用和操作堆外内存空间,其实很多技术都会用这种方式,因为有一些场景下,堆外内存分配可以提升性能。
推荐阅读
- 圣战群英传|DNF:最强大作战注意事项!想领2本红字书,上线后千万不要去刷图
- 狼队|AG一诺直言:击败狼队胜率仅1成,要去打卡位赛了,久诚狂笑不止
- perkz|外媒爆料perkz下赛季回LEC,阿P推特回应:老子要去DK了,就等khan兵役走人了
- 魔兽世界|搬砖指南!DNF凉凉后,老玩家回归后要去哪里搬砖?最新砖厂要收藏
- ag战队|AG超玩会2比3输给GK,大概率要去打卡位赛,望月草:月光才是最大的“卧底”
- 驾驶|LPL解说鼓鼓透露:进入联盟后被管理层“面试”8次,已经留下阴影
- LGD|每天辛苦的打完一两个号深渊,还要去打团,打活动本
- 李政宰|《鱿鱼游戏》结局剖析:456亿在手的李政宰为什么要去送死?
- 真三国无双3|敌羞不羞,吾都要去脱他衣,割草老祖《真三国无双3》经典回顾
- edg战队|EDG干碎V5,圣枪哥虐菜有一手的,宁王:EDG需要去世界赛证明自己