- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
招聘面试 摩根面试准备要点(J)
摩根面试准备要点
1.JVM 架构(Vincent)
主要包括两个子系统和两个组件: Class loader(类装载器) 子系统,Execution 谢谢阅读
engine(执行引擎) 子系统;Runtime data area (运行时数据区域)组件, Native 感谢阅读
interface(本地接口)组件。
Class loader 子系统的作用 :根据给定的全限定名类名(如 java.lang.Object)来装谢谢阅读
载class 文件的内容到 Runtime data area 中的method area(方法区域) 。Javsa 程序员可精品文档放心下载
以extends java.lang.ClassLoader 类来写自己的Class loader。谢谢阅读
Execution engine 子系统 的作用 :执行 classes 中的指令 。任 何 JVM 谢谢阅读
specification 实现(JDK)的核心是Execution engine, 换句话说:Sun 的JDK 和IBM 的感谢阅读
JDK 好坏主要取决于他们各自实现的Execution engine 的好坏。每个运行中的线程都有一感谢阅读
个Execution engine 的实例。
Native interface 组件 :与native libraries 交互,是其它编程语言交互的接口。精品文档放心下载
Runtime data area 组件:这个组件就是JVM 中的内存。 下面对这个部分进行详细感谢阅读
介绍。
Runtime data area 的整体架构图
Runtime data area 主要包括五个部分:Heap (堆), Method Area(方法区域谢谢阅读
), Java Stack(java 的栈), Program Counter(程序计数器), Native method 谢谢阅读
stack(本地方法栈) 。Heap 和Method Area 是被所有线程的共享使用的;而Java 精品文档放心下载
stack, Program counter 和Native method stack 是以线程为粒度的,每个线精品文档放心下载
程独自拥有。
Heap
Java 程序在运行时创建的所有类实或数组都放在同一个堆中。而一个Java 虚拟精品文档放心下载
实例中只存在一个堆空间,因此所有线程都将共享这个堆。每一个java 程序独精品文档放心下载
占一个JVM 实例,因而每个java 程序都有它自己的堆空间,它们不会彼此干扰。谢谢阅读
但是同一java 程序的多个线程都共享着同一个堆空间,就得考虑多线程访问对谢谢阅读
象(堆数据)的同步问题。 (这里可能出现的异常
java.lang.OutOfMemoryError: Java heap space )谢谢阅读
Method area
在Java 虚拟机中,被装载的class 的信息存储在Method area 的内存中。当虚感谢阅读
拟机装载某个类型时,它使用类装载器定位相应的class 文件,然后读入这个精品文档放心下载
class 文件内容并把它传输到虚拟机中。紧接着虚拟机提取其中的类型信息,并谢谢阅读
将这些信息存储到方法区。该类型中的类(静态)变量同样也存储在方法区中。谢谢阅读
与Heap 一样,method area 是多线程共享的,因此要考虑多线程访问的同步问感谢阅读
题。比如,假设同时两个线程都企图访问一个名为Lava 的类,而这个类还没有感谢阅读
内装载入虚拟机,那么,这时应该只有一个线程去装载它,而另一个线程则只能感谢阅读
等待。 (这里可能出现的异常java.lang.OutOfMemoryError: PermGen full )谢谢阅读
Java stack
Java stack 以帧为单位保存线程的运行状态。虚拟机只会直接对Java 精品文档放心下载
stack 执行两种操作:以帧为单位的压栈或出栈。每当线程调用一个方法的时候,谢谢阅读
就对当前状态作为一个帧保存到java stack 中(压栈);当一个方法调用返回时,精品文档放心下载
从java stack 弹出一个帧(出栈) 。栈的大小是有一定的限制,这个可能出现精品文档放心下载
StackOverFlow 问题。 下面的程序可以说明这个问题。精品文档放心下载
public class TestStackOverF
您可能关注的文档
最近下载
- 小学教育学-第十一章--学校咨询与辅导-适用于黄济主编《小学教育学》.pptx VIP
- 小学教育学-第十三章-教育法-适用于黄济主编《小学教育学》.pptx VIP
- 小学教育学-第十二章-教育测验与评价-适用于黄济主编《小学教育学》.pptx VIP
- 小企业财务会计制度及核算办法小微企业会计制度.pdf VIP
- 小企业财务会计制度及核算办法.docx VIP
- 小学教育学-第八章-教学-适用于黄济主编《小学教育学》.pptx VIP
- 小学教育学-第九章-课外活动-适用于黄济主编《小学教育学》.ppt VIP
- 沪教版四年级上正推和逆推教及练习.doc VIP
- TGDACM-中医技术规范 温通拨筋罐疗法治疗颈椎病编制说明.docx VIP
- 阿特拉斯•科普柯 冷冻式干燥机.pdf VIP
原创力文档


文档评论(0)