08 2021 档案

摘要:1、概述 Java虚拟机规范制定了虚拟机字节码执行引擎的概念模型,本章主要从概念模型层次来探究虚拟机的方法调用和字节码执行。 方法调用中,最核心的,是如何确定调用的方法,也就是方法的分派。 字节码执行过程中,特别重要的一点是执行上下文的切换和信息的交换处理。这需要运行时数据结构的支持,也就是运行时栈 阅读全文
posted @ 2021-08-16 13:45 Lqblalala 阅读(316) 评论(13) 推荐(0)
摘要:1、概述-什么是类加载? 将Class文件从其他地方(外存、字节流甚至是网络流中)载入内存, 并对其中数据进行校验、转换解析和初始化,最终从其中提取出能够被虚拟机使用的Java类型。 用图纸造模子,该模子能够用于生产对象。 运行时再进行类型的加载、链接和初始化虽然带来了一些性能上的影响, 但是也使得 阅读全文
posted @ 2021-08-15 13:38 Lqblalala 阅读(194) 评论(0) 推荐(0)
摘要:1、运行时数据区域 Java虚拟机会将内存区域划分为几个区域,每个区域储存不同类型的数据或承担不同的功能。 PC,堆-Java堆,栈-虚拟机栈、本地方法栈,方法区、直接内存。 当类被实例化或static方法被调用时,Class文件被加载,关于类的信息储存在方法区里(有了模子)。 虚拟机获得了类的相关 阅读全文
posted @ 2021-08-14 20:24 Lqblalala 阅读(106) 评论(0) 推荐(0)
摘要:1、如何判断对象是否要被回收 1、引用计数法 在对象中添加一个引用计数器,当有引用指向对象时,引用计数加一,引用失效时,计数减一。引用计数为0时,代表将被回收。 简单高效,但是难以解决循环引用问题。 2、可达性分析算法 “活着的”对象一定有从某个地方指向它的引用。 从一系列的GC Root开始遍历, 阅读全文
posted @ 2021-08-14 15:57 Lqblalala 阅读(135) 评论(0) 推荐(0)
摘要:概述: 规范而独立的类文件结构以及只与类文件关联的虚拟机为Java实现了平台无关性,甚至还带来了一些语言无关性。 只要将源代码编译为Class文件规定的格式,JVM就可以执行。 JVM的指令描述能力比Java更强,这使得JVM可以执行不同于Java语言特性的语言。 1、Class文件整体结构 以字节 阅读全文
posted @ 2021-08-13 23:18 Lqblalala 阅读(242) 评论(0) 推荐(0)
摘要:1、带标签的break会中断并跳出标签所指的循环; 2、带标签的continue会中断本次循环,并开始标签所指处循环的下一轮循环。 阅读全文
posted @ 2021-08-11 23:51 Lqblalala 阅读(56) 评论(0) 推荐(0)