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

jvm常见面试题

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

jvm常见面试题

jvm 运行时数据区 1.线程私有         1.1 程序计数器(pc寄存器)

                前提条件:线程只负责干活,不负责思考跟记录

                作用:当前线程正在执行的字节码的行号

        1.2 栈

                虚拟机栈   一个方法一个栈帧

                        1.局部变量表(存放方法中的局部变量)

                        2.操作数栈(变量运行过程中数据的中转)

                        3.动态链接(运行时的多态)

                        4.出口(出栈:正常/异常)

                        ......

                本地方法栈

                        带有native方法的,java给你提供的,c语言编写的

2.线程共享         2.1 堆 - 对象的实例,字符串常量池从jdk1.7之后都是在堆里         2.2 方法区(jdk1.8之前实现方式叫永久代,jdk1.8之后实现方式叫元空间)

                元空间在电脑内存中:

                        运行时常量池(class常量池,class文件在内存中运行,最终叫运行时常量池)

                                类的信息...

                                字面量:int a = "abc"; abc就是字面量

                                引用符号:引用关系

Java对象的组成

        对象头:gc的年龄,锁的指针,引用关系

        对象实例:

        数据填充:对象必须是8字节的倍数,不够就进行填充

栈上分配:

        是不是所有的对象实例都在堆中?不是

        方法逃逸:默认开启

        变量没有逃出方法的范围

        栈上分配,将一个对象拆分为基本数据类型

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/748986.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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