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

jvm面试题

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

jvm面试题

# 一、JVM基础知识 ## 1.详解JVM内存结构 >- 程序计数器:当前线程所执行的字节码的行号指示器,用于记录正在执行的虚拟机字节指令地址,线程私有;
>- Java虚拟栈:存放基本数据类型、对象的引用、方法出口等,线程私有;
>- 本地方法栈:和虚拟栈相似,只不过它服务于Native方法,线程私有;
>- Java堆:java内存最大的一块,所有对象实例、数组都存放在java堆,GC回收的地方,线程共享;
>- 方法区:存放已被加载的类信息、常量、静态变量、即时编译器编译后的代码数据等。(即永久带),回收目标主要是常量池的回收和类型的卸载,各线程共享;
>- 直接内存:这部分内存不是Java虚拟机规范中定义的内存区域。不受Java堆大小的限制,但是也可能导致OOM的产生;(可以不用说) ## 2.谈一谈Java的内存模型(JMM) Java的内存模型就是一种符合内存模型规范的,屏蔽各种硬件和操作系统的访问差异的,保证了Java程序在各种平台下对内存的访问都能保证效果一致的机制及规范。 Java内存模型规定了所有的变量都存储在主内存中,每条线程拥有自己独立的工作内存,线程的工作内存中保存了该线程中使用到的变量的主内存副本拷贝,线程对变量的所有操作都必须在工作内存中进行,而不能直接读写主内存。不同的线程之间也无法直接访问对方工作内存中的变量,线程间变量的传递均需要自己的工作内存和主存之间进行数据同步。 关于主内存与工作内存之间具体的交互协议
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/571580.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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