JVM面试高频知识点梳理一

Java 从编码到执行过程

1、将Java文件经 javac【Java编译器】编译为 .class 文件

2、通过 classloader 将 class 文件和 Java 类库加载到JVM中

3、调用字节码解释器或者即时编译器来进行解释或编译

4、编译完之后由执行引擎进行执行

JDK 、RE 和 JVM

JDK : JRE + JAVA Development + Kit

JRE : Java Runtime Environment的简称,包含JVM 和 core lib

JVM :是Java虚拟机,只是用来执行的

双亲委派

1、原理

我们自定义的类需要实例化对象时类加载器会向上查找父类加载器是否包含它,如果不包含则继续查找上一级的父类加载器直至启动类加载器;如果直至启动类加载器还不包含则逐级向下分配实例化对象加载的权限。

 

2、作用

主要是防止核心jdk的源码被篡改,保证了代码的安全;

另外也为了防止重复加载。

3、类加载器的类别

启动类加载器【BootstrapClassLoader】:加载lib/rt.jar charset.jar等核心类,C++实现

标准扩展类加载器【ExtClassLoader】:加载扩展jar包jre/lib/ext/*.jar或由-DJava.ext.dirs指定

系统类加载器【AppClassLoader】:加载classpath 指定的内容

用户自定义类加载器【CustomClassLoader】:自定义ClassLoader

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值