JVM
文章平均质量分 96
冰凌其
这个作者很懒,什么都没留下…
展开
-
JDK8-废弃永久代(PermGen)迎来元空间(Metaspace)
1.背景2.为什么废弃永久代(PermGen)3.深入理解元空间(Metaspace)4.总结========正文分割线=====一、背景1.1 永久代(PermGen)在哪里?根据,hotspot jvm结构如下(虚拟机栈和本地方法栈合一起了):上图引自网络,但有个问题:方法区和heap堆都是线程共享的内存区域。关于方法区和永久代:在HotSpot J...原创 2018-07-23 11:09:08 · 173 阅读 · 0 评论 -
JVM系列 :Java类加载器classLoader(一)了解加载过程
1、什么是类的加载类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的Class对象,Class对象封装了类在方法区内的数据结构,并且向Java程序员提供了访问方法区内的数据结构的接口。(对于加载时机不清楚的可以看这篇文章:https...原创 2018-07-19 18:48:17 · 622 阅读 · 0 评论 -
java中类加载classLoader时机(啥时间开始的?)
java虚拟机规范虽然没有强制性约束在什么时候开始类加载过程,但是对于类的初始化,虚拟机规范则严格规定了几种情况必须立即对类进行初始化,如果类没有进行过初始化,则需要先触发其初始化。在触发初始化是会有加载和连接(验证,准备,解析)阶段(不懂的看这个文章:https://blog.csdn.net/xiao1_1bing/article/details/81120787)。生成这几种最常见的jav...原创 2018-07-20 23:22:25 · 3551 阅读 · 1 评论 -
JVM系列 :Java类加载器classLoader(二)了解加载器
继续接着上一篇的:https://blog.csdn.net/xiao1_1bing/article/details/811207871、类加载器寻找类加载器,先来一个小例子public class ClassLoaderTest { public static void main(String[] args) { ClassLoader loader = ...原创 2018-07-21 20:55:12 · 230 阅读 · 0 评论 -
JVM系列:内存结构
JVM内存结构所有的Java开发人员可能会遇到这样的困惑?我该为堆内存设置多大空间呢?OutOfMemoryError的异常到底涉及到运行时数据的哪块区域?该怎么解决呢?其实如果你经常解决服务器性能问题,那么这些问题就会变的非常常见,了解JVM内存也是为了服务器出现性能问题的时候可以快速的了解那块的内存区域出现问题,以便于快速的解决生产故障。先看一张图,这张图能很清晰的说明JVM内存结构布...原创 2018-07-23 00:04:44 · 149 阅读 · 0 评论