JVM类加载

类只有被加载到JVM后才能运行,这个加载的过程是由类加载器完成的,由ClassLoader和它的子类来实现。

类加载的实质是把类文件从硬盘读取到内存中。

类加载的分类

  1. 显式加载:直接调用class.forName()来创建对象
  2. 隐式加载:使用new来创建对象,会隐式的调用类加载器

类加载的特性

  1. 通过全限定名定义二进制字节流
  2. 字节流的静态存储结构转化为方法区运行时的数据结构
  3. 在内存中生产java.lang.Class, 作为方法区对这个类的访问入口
  4. 动态的, 并不会一次性对所有类进行加载;除了基础类外,其他类仅在需要时才运行。