描述Java内存模型

Java虚拟机规范中将Java运行时数据分为:

1.程序计数器

是一个数据结构,用于保存当前正常执行的程序的内存地址。Java虚拟机的多线程就是通过线程轮流切换并分配处理器时间来实现的,为了线程切换后能恢复到正确的位置,每条线程都需要一个独立的程序计数器,互不影响,该区域为“线程私有”。

2.Java虚拟机栈

线程私有的,与线程生命周期相同,用于存储局部变量表,操作栈,方法返回值。局部变量表放着基本数据类型,还有对象的引用。

3.本地方法栈

跟虚拟机栈很像,不过它是为虚拟机使用到的Native方法服务。

4.Java堆

所有线程共享的一块内存区域,对象实例几乎都在这分配内存。

5.方法区

各个线程共享的区域,储存虚拟机加载的类信息,常量,静态变量,编译后的代码。

拓展阅读:

 Java中JVM虚拟机详解

JVM内存模型总结

Hi:
更多面试题==>点我 (很全哦)
精选文章==>点我(读读业界应用博客,面试能加分哦)
编程也能挣钱==>点我
标签: 虚拟机、线程、区域、计数器、局部变量
欢迎观看一个全栈工程师的视频,全屏体验更好^_^
笔试题


刷题


简历模板


AI算法


大数据


内推


推荐阅读:
阿里巴巴笔试面试大全
腾讯笔试面试大全
百度笔试面试大全
今日头条笔试面试大全
网易笔试面试大全
Google笔试面试大全
更多笔试面试大全