文章分类 -  jvm

摘要:目录 1.栈中可能出现的异常 2.设置栈内存的大小 -Xss 1.栈中可能出现的异常 栈中可能出现的异常有StackOverflowError异常和OutOfMemoryError。Java虚拟机规范允许Java栈的大小可以是动态的或者是固定不变的。1.如果采用固定大小的java虚拟机栈,那每一个线 阅读全文
posted @ 2020-11-18 10:24 跃小云 阅读(402) 评论(0) 推荐(0) 编辑
摘要:目录 1. 内存中的栈与堆 2.栈的优点 1. 内存中的栈与堆 栈是运行时单位,堆是存储的单位。栈解决程序的运行问题,即程序如何执行,或者说如何处理数据。堆解决的是数据存储的问题,即数据怎么放、放在哪儿。1.每个线程在创建的时候都会创建一个虚拟机栈。栈是线程私有的。栈中存储的是一个个栈帧。一个栈帧对 阅读全文
posted @ 2020-11-18 10:21 跃小云 阅读(58) 评论(0) 推荐(0) 编辑
摘要:目录 1.程序计数器概述 2.PC寄存器理解例子 3.PC寄存器的两个面试问题 1.程序计数器概述 1.程序计数器又称为PC寄存器。英文是Program Counter Register。程序计数器是软件的概念,是对物理的PC寄存器的一种模拟。方法区,堆区存在垃圾回收机制。PC寄存器,JVM栈区,本 阅读全文
posted @ 2020-11-18 10:19 跃小云 阅读(165) 评论(0) 推荐(0) 编辑
摘要:目录 1.运行时数据区概述 2.线程 1.运行时数据区概述 1.运行时数据区包含下图所示的5个部分。方法区,堆区,程序计数器,本地方法栈,虚拟机栈。2.运行时数据区的作用:如下图,class文件被类加载子系统通过加载,链接,初始化三个步骤之后,被加载到了内存中,生成了一个大的Class对象。执行引擎 阅读全文
posted @ 2020-11-18 10:17 跃小云 阅读(57) 评论(0) 推荐(0) 编辑
摘要:录 1.两个class对象是否相等的条件 2.类加载器的引用的保存 3.类的主动使用和被动使用 1.两个class对象是否相等的条件 1.类的完整类名必须一致,包括包名。2.加载这个类的ClassLoader(指的是ClassLoader实例对象)必须相同。换句话说,在JVM中,即使两个类对象(Cl 阅读全文
posted @ 2020-11-18 10:08 跃小云 阅读(736) 评论(0) 推荐(0) 编辑
摘要:目录 1.什么是双亲委派机制? 2.双亲委派机制的优势 3.沙箱安全机制 1.什么是双亲委派机制? 双亲委派机制工作原理:(面试)1.如果一个类加载器收到了类加载请求,它并不会自己先去加载,而是把这个请求委托给父类的加载器去执行。2.如果父类的加载器还存在其父类加载器,则进一步向上委托,依次递归,请 阅读全文
posted @ 2020-11-18 10:05 跃小云 阅读(186) 评论(0) 推荐(0) 编辑
摘要:目录 1.ClassLoader类介绍 1.ClassLoader类介绍 ClassLoader是一个抽象类。除了启动类加载器,所有的类加载器都继承自ClassLoader。扩展类加载器和应用程序类加载器都是间接继承自ClassLoader。Launcher类是JVM的入口应用。扩展类加载器和应用程 阅读全文
posted @ 2020-11-18 10:03 跃小云 阅读(579) 评论(0) 推荐(0) 编辑
摘要:目录 1.类加载器分类 1.1 引导类加载器(Bootstrap ClassLoader) 1.2 扩展类加载器(Extension ClassLoader) 1.3 应用程序类加载器(AppClassLoader或者称为系统类加载器) 1.4 用户自定义类加载器(程序员自己写的) 1.类加载器分类 阅读全文
posted @ 2020-11-18 10:02 跃小云 阅读(476) 评论(0) 推荐(0) 编辑
摘要:目录 1.类加载器子系统作用 2.类加载器子系统的角色 3.类加载过程简单的例子 1.类加载器子系统作用 负责从文件系统或者网络中将Class文件加载到内存中,生成一个大的Class的对象实例。只负责加载,是否可以执行由执行引擎决定。加载的类信息存放在一块称为方法区的空间中。除了类信息之外,方法区中 阅读全文
posted @ 2020-11-18 09:48 跃小云 阅读(66) 评论(0) 推荐(0) 编辑
摘要:目录 1.JVM内存结构 1.JVM内存结构 在JVM系列的第一篇文章中已经给出了JVM内存结构的简图,下面是JVM内存结构更加详细的图。 同样,JVM的内存结构可以分为上中下3层。上层主要是类加载子系统,负责将字节码文件加载到内存中。类加载又分为具体的三个环节,加载(loading)、链接(lin 阅读全文
posted @ 2020-11-18 09:45 跃小云 阅读(77) 评论(0) 推荐(0) 编辑
摘要:目录 1.Sun Classic VM 2.Exact VM 3.Sun HotSpot(主流) 4.JRockit 5.IBM J9 6.下一代虚拟机Graal VM 1.Sun Classic VM 2.Exact VM 3.Sun HotSpot(主流) 通常所说的JVM都是指的HotSpot 阅读全文
posted @ 2020-11-18 09:43 跃小云 阅读(48) 评论(0) 推荐(0) 编辑
摘要:目录 1.JVM的整体结构 2.JAVA代码的执行流程 3.JVM的生命周期 1.JVM的整体结构 JVM整体上可以被分为3层,如下图所示,分为上中下层。(针对HotSPot虚拟机)。上层:JVM是用来解释执行字节码文件的,所以上层的入口是Class file。类装载子系统Class Loader来 阅读全文
posted @ 2020-11-17 21:49 跃小云 阅读(132) 评论(0) 推荐(0) 编辑