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