当前位置: 首页 > 面试题库 >

请简单描述一下JVM加载class文件的原理是什么?

包建义
2023-03-14
本文向大家介绍请简单描述一下JVM加载class文件的原理是什么?相关面试题,主要包含被问及请简单描述一下JVM加载class文件的原理是什么?时的应答技巧和注意事项,需要的朋友参考一下

考察点:JVM

JVM中类的装载是由ClassLoader和它的子类来实现的,Java ClassLoader 是一个重要的Java运行时系统组件。它负责在运行时查找和装入类文件的类。

Java中的所有类,都需要由类加载器装载到JVM中才能运行。类加载器本身也是一个类,而它的工作就是把class文件从硬盘读取到内存中。在写程序的时候,我们几乎不需要关心类的加载,因为这些都是隐式装载的,除非我们有特殊的用法,像是反射,就需要显式的加载所需要的类。

类装载方式,有两种 (1)隐式装载,程序在运行过程中当碰到通过new 等方式生成对象时,隐式调用类装载器加载对应的类到jvm中, (2)显式装载,通过class.forname()等方法,显式加载需要的类 ,隐式加载与显式加载的区别:两者本质是一样的。

Java类的加载是动态的,它并不会一次性将所有类全部加载后再运行,而是保证程序运行的基础类(像是基类)完全加载到jvm中,至于其他类,则在需要的时候才加载。这当然就是为了节省内存开销。

 类似资料:
  • 本文向大家介绍请简单描述一下类的加载过程相关面试题,主要包含被问及请简单描述一下类的加载过程时的应答技巧和注意事项,需要的朋友参考一下 考察点:JVM 如下图所示,JVM类加载机制分为五个部分:加载,验证,准备,解析,初始化,下面我们就分别来看一下这五个过程。 加载 加载是类加载过程中的一个阶段,这个阶段会在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的

  • 本文向大家介绍请简单描述一下JVM分区都有哪些?相关面试题,主要包含被问及请简单描述一下JVM分区都有哪些?时的应答技巧和注意事项,需要的朋友参考一下 考察点:JVM java内存通常被划分为5个区域:程序计数器(Program Count Register)、本地方法栈(Native Stack)、方法区(Methon Area)、栈(Stack)、堆(Heap)。

  • 本文向大家介绍简要描述下你知道的react工作原理是什么?相关面试题,主要包含被问及简要描述下你知道的react工作原理是什么?时的应答技巧和注意事项,需要的朋友参考一下 dom diff: https://zhuanlan.zhihu.com/p/20346379

  • 本文向大家介绍请说明一下springIOC原理是什么?如果你要实现IOC需要怎么做?请简单描述一下实现步骤?相关面试题,主要包含被问及请说明一下springIOC原理是什么?如果你要实现IOC需要怎么做?请简单描述一下实现步骤?时的应答技巧和注意事项,需要的朋友参考一下 考察点:spring 参考回答: ①IoC(Inversion of Control,控制倒转)。这是spring的核心,贯穿始

  • 本文向大家介绍请简述一下EJB的激活机制是什么?相关面试题,主要包含被问及请简述一下EJB的激活机制是什么?时的应答技巧和注意事项,需要的朋友参考一下 考察点:EJB 参考回答: 以Stateful Session Bean 为例:其Cache大小决定了内存中可以同时存在的Bean实例的数量,根据MRU或NRU算法,实例在激活和去激活状态之间迁移,激活机制是当客户端调用某个EJB实例业务方法时,如

  • 本文向大家介绍请简述一下Mybatis和Hibernate的区别是什么?相关面试题,主要包含被问及请简述一下Mybatis和Hibernate的区别是什么?时的应答技巧和注意事项,需要的朋友参考一下 考察点:Spring框架 参考回答: 简介 Hibernate:Hibernate是当前最流行的ORM框架之一,对JDBC提供了较为完整的封装。Hibernate的O/R Mapping实现了POJO