JAVA基础(九)—— 类加载过程及JVM内存模型

深入理解JVM内存模型:
https://www.jianshu.com/p/76959115d486

类加载器的种类:
①启动类加载器(Bootstrap Classloader) : 启动类加载器,用来加载 %JAVA_HOME%/jre/lib 下的, 如 rt.jar中的class文件 或者 xbootclasspath选项指定的jar包。
②扩展类加载器(Extension ClassLoader): 扩展类加载器 , 用来加载 %JAVA_HOME%/jre/ext 中的class文件 或者 -Djava.ext.dirs指定目录下的jar包。
③应用程序类加载器(Application ClassLoader):应用类加载器 , 用来加载classpath下的class文件。
④用户自定义类加载器(User Classloader) : 用户自定义类加载器,用来加载自定义内容.此加载器需要用户自己继承Classloader类。
类加载器负责加载 Java 类的字节代码到 Java 虚拟机中。一般来说,Java 虚拟机使用 Java 类的方式如下:Java 源程序(.java 文件)在经过 Java 编译器编译之后就被转换成 Java 字节代码(.class 文件)。类加载器负责读取 Java 字节代码,并转换成 java.lang.Class 类的一个实例。每个这样的实例用来表示一个 Java 类。通过此实例的 newInstance() 方法就可以创建出该类的一个对象。

JVM要运行必须要有内存,任何电脑要运行必须要有内存。
内存是用来和CPU交互的,用来临时存储计算机运行过程中出现的数据的,内存相当于高速的缓冲区。
在JVM体系中,内存模型产生并能执行它对应的功能一定是从类的加载过程开始的。
但随着CPU发展,内存的读写速度也远远赶不上CPU,因此CPU厂商在每颗CPU上加上高速缓存,用于缓解这个情况。这样做虽解决里处理器和内存的一快一慢矛盾,但引来了新问题——缓存一致性。

一个类加载到内存中的过程:
当我们启动一个Java程序时,电脑帮我们做的第一件事是将类型加载到JVM中(其实加载的是.class文件)。
加载过程→链接(验证和初始化过程)→使用→回收(gc)→卸载

类加载过程以及类被拆分以后,分别保存的位置,和为什么保存在那里。
第一

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值