java JVM

每一个Java虚拟机都由一个类加载器子系统(class loader subsystem),负责加载程序中的类型(类和接口),并赋予唯一的名字。每一个Java虚拟机都有一个执行引擎(execution engine)负责执行被加载类中包含的指令。
数据区中的一部分是整个程序共有,其他部分被单独的线程控制。每一个Java虚拟机都包含方法区(method area)和堆(heap),他们都被整个程序共享。Java虚拟机加载并解析一个类以后,将从类文件中解析出来的信息保存与方法区中。程序执行时创建的 对象都保存在堆中。 
Java虚拟机中的类加载器分为两种:原始类加载器(primordial class loader)和类加载器对象(class loader objects)。原始类加载器是Java虚拟机实现的一部分,类加载器对象是运行中的程序的一部分。不同类加载器加载的类被不同的命名空间所分割。
像其他对象一样,类加载器对象和Class对象都保存在堆中,被加载的信息被保存在方法区中。1、加载、连接、初始化(Loading, Linking and Initialization)
类加载子系统不仅仅负责定位并加载类文件,他按照以下严格的步骤作了很多其他的事情:1)、加载:寻找并导入指定类型(类和接口)的二进制信息2)、连接:进行验证、准备和解析①验证:确保导入类型的正确性②准备:为类型分配内存并初始化为默认值③解析:将字符引用解析为直接饮用3)、初始化:调用Java代码,初始化类变量为合适的值

此图看出jvm内存结构

JVM内存结构主要包括两个子系统和两个组件。两个子系统分别是Classloader子系统和Executionengine(执行引擎)子系统;两个组件分别是Runtimedataarea(运行时数据区域)组件和Nativeinterface(本地接口)组件。

类加载机制

JVM的类加载是通过ClassLoader及其子类来完成的,类的层次关系和加载顺序可以由下图来描述:

 

 

双亲委派模型的工作过程?

1、当前 ClassLoader 首先从自己已经加载的类中,查询是否此类已经加载,如果已经加载则直接返回原来已经加载的类。    一定程度上防止自有的类被篡改

每个类加载器都有自己的加载缓存,当一个类被加载了以后就会放入缓存,等下次加载的时候就可以直接返回了。

2、当前 ClassLoader 的缓存中没有找到被加载的类的时候

委托父类加载器去加载,父类加载器采用同样的策略,首先查看自己的缓存,然后委托父类的父类去加载,一直到 bootstrap ClassLoader。
当所有的父类加载器都没有加载的时候,再由当前的类加载器加载,并将其放入它自己的缓存中,以便下次有加载请求的时候直接返回。

 

 

转载于:https://www.cnblogs.com/upward/p/11295125.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/276933.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

给Domino系统管理员的十二项建议

Domino系统管理员的日常工作就是维护Domino系统的正常运行。以下简要说明了管理员所必做的一些工作。对于系统管理员,特别是新建系统的管理员来说,这些建议能帮助他们完成基本的维护工作。 根据许多资深的Domino管理员和咨询人员的经验,我们对…

技术管理—管理书籍推荐

技术出身,考虑接触下管理方面的知识。也许管理真的适合你,角色认知角色实践角色胜任!最后爱上它! 我最喜欢的一本书--高效能人士的七个习惯 作者:史蒂芬柯维(Stephen Richards Covey) 该…

网络虚拟化有几种实现方式_停车场管理系统的防砸车功能有几种方式?如何实现?...

原标题:停车场管理系统的防砸车功能有几种方式?如何实现?前言0101正文一、压力波防砸装置也叫遇阻防砸,主要是安装遇阻返回装置,当道闸杆下落过程中接触到车辆或者行人(接触力度是可以调节的),装置道闸杆底…

aspnet中gridview文本只显示开始几个文本_软网推荐:三个小软件 轻松解决文本操作难题...

TXT文本操作在Windows操作中算是比较容易的事了,但简单的文本操作也会遇到难题。例如,对于我们反复需要使用的多个信息,如果仅靠CtrlC和CtrlV来回复制、粘贴,效率会极低;再如,对于一些软件组件中显示的文本…

刚被IBM收购的红帽,它的下一站是中国

前不久IBM斥资340亿美元收购红帽的新闻震惊了所有人,这个金额是互联网上第三大交易,也是开源史上最大交易。这个收购背后到底有哪些目的?红帽接下来会做什么?11月6日红帽在北京举办红帽论坛,向外界介绍了红帽的想法。 …

为什么onenote一直在加载_OneNote:科研笔记独一无二的无敌利器

每个人都梦想着自己有超乎常人的记忆力,拥有者过目不忘的技能,从此走向人生巅峰……然而我们都不是那样的人,在这个高速发展的数字新信息时代,进行有效的记忆,保存我们随时到来的灵感等,这就需要我们进行笔…

WPF 实现 DataGrid/ListView 分页控件

原文:WPF 实现 DataGrid/ListView 分页控件在WPF中,通常会选用DataGrid/ListView进行数据展示,如果数据量不多,可以直接一个页面显示出来。如果数据量很大,2000条数据,一次性显示在一个页面中,不仅消耗资源…

Sql Server 中汉字处理排序规则,全角半角

--1. 为数据库指定排序规则CREATEDATABASEdb COLLATE Chinese_PRC_CI_ASGOALTERDATABASEdb COLLATE Chinese_PRC_BINGO/**//**/--2. 为表中的列指定排序规则CREATETABLEtb(col1 varchar(10),col2 varchar(10) COLLATE Chinese_PRC_CI_AS)GOALTERTABLEtb ADDcol3 varchar(10) CO…

解决局域网设置固定IP后无法上网?

1.cmd中输入ipconfig /all查看ip和dns的状态 2.查看自动获取的dns是什么,然后手动设置ip和dns时,和自动获取的保持一样即可 注解:设置后还是无法上网后主要检查ip与dns是否设置错误. 转载于:https://www.cnblogs.com/yanans/p/11301061.html

鼠标输入

一、隐藏并捕捉光标 偏航角和俯仰角是通过鼠标移动获得的,水平的移动影响偏航角,竖直的移动影响俯仰角。 原理是,存储上一帧鼠标的位置,在当前帧中计算鼠标位置与上一帧的位置相差多少。如果水平/竖直差别越大,那么俯仰…

c#用canny算子做边缘提取_机器视觉学习(三)边缘检测

一、边缘检测二、边缘检测流程三、Canny边缘检测前言边缘检测是图像处理和计算机视觉中,尤其是特征提取中的一个研究领域。有许多方法用于边缘检测,它们的绝大部分可以划分为两类:基于一阶导数首先计算边缘强度, 通常用一阶导数表…

bindresult必须在哪个位置_手机视频剪辑工具哪个好?清爽视频编辑APP有人推荐吗?...

作为一个非常喜欢旅游的人,每次出门在外都喜欢发各种照片,以前发照片觉得就能够表达自己的状态和心情,但是随着时间的变化发现,身边的人都开始喜欢发视频了。此前在飞机上拍摄了一段觉得不错的天空视频,想要制作成短片…

无法访问你试图使用的功能所在的网络位置_[steam实用工具]解决无法访问商店/社区/好友列表的问题...

[steam实用工具]解决无法访问商店/社区/好友列表的问题在我们使用steam的过程中,由于某些原因,在访问商店/社区/好友列表时会被受到限制。针对这种情况,国内的大神些开发出了以下工具来解决我们访问的难题。本文章中的软件由“羽翼诚"大…

(转)用Java获得当前性能信息

(转)用Java获得当前性能信息 http://www.blogjava.net/amigoxie/archive/2008/04/30/197564.html在Java中,可以获得总的物理内存、剩余的物理内存、已使用的物理内存等信息,本例讲解如何取得这些信息,并且获得在Windows下的内存使…

docker wsl2启动不了_Docker学习笔记

在笔记本上主要还是想以轻量、方便为主,所以采用的是在WSL2中使用docker的这么一个方案。WSL2我笔记本原来是预装的是WIN10家庭版,需要先升级为专业版,并加入windows预览体验计划。更新完之后,安装WSL,我选择的是Ubunt…

网易马进:DDB从分布式数据库到结构化数据中心的架构变迁

导语: 本文根据马进老师在2018年5月10日【第九届中国数据库技术大会(DTCC)】现场演讲内容整理而成。马进 网易 DDB项目负责人来自网易杭研大数据平台组,入职以来先后参与了分布式数据库DDB,缓存NKV,网易数据运河NDC等项目&#xf…

element label动态赋值_浅析 vuerouter 源码和动态路由权限分配

背景上月立过一个 flag,看完 vue-router 的源码,可到后面逐渐发现 vue-router 的源码并不是像很多总结的文章那么容易理解,阅读过你就会发现里面的很多地方都会有多层的函数调用关系,还有大量的 this 指向问题,而且会有…

世界领先的界面设计公司:The Skins Factory

该公司的网站: http://www.theskinsfactory.com/skinsfactory/ 该公司诞生于2000年,由一群狂热的界面爱好者,带着对GUI的热情和大胆的洞察力创立。很快,皮肤工厂便成长为世界领先的、真正的、革命性界面解决方案提供商。 更多的精…

HDU 1253 胜利大逃亡 题解

胜利大逃亡 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 44540 Accepted Submission(s): 15483 Problem DescriptionIgnatius被魔王抓走了,有一天魔王出差去了,这可是Ignatius逃亡的好机会.魔王住在一个城堡…

lstm需要优化的参数_使用PyTorch手写代码从头构建LSTM,更深入的理解其工作原理...

这是一个造轮子的过程,但是从头构建LSTM能够使我们对体系结构进行更加了解,并将我们的研究带入下一个层次。LSTM单元是递归神经网络深度学习研究领域中最有趣的结构之一:它不仅使模型能够从长序列中学习,而且还为长、短期记忆创建…