jvm调优面试总结_java多线程面试题[通俗易懂]

jvm调优面试总结_java多线程面试题[通俗易懂]JVM194.说一下jvm的主要组成部分?及其作用?类加载器(ClassLoader)运行时数据区(RuntimeDataArea)执行引擎(ExecutionEngine)本地库接口(Nati

JVM

194.说一下 jvm 的主要组成部分?及其作用?

类加载器(ClassLoader)

运行时数据区(Runtime Data Area)

执行引擎(Execution Engine)

本地库接口(Native Interface)

组件的作用: 首先通过类加载器(ClassLoader)会把 Java 代码转换成字节码,运行时数据区(Runtime Data Area)再把字节码加载到内存中,而字节码文件只是 JVM 的一套指令集规范,并不能直接交个底层操作系统去执行,因此需要特定的命令解析器执行引擎(Execution Engine),将字节码翻译成底层系统指令,再交由 CPU 去执行,而这个过程中需要调用其他语言的本地库接口(Native Interface)来实现整个程序的功能。

195.说一下 jvm 运行时数据区?

程序计数器、虚拟机栈、本地方法栈、堆、方法区

有的区域随着虚拟机进程的启动而存在,有的区域则依赖用户进程的启动和结束而创建和销毁。

b2c717f0e205a71a9a875927984e979c.png

196. 说一下堆栈的区别?

1. 栈内存存储的是局部变量而堆内存存储的是实体;

2. 栈内存的更新速度要快于堆内存,因为局部变量的生命周期很短;

3. 栈内存存放的变量生命周期一旦结束就会被释放,而堆内存存放的实体会被垃圾回收机制不定时的回收。

今天的文章jvm调优面试总结_java多线程面试题[通俗易懂]分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/77525.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注