(1)java虚拟机概念和结构图

摘要:
java虚拟机解构图一java虚拟机解构图二java虚拟机结构图三类加载系统---˃负责从文件系统或网络中加载class信息,存放至方法区的内存空间java堆---˃虚拟机启动时建立。java主要内存工作区域。java堆和直接内存的总和依然受限于操作系统给出的最大内存垃圾回收系统---˃java虚拟机重要组成部分。java虚拟机为每一个java线程创建pc寄存器。如果当前方法是本地方法,那么pc寄存器的值就是undefined执行引擎---˃java虚拟机的最核心组件之一,他负责执行虚拟机的字节码。

java虚拟机解构图一

(1)java虚拟机概念和结构图第1张

java虚拟机解构图二

(1)java虚拟机概念和结构图第2张

java虚拟机结构图三

(1)java虚拟机概念和结构图第3张

【1】类加载系统
--->负责从文件系统或网络中加载class信息,存放至方法区的内存空间
【2】java堆
--->虚拟机启动时建立。java主要内存工作区域。
--->存放:java对象实例。
--->所有线程共享
【3】方法区
--->存放:class信息,运行时常量池信息,字符串字面量,数字常量(class文件中常量池部分的内存映射)
【4】直接内存
--->java的NIO库允许java程序使用直接内存。
--->在java堆外的,直接向系统申请的内存空间。
--->访问直接内存的速度优于java堆。出于性能考虑,读写频繁的场合可能会考虑使用直接内存。由于直接内存在堆外,因此它的大小不会直接受限于Xmx指定的最大堆大小,但是系统内存是有限的。java堆和直接内存的总和依然受限于操作系统给出的最大内存
【5】垃圾回收系统
--->java虚拟机重要组成部分。
--->对方法区,java堆,直接内存进行回收垃圾空间。
【6】java棧
--->每一个java虚拟机线程都有一个私有的java棧。
--->一个线程的java棧在线程创建的时候被创建。
--->java棧中保存着帧信息(局部变量,方法参数)和方法调用和返回密切相关
【7】本地方法棧
--->和java棧非常相似。
--->不同在于java棧用于java的方法调用。本地方法棧用于本地方法的调用。
【8】PC寄存器
--->也是每一个线程私有的空间。java虚拟机为每一个java线程创建pc寄存器。
--->一个java线程总是在执行一个方法,这个正在被执行的方法称为当前方法。如果当前方法不是本地方法,pc寄存器就会执行当前正在被执行的指令。如果当前方法是本地方法,那么pc寄存器的值就是undefined
【9】执行引擎
--->java虚拟机的最核心组件之一,他负责执行虚拟机的字节码。

免责声明:文章转载自《(1)java虚拟机概念和结构图》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇游戏组件——总结使用 wxPython 创建“目录树”(5)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

python——多线程与线程锁

一、概念: 进程:对系统过来说,一个任务是一个进程; 线程:线程是包含在进程中。进程中,线程来工作,线程是最小的单位。一个进程可以启多个线程 二、进程和线程使用时的选择: 1.cpu密集型任务,用进程 #比如排序、计算的功能2.IO密集型任务,多线程 input Output #读写频繁,网络IO或者磁盘IO。浪费CPU比较少的用多线程3.如果需要读写也需...

JMeter常用控件二、线程组

标签(空格分隔): Jmeter ##线程组 一. 线程组 一个虚拟的用户组,用于模拟一个或多个用户的操作。 线程组定义将对您的服务器执行特定测试用例的用户池。 **名称:**线程组的名称,可以为空,填写时需要需要具备实际意义。 **注释:**线程的注释,可以为空,填写时需要具备实际意义。 在取样器错误后要执行的动作 继续:如果取样器里的执行出现错误失...

在安卓手机上通过虚拟机运行Windows XP

细数当年的桌面版Windows,似乎针对ARM架构处理器的版本并不多,笔者曾用过一段时间的Windows RT,对它流畅的操作和强大的完整版Office非常满意,然而Windows RT却因不能升级到Windows10而与UWP应用无缘。Windows RT虽被微软宣布了“死缓”,但这并不意味着你不能在ARM架构的处理器上运行桌面版Windows。相信很多...

Python3之并发(五)---线程条件(Condition)和事件(Event)

一、线程条件Condition(条件变量) 依赖锁对象(Lock,RLock),锁对象可以通过参数传入获得,或者使用自动创建的默认锁对象当多个条件变量需要共享同一个锁时,建议传入锁对象 除了带有获取到锁的锁定池,Condition还包含一个未获取到锁的等待池,等待池中的线程处于等待阻塞状态,直到锁定池中的线程调用notify()/notifyAll()通知...

操作系统: 用户级线程和内核级线程

http://www.cnblogs.com/yxzfscg/p/4758728.html 三种线程——内核线程、轻量级进程、用户线程 内核线程 内核线程就是内核的分身,一个分身可以处理一件特定事情。这在处理异步事件如异步IO时特别有用。内核线程的使用是廉价的,唯一使用的资源就是内核栈和上下文切换时保存寄存器的空间。支持多线程的内核叫做多线程内核(Mult...

VMWare DOS 文件共享

VMWare DOS 文件共享 vmware 下 DOS 不能安装vmware tools ,所以不能直接共享文件。 一种办法是用DOS的网络功能,用FTP。 另一种是用光盘,只说第二种: 步骤:1.下载VMWare dos镜像 WINISO2.安装VMWare3.VMWare新建虚拟机。选择MS-DOS。4.在新建的虚拟机中,将软盘设置成下载的DOS镜像...