[自用][Java入门]Java程序运行机制

Java程序运行机制

语言的编译型和解释型

  • 编译型:在程序运行之前进行编译,将程序翻译成机器语言。
  • 解释型:在程序运行时将程序翻译成机器语言。

Java程序运行过程

[自用][Java入门]Java程序运行机制

类加载器(classLoader)

类的装载由类加载器与它的子类实现。

启动类加载器(Bootstrap classLoader)

通过C++编写,无法通过程序得到,主要负责加载Java中的一些核心类库。

扩展类加载器(Extension classLoader)

Bootstrap classLoader 的子类,主要负责加载Java中的一些扩展类。

系统类加载器(System classLoader)

Extension class Loader 的子类,主要用于加载自己编写的类。

用户自定义类加载器

实现classLoader类即可,需满足三大特性,其余则根据自身需求编写。

三大特性

  • 委托性:每个类都有自己的类加载器的属性,当一个类加载器需要加载一个类时,它会委托自己的父类加载器进行加载,父类加载器无法加载时才会自己加载,即自顶向下加载。
  • 可见性:子类加载器可以利用父类加载器加载的类,反过来就不行。
  • 单一性:类只会被加载一次。
    [自用][Java入门]Java程序运行机制

总结

总结不来,菜鸡自用,辅助记忆,有错则改