上一页 1 ··· 328 329 330 331 332 333 334 335 336 ··· 376 下一页
摘要: 1. 栈、堆、方法区关系交互 运行时数据区结构图: 从线程共享与否的角度来看: 2. 方法区的理解 2.1 方法区在哪里? 《Java虚拟机规范》中明确说明:“尽管所有的方法区在逻辑上属于堆的一部分,但一些简单的实现可能不会选择去进行垃圾收集或者进行压缩。”但对于HotSpotJVM而言,方法区还有 阅读全文
posted @ 2020-07-02 19:34 秋华 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 1. 核心概述 1.1 堆概述 一个进程对应一个jvm实例,一个运行时数据区,又包含多个线程,这些线程共享了方法区和堆,每个线程包含了程序计数器、本地方法栈和虚拟机栈。 一个jvm实例只存在一个堆内存,堆也是java内存管理的核心区域 | 配置jvm及查看jvm进程 Java堆区在JVM启动的时候即 阅读全文
posted @ 2020-07-02 19:24 秋华 阅读(417) 评论(0) 推荐(0) 编辑
摘要: 1. 本地方法栈 2. 什么是本地方法栈? Java虚拟机栈用于管理Java方法的调用,而本地方法栈用于管理本地方法的调用 本地方法栈,也是线程私有的。 允许被实现成固定或者是可动态拓展的内存大小。(在内存溢出方面是相同的) | 如果线程请求分配的栈容量超过本地方法栈允许的最大容量,Java虚拟机将 阅读全文
posted @ 2020-07-02 19:19 秋华 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 2.虚拟机栈 1. 概述 1.1 虚拟机栈出现背景 由于跨平台性的设计,java的指令都是根据栈来设计的。不同平台CPU架构不同,所以不能设计为基于寄存器的。 优点是跨平台,指令集小,编译器容易实现,缺点是性能下降,实现同样的功能需要更多的指令 1.2 内存中的堆与栈 栈是运行时的单位,而堆是存储的 阅读全文
posted @ 2020-07-02 19:17 秋华 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 1.程序计数器 1. 什么是PC寄存器(程序计数器)? JVM中的程序计数寄存器(Program Counter Register)中,Register的命名源于CPU的寄存器,寄存器存储指令相关的现场信息。CPU只有把数据装载到寄存器才能够运行。JVM中的PC寄存器并不是广义上所指的物理寄存器,是 阅读全文
posted @ 2020-07-02 19:11 秋华 阅读(384) 评论(0) 推荐(0) 编辑
摘要: 1. 运行时数据区架构图 2. 内存 内存是非常重要的系统资源,是硬盘和cpu的中间仓库及桥梁,承载着操作系统和应用程序的实时运行。JVM内存布局规定了JAVA在运行过程中内存申请、分配、管理的策略,保证了JVM的高效稳定运行。不同的jvm对于内存的划分方式和管理机制存在着部分差异(对于Hotspo 阅读全文
posted @ 2020-07-02 19:10 秋华 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 3. 补充内容 3.1 在jvm中表示两个class对象是否为同一个类的两个必要条件 类的完整类名必须一致,包括包名。 加载这个类的ClassLoader(指ClassLoader实例对象)必须相同 | 换句话说,在jvm中,即使这两个类对象(class对象)来源同一个Class文件,被同一个虚拟机 阅读全文
posted @ 2020-07-02 19:02 秋华 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 2. 双亲委派机制 2.1 双亲委派机制工作原理 2.1.1 原理 Java虚拟机对class文件采用的是按需加载的方式,也就是说当需要使用该类时才会将它的class文件加载到内存,生成class对象。 加载某个类的class文件时,Java虚拟机采用的是双亲委派模式,即把请求交由父类处理,它是一种 阅读全文
posted @ 2020-07-02 19:01 秋华 阅读(360) 评论(0) 推荐(0) 编辑
摘要: 类装载器子系统 1.1 什么是类装载子系统? 类装载器子系统负责从文件系统或者网络中加载Class文件,Class文件在文件开头有特定的文件标识(魔数)。 类装载器子系统(ClassLoader)只负责Class文件的加载,至于它是否可以运行,则由Execution Engine决定。 | 你妈妈[ 阅读全文
posted @ 2020-07-02 18:59 秋华 阅读(356) 评论(0) 推荐(0) 编辑
摘要: 2.1 什么是Java虚拟机? Java虚拟机是一台执行字节码的虚拟计算机,它拥有独立的运行机制,其运行的Java字节码也未必由Java语言编译而成。 JVM平台的各种语言可以共享Java虚拟机带来的跨平台性、优秀的垃圾回收机制,以及可靠的即时编译器。 Java技术的核心就是Java虚拟机,因为所有 阅读全文
posted @ 2020-07-02 18:54 秋华 阅读(269) 评论(0) 推荐(1) 编辑
上一页 1 ··· 328 329 330 331 332 333 334 335 336 ··· 376 下一页