JAVA-类加载机制(4)-其他


1.JVM初始化步骤

  ①,如果类还没有加载连接,则虚拟机先加载并连接

  ②,父类还没有被初始化,则先初始化父类

  ③,如果类包含初始化语句,则系统依次执行这些初始化语句

2.类初始化时机

  ①,使用new创建类的实例

  ②,访问类或接口的静态变量,或者对静态变量进行赋值

  ③,调用类的静态方法

  ④,反射

  ⑤,初始化子类

  ⑥,虚拟机启动时的启动类

3.JVM结束生命周期的方式

  ①,System.exit()

  ②,程序正常执行结束

  ③,程序发生异常或者错误

  ④,操作系统异常导致的虚拟机终止运行

4.类加载的三种方式

  ①,虚拟机初始化加载

  ②,使用Class.forName()方法动态加载

  ③,使用ClassLoader.loadClass()方法动态加载

5.Class.forName和ClassLoader.loadClass区别

  ①,Class.forName在将类加载到虚拟机后,会执行static代码块

  ②,ClassLoader.loadClass在将类加载到虚拟机后,不是执行static代码块; 只要newInstance后才会执行static代码块

6.获取类加载器的方式

  ①,通过线程获取

    如:ClassLoader loader = Thread.currentThread().getContextClassLoader();

  ②,通过某个类获取

    如:ClassLoader loader = HelloWorld.class.getClassLoader();

7.自定义类加载器

  ①,继承ClassLoader

  ②,重写findClass方法

实例参考:http://www.importnew.com/23792.html

优质内容筛选与推荐>>
1、Decimal为SQL Server、MySql等数据库的一种数据类型
2、目标检测算法之Fast R-CNN算法详解
3、GridView自定义分页的四种存储过程
4、GanttApp 前传:臃肿的代码
5、java结构与算法之选择排序


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号