会员
周边
捐助
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
只是一名学徒
Powered by
博客园
博客园
|
首页
|
新随笔
|
联系
|
订阅
|
管理
2020年8月19日
08_堆
摘要: 1 堆的核心概述 一个 JVM 实例只存在一个堆内存,堆也是 Java 内存管理的核心区域。 Java 堆区在 JVM 启动时即被创建,其空间大小也就确定了。是 JVM 管理的最大一块空间。 堆内存的大小是可以调节的。 《Java 虚拟机规范》规定,堆可以处于物理上不连续的内存空间中,但在逻辑上它应
阅读全文
posted @ 2020-08-19 23:57 只是一名学徒
阅读(275)
评论(0)
推荐(0)
编辑
07_本地方法栈
摘要: Java 虚拟机栈用于管理 Java 方法的调用,而本地方法栈用于管理本地方法的调用。 本地方法栈也是线程私有的。 允许被实现成固定或者是可动态扩展的内存大小。(在内存溢出方面是相同的) 如果线程请求分配的栈容量超过本地方法栈允许的最大容量,Java 虚拟机将会抛出一个 StackOverflowE
阅读全文
posted @ 2020-08-19 23:47 只是一名学徒
阅读(128)
评论(0)
推荐(0)
编辑
06_本地方法接口
摘要: 什么是本地方法 简单地讲,**一个 Native Method 就是一个 Java 调用非 Java 代码的接口。**一个 Native Method 是这样一个 Java 方法:该方法的实现由非 Java 语言实现,比如 C 语言。 在定义一个 native method 时,并不提供实现体(有些
阅读全文
posted @ 2020-08-19 23:45 只是一名学徒
阅读(112)
评论(0)
推荐(0)
编辑
05_虚拟机栈
摘要: 1 虚拟机栈概述 1.1 虚拟机出现的背景 由于跨平台的设计,Java的指令都是根据栈来设计的。不同平台CPU架构不同,所以不能设计为基于寄存器的。 优点是跨平台,指令集小,编译器容易实现。缺点是性能下降,实现同样的功能需要更多的指令。 1.2 内存中的栈与堆 栈是运行时的单位,堆是存储的单位。 即
阅读全文
posted @ 2020-08-19 23:39 只是一名学徒
阅读(252)
评论(0)
推荐(0)
编辑
04_程序计数器
摘要: 1 PC Register介绍 JVM中的程序计数器(Program Counter Register)中,Register的命名源于CPU的寄存器,寄存器存储指令相关的现场信息。CPU只有把数据装载到寄存器才能够运行。 这里并非是广义上所指的物理寄存器,或许将其翻译为pc计数器(或指令计数器)会更
阅读全文
posted @ 2020-08-19 23:29 只是一名学徒
阅读(219)
评论(0)
推荐(0)
编辑
03_运行时数据区概述及线程
摘要: 内存是非常重要的系统资源,是硬盘和CPU的中间仓库及桥梁,承载着操作系统和应用程序的实时运行。JVM内存布局规定了Java在运行过程中内存申请、分配、管理的策略,保证了JVM高效稳定地运行。不同的JVM对于内存的划分方式和管理机制存在着部分差异。 Java虚拟机定义了若干种程序运行期间会使用到的运行
阅读全文
posted @ 2020-08-19 23:28 只是一名学徒
阅读(173)
评论(0)
推荐(0)
编辑
02_类加载子系统
摘要: 1 内存结构概述 2 概述类的加载器及类加载的过程 类加载子系统作用 类加载器子系统负责从文件系统或网络中加载class文件,class文件在文件的开头有特定的文件标识。 ClassLoader只负责class文件的加载,至于它是否能运行,则由Execution Engine决定。 加载的类信息被存
阅读全文
posted @ 2020-08-19 22:18 只是一名学徒
阅读(319)
评论(0)
推荐(0)
编辑
01_JVM与Java体系结构
摘要: 1 JVM的整体结构 2 Java代码执行流程 3 JVM的生命周期 虚拟机的启动 Java虚拟机的启动是通过引导类加载器(bootstrap class loader)创建一个初始类(initial class)来完成的,这个类是由虚拟机的具体实现指定的。 虚拟机的执行 一个运行中的Java虚拟机
阅读全文
posted @ 2020-08-19 21:22 只是一名学徒
阅读(328)
评论(0)
推荐(0)
编辑