JVM
北北北北与
朝闻道,夕不甘死
展开
-
【JVM学习笔记】GC算法与垃圾收集器
3.1 概述 为什么要做GC 当需要排查各种内存溢出,、内存泄漏问题时,当垃圾回收成为系统达到更高并发量的瓶颈时,就需要对这些 “自动化” 的技术实施必要的监控和调节。 3.2 对象已死吗 在堆里面存放着 Java世界中几乎所有的对象实例,垃圾收集器在对堆进行回收前,第一件事就是确定这些对象之中哪些还【存活】着,哪些已经【死去】。 3.2.1 引用计数算法 概述:给对象添加一个引用计数器,每当有一个地方引用它时,计数器的值就加 1;当引用失效时,计数器的值就减一;任何时刻计数器为 0 的对象就是不可能再被使原创 2020-05-18 12:13:09 · 182 阅读 · 0 评论 -
【JVM学习笔记】运行时数据区域
Java 虚拟机在执行Java程序的过程会把它所管理的内存划分为若干个不同的数据区域,这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖着用户线程的启动和结束而建立和销毁。 Java 虚拟机数据区域:方法区、堆、虚拟机栈、本地方法栈、程序计数器 程序计数器 程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。 字节码解释器就是通过改变程序计数器的值来选取下一条需要执行的字节码指令,类似于cpu里面的程序计数器。 为了线程切换后能恢复原创 2020-05-15 23:38:00 · 104 阅读 · 0 评论