JVM

作者: junwu_123 | 来源:发表于2017-08-10 14:37 被阅读0次

纯粹是个人学习总结,如有不对的地方请吐槽。

java虚拟机

在操作静态变量方法的时候会先初始化该类

在操作常量时不需要初始化该类,会在编译时将常量放到常量池中。

垃圾回收:

会先标记该对象是否可以回收,然后再遍历判断是否执行finalize()方法

如果需要执行finalize()方法就会调用finalize()方法,但是回收时不会等到finalize()执行完成再回收。

并且finalize()只执行一次

判断finalize()执行的条件:是否重写finalize()方法

对象耍流氓

@Override
protected void finalize() throws Throwable {
    super.finalize();
    System.out.println("嗯,已经执行了finalize()方法了");
    Test.self = this;
}

private static void save() throws Exception {
    self = null;
    System.gc();
    //Finalizer线程优先级比较低,我们稍等一小会
    Thread.sleep(500);
    if (self != null) {
        System.out.println("我还活着~你咬我啊~");
    } else {
        System.out.println("啊哦,我挂了~");
    }
}

打印结果:

嗯,已经执行了finalize()方法了
我还活着你咬我啊
啊哦,我挂了~

我们看到,同样是执行save方法,第一次对象成功拯救了自己,第二次却无法拯救自己,finalize方法也仅仅只被执行了一次而已!
如有雷同并且你介意请联系我

相关文章

  • 深入JVM内核 目录

    深入JVM内核 目录 深入JVM内核1 初识JVM深入JVM内核2 JVM运行机制深入JVM内核3 常用JVM配置...

  • JVM内存模型(jvm 入门篇)

    概述 jvm 入门篇,想要学习jvm,必须先得了解JVM内存模型,JVM内存模型,JVM内存模型,JVM内存模型,...

  • Jvm(一)-Java虚拟机的内存管理

    [toc] JVM JVM回顾 1. 什么是 JVM JVM是Java Virtual Machine(Java虚...

  • JVM介绍系列文章

    知晓JVM系列(一):对JVM总览知晓JVM系列(二):JVM内存管理机制与优化初探知晓JVM系列(三) :常用的...

  • 科普

    1.JVM/JRE/JDK关系JVM

  • JVM

    JVM之内存模型JVM之对象定位与访问JVM之Java垃圾回收机制JVM之类加载

  • JVM

    栈容量由-Xss指定深入理解JVM—JVM内存模型 JVM内存模型和JVM参数的关系

  • JVM基础知识系列

    JVM基础系列 JVM知识点扫盲系列(1) JVM知识点扫盲系列(2) JVM内存的那些事 JVM类加载的那些事 ...

  • (过时、作废)android 多线程 — GC

    简单解析下JVM 先说下 JVM,虽然上篇文章在讲内存时介绍了 JVM ,但是我在这里还是以 JVM 开头,JVM...

  • 技术文章罗列

    JVM JVM知识点详解JVM初步诊断JVM内存模型 Java Api java8 stream Api讲解(上)...

网友评论

      本文标题:JVM

      本文链接:https://www.haomeiwen.com/subject/ssshrxtx.html