![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM面试
无香菜不欢
多读书,少说话
到点睡觉,按时吃饭。
展开
-
JVM之内存结构图文详解
JVM内存结构 java虚拟机在执行程序的过程中会将内存划分为不同的数据区域,看一下下图。 第一,JVM分为五个区域:虚拟机栈、本地方法栈、方法区、堆、程序计数器。PS:大家不要排斥英语,此处用英文记忆反而更容易理解。 第二,JVM五个区中虚拟机栈、本地方法栈、程序计数器为线程私有,方法区和堆为线程共享区。图中已经用颜色区分,绿色表示“通行”,橘黄色表示停一停(需等待)。 第三,...转载 2019-11-04 12:44:00 · 194 阅读 · 0 评论 -
String,StringBuffer和StringBuild 区别
String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全) String 1、Stirng是对象不是基本数据类型 2、String是final类,不能被继承。是不可变对象,一旦创建,就不能修改它的值。 3、对于已经存在的Stirng对象,修改它的值,就是重新创建一个对象,然后将新值赋予这个对象StringBuf...原创 2019-10-24 23:07:41 · 772 阅读 · 3 评论 -
JVM 内存管理
1)JVM 内存划分: 答: 方法区(线程共享):各个线程共享的一个区域,用于存储虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。虽然 Java 虚拟机规范把方法区描述为堆的一个逻辑部分,但是它却又一个别名叫做 Non-Heap(非堆),目的应该是与 Java 堆区分开来。 运行时常量池:是方法区的一部分,用于存放编译器生成的各种字面量和符号引用。 堆内存...转载 2019-10-22 23:29:21 · 76 阅读 · 0 评论