JVM
文章平均质量分 59
2021年只是简单地了解一下。等待工作后,对JVM有更进一步的认识,并完善。
code_Floyed
这个作者很懒,什么都没留下…
展开
-
运行时数据区之堆
堆的核心概述 对一个进程而言是唯一的。一个进程对应一个JVM实例、一个JVM实例拥有一个运行时数据区,仅拥有一个堆结构,也是Java内存管理的核心区域。 Java堆区在JVM启动时便被创建,并且设定好了大小。是JVM中最大的一块内存空间(可调节)通过Java Visual JVM查看 通过 -Xms…m -Xmx…m 堆在物理上可以存在不连续的内存空间,但逻辑上应当视为连续的。 所有线程共享堆。堆还能划分为原创 2021-08-01 22:02:37 · 184 阅读 · 0 评论 -
本地方法接口
什么是本地方法? 就是一个Java调用非Java代码的接口。即本地方法(Native Method)的实现由非Java语言实现。在定义一个本地方法时,并不由Java提供实现,因为实现是由非Java语言在外部实现。作用: 融合不同的编程语言位Java所用。为什么需要本地方法? 1.与Java环境外的交互 有时候Java需要与Java环境外的环境交互【主要原因】。Java需要与一些底层系统,如操作系统或硬件交换信息的情况。本地方法便是一种提供非常简洁的接口,并且使我们无需了解.原创 2021-07-20 14:04:58 · 115 阅读 · 0 评论 -
本地方法栈
本地方法栈用于管理本地方法的调用。 生命周期:与线程一致,属线程私有。 允许被实现成固定或可动态扩展的内存大小。 具体做法:本地方法栈登记native方法,在Execution Engine 执行时加载本地方法库。当某个线程调用一个本地方法时,它就进入一个全新且不再受JVM限制的世界。 -本地方法可以通过本地接口来访问JVM的运行时数据区 -甚至可以直接使用本地处理器的寄存器 -直接从本地内存的堆中分配任意数量的内存 由于JVM规范并没有明确要求本地方法栈的使用语言、实原创 2021-07-20 14:02:11 · 760 阅读 · 0 评论 -
运行时数据区之虚拟机栈
概述 Java虚拟机栈(Java Virtual Machine Stack)。每个线程在创建时都会创建一个虚拟机栈,用来保存一个个栈帧,对应着一次次的Java方法调用。 生命周期: 虚拟机栈是每个线程私有的,因此生命周期与线程一致 作用: 管理Java程序的运行,虚拟机栈保存方法的局部变量、部分结果,并参与方法的调用和返回。 优点: 1.是一种快速有效的分配存储方式,访问速度仅次于 程序计数器 2.不存在垃圾回收机制(由于操作仅支持pop、push) 开发常见异常:原创 2021-07-15 01:09:48 · 2069 阅读 · 1 评论 -
运行时数据区之PC寄存器
运行时数据区 内部结构: 其中有些是随着虚拟机的启动而创建,随着虚拟机退出而销毁。还有一些是与线程相对应的,随着线程的开始与结束而创建或销毁。 程序计数器、虚拟机栈、本地方法栈都属于每个线程私有的 方法区、堆是属于多个线程共享 程序计数器 PC寄存器(Program Counter Register)中,寄存器存储指令相关的现场信息。 作用 1.程序计数器用来存储指向下一条指令的地址,即将要执行的指令代码。【由执行引擎读取下一条指令】 程序计数器是一个占用小的内存空间,也是运行速度原创 2021-07-15 00:55:22 · 149 阅读 · 1 评论 -
类加载器 && 双亲委派机制
类加载器 整体作用: 1.类加载器子系统负责从文件系统或者网络中加载Class文件,class文件在文件开头有特定的文件标识。 2.ClassLoader只负责class文件的加载,执行则由Execution Engine决定 3.加载的类信息存放在方法区的内存空间,除了类信息外,方法区还会存放运行时常量池的信息,可能还包括字符串字面量和数字常量 类加载过程 类加载流程图 类加载过程一:Loading 1.通过一个类的全限定名获取定义此类的二进制字节流 2.将这个字节流所原创 2021-07-12 15:21:22 · 73 阅读 · 0 评论 -
JVM的学习
java虚拟机,二进制字节码的运行环境,负载装载字节码到其内部,解释、编译为对应平台上的机器指令执行。每一条Java指令,Java虚拟机规范都有详细定义,如怎么取操作数,怎么处理操作数,处理结果放在哪里。 特点: 一次编译,到处运行 自动内存管理 自动垃圾回收功能 JVM整体结构 简略图 详细图 流程: Class files =》 类装载器子系统 == 加载到内存当中,生成CLASS类 ==》 运行时数据区 == 实例与各个分区相联系 ==》 执行引擎(解释原创 2021-07-12 15:15:27 · 50 阅读 · 0 评论