028-86922220

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

什么是JVM的类加载及内存区域

这篇文章将为大家详细讲解有关什么是JVM的类加载及内存区域,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

成都创新互联公司专业为企业提供扶余网站建设、扶余做网站、扶余网站设计、扶余网站制作等企业网站建设、网页设计与制作、扶余企业网站模板建站服务,十年扶余做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

一、JVM加载类的过程

二、类加载器

种类

双亲委派机制

意思就是即优先让父ClassLoader去加载。原因是避免重复加载,保证应用的classPath下的Class对象在内存中的唯一性。

层次图

什么是JVM的类加载及内存区域

tomcat破坏双亲委派

tomcat作为java编码的web容器,本身也是在jvm中运行,怎么让基于tomcat容器的各个web应用正常运行,使得各个web应用包含的应用的class不会乱套,必须破坏双亲委派机制,为每一个web应用的class都用不同的类加载器去加载。

其中:

common、catalina、shared负责加载tomcat自己的核心类库,webApp加载web应用的class(隔离web应用引用的三方类库),jsp加载器加载JSP(每个JSP文件都对应一个Jsp类加载器,jsp加载器支持热加载,即Jsp只要修改,就重新加载一次覆盖原来的jsp)。

通过tomcat的类加载机制,可以达成以下目标:

自定义类加载器的作用

三、JVM内存区域划分

方法区(1.8之后叫metaspace-元数据空间)

存放类的元数据信息,可以理解为反射获取的Class对象的哪些信息。

程序计数器

一个程序计数器对应一个线程、一个线程对应一个栈、一个栈由一个个栈帧组成,一个方法对应一个栈帧,栈帧包含局部变量表、操作数栈、动态链接、方法出口(相当于结束方法时需要跳转的位置)。栈帧在调用方法的时候进栈,方法结束的时候出栈。

其他内存区域

图示

什么是JVM的类加载及内存区域

关于什么是JVM的类加载及内存区域就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


分享题目:什么是JVM的类加载及内存区域
标题路径:http://www.tsicrk.com/article/jocopc.html

其他资讯

让你的专属顾问为你服务

7.2946s