Java基础
handsomehou
这个人很懒,什么都没有留下。---不知名的小程序员
展开
-
深入理解Java虚拟机(二)Java垃圾回收看这篇就够了!
引用《深入理解Java虚拟机》书里的一句话: Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人却想出来。 概述 上一篇文章深入理解Java虚拟机(一)java运行时数据区域中,讲到程序计数器、虚拟机栈、本地方法栈的生灭都随线程的生命周期,也就是内存的分配和回收都有确定性。而Java堆和方法区都为线程共享,具有不确定性,这两个区域如何回收也是垃圾收集器所关注的。 对象已死? 在进行垃圾收集之前,首先要判断哪些对象是存活的,哪些对象需要回收。 引用计数算法.原创 2020-07-12 12:16:54 · 269 阅读 · 0 评论 -
深入理解Java虚拟机(一)java运行时数据区域
Java语言和虚拟机规范官方文档:https://docs.oracle.com/javase/specs/index.html 概述 Java虚拟机在执行程序的过程中,会把它管理的内存分为不同的数据区域。其中一些数据区域是在Java虚拟机启动时创建的,仅在Java虚拟机退出时才被销毁。有些数据区域是每个线程私有的。在创建线程时创建每个线程的数据区域,并在线程退出时销毁每个数据区域。如图所示: 程序计数器 程序计数器可以看作当前线程所执行的字节码的行号指示器。 每个线程都需要一个独立的程序计数器,各.原创 2020-05-31 17:01:30 · 201 阅读 · 1 评论