JVM
文章平均质量分 56
烫手的砖
开发者
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
从jvm看String(应对面试)
从jvm看String(应对面试…(一))首先String是我们开发中很常用的引用类型,同时也很重要。位置:我们在使用String的时候可以使用字面量直接使用(String a = “abc”),也可以通过new对象来创建一个String对象来使用。那这不同的使用方式他到底放在那里呢?1.通过字面量来使用字符串,jvm会先从字符串常量池中查找是否有相同的(equals),如果有就直接从常量池中返回字符串的地址,如果没有就会在常量池中创建当前字符串然后返回地址。所以这个时候我们的字符串是放在常量池中原创 2021-05-18 23:15:49 · 224 阅读 · 0 评论 -
方法区的GC回收为什么那么难
方法区的GC回收为什么那么难背景:hotspotjvm,在jdk1.7之前,方法区的回收回收方法区主要回收的是不使用的常量以及类型。如果要回收不使用的类型首先要满足这个类以及这个类的派生类的实例在堆中没有然后加载这个类的类加载器已经被回收然后这个类的class没有被任何地方引用,就是无法在任何地方使用这个类的class所以砸门方法区的回收要求是很严格的,所以方法区也会出现很多问题,导致垃圾回收的效果不是太好。做不到方法去永久代的说法。所以java8之后取消永久代也是对整个jvm的提升,原创 2021-05-18 23:00:22 · 371 阅读 · 0 评论 -
jvm学习记录二(包会)
上一章大致介绍了jvm内存模型,下来接着各区的详细内容先从最不熟悉的来,虚拟机栈。虚拟机栈都知道是运行咱们方法的,实际上他的里面放了一个一个的栈针,同时每一个线程中都会独有一份虚拟机栈的内存空间。这是为什么呢?可以想一想,如何不是每个线程独有一份,那栈里面的栈针(每一个栈针就是一个方法)谁知道是哪个线程的,jvm也不是上帝(QUQ).所以我们的jvm大佬在设计jvm的时候每一个线程都会有一根栈资源和对应的程序计数器(各自记录自己的垃圾代码执行到哪里了)。我们的每一个栈针(就是每一个java方法原创 2021-05-16 15:17:25 · 172 阅读 · 0 评论 -
jvm学习笔记
## 本文主要记录学习jvm中的要点笔记供以后参考1.jvm整体设计架构
Java体系中定义了3中类加载器,分别如下:Bootstrap ClassLoader(引导类加载器).负责加载下述3中情况下所制定的核心类库:%JAVA_HOME%/jre/lib目录 -Xbootclasspath参数所指定的目录 系统属性sun.boot.class.path指定的目录中特定名称的jar包Extension ClassLoader(扩展类加载器)加载扩展类,拓...原创 2019-04-27 09:55:05 · 594 阅读 · 0 评论
分享