
JVM
文章平均质量分 82
VI仔爱学习
这个作者很懒,什么都没留下…
展开
-
JVM内存模型与JMM
JVM是JAVA虚拟机,JMM是JAVA内存模型。JVM内存模型JVM内存模型主要指运行时的数据区,包括5个部分线程私有:栈也就方法栈,是线程私有的,线程在执行每个方法时都会同时创建一个栈帧,用来存储局部变量表、操作栈、动态链接、方法出口等信息。调用方法时执行入栈,方法返回时执行出栈。本地方法栈与栈类似,也是用来保存线程执行方法时的信息,不同的是,执行java方法使用栈,而执行native方法使用本地方法栈。程序计数器保存着当前线程所执行的字节码位置,每个线程工作时都有一个独立的计数器。程序计原创 2022-04-24 17:33:59 · 624 阅读 · 0 评论 -
JDK9为何要将String的底层实现由char[]改成了byte[]
如果你不是 Java8 的钉子户,你应该早就发现了:String 类的源码已经由 char[] 优化为了 byte[] 来存储字符串内容,为什么要这样做呢?开门见山地说,从 char[] 到 byte[],最主要的目的是为了节省字符串占用的内存 。内存占用减少带来的另外一个好处,就是 GC 次数也会减少。一、为什么要优化 String 节省内存空间我们使用 jmap -histo:live pid | head -n 10 命令就可以查看到堆内对象示例的统计信息、查看 ClassLoader 的信息以转载 2022-04-18 18:31:33 · 242 阅读 · 0 评论 -
JAVA双亲委派机制
类加载器引导类加载器(Bootstrap ClassLoader):负责加载支撑JVM运行的位于JRE的lib目录下的核心类库,比如 rt.jar、charsets.jar等扩展类加载器(Extension ClassLoader):负责加载支撑JVM运行的位于JRE的lib目录下的ext扩展目录中的JAR 类包应用程序类加载器(Application ClassLoader):负责加载ClassPath路径下的类包,主要就是加载你自己写的那些类自定义加载器(Costom Class原创 2021-10-22 10:17:53 · 210 阅读 · 0 评论