fFee-ops's Blog
Stack.peek()和Stack.pop() Stack.peek()和Stack.pop()
Stack.peek() peek()函数返回栈顶的元素,但不弹出该栈顶元素。 Stack.pop() pop()函数返回栈顶的元素,并且将该栈顶元素出栈。
2020-09-27
垃圾回收相关算法 垃圾回收相关算法
垃圾回收相关算法 垃圾标记阶段的算法之引用计数算法 小结 垃圾标记阶段的算法之可达性分析算法 对象的finalization机制 垃圾清除阶段算法之标记–清除算法 垃圾清除阶段算法之复制算法 垃圾清除阶段算法之标记-压缩(整理)算
垃圾回收概述 垃圾回收概述
垃圾回收概述 什么是垃圾 为什么要GC Java的垃圾回收机制 什么是垃圾垃圾是指在运行程序中没有任何指针指向的对象,这个对象就是需要被回收的垃圾。 为什么要GC 对于高级语言来说,如果不进行垃圾回收,内存迟早都会被消耗完因为不断地分
StringTable StringTable
StringTable String的基本特性 String的内存分配 String基本操作 字符串拼接操作 intern()的使用 intern()的空间效率测试 String Table的垃圾回收 G1中的 String去重操作
执行引擎 执行引擎
执行引擎 概述 Java代码编译和执行的过程 解释器与JIT(just in time)编译器 为什么说JAVA是半编译半解释型语言? 机器码、指令、汇编语言 字节码 解释器 JIT编译器 有了JIT为什么还要保留解
直接内存 直接内存
直接内存 直接内存是在JAVA堆外,直接向系统申请的内存区间。 来源于NIO,通过存在堆中的 DirectByteBuffer操作 Native内存 通常,访问直接内存的速度会优于Java堆。即读写性能高。因此出于性能考虑,读写频
对象的实例化、内存布局与访问定位 对象的实例化、内存布局与访问定位
对象的实例化、内存布局与访问定位 对象的实例化 对于上图中“创建对象的步骤”详细的解释 对象的内存布局 对象的访问定位 JVM是如何通过栈帧中的对象引用访问到其内部的对象实例的 对象的实例化 对于上图中“创建对象的步骤”详
方法区(下) 方法区(下)
方法区(下) 方法区使用举例 方法区的演进细节 永久代为什么要被元空间取代 String Table为什么要调整 方法区的垃圾收集 总结 方法区使用举例public class MethodAreaDemo { publ
方法区(上) 方法区(上)
方法区(上) 栈、堆、方法区的交互关系 方法区的理解 元空间和永久代的区别 设置方法区大小与OOM 设置方法区大小 如何解决OOM 方法区的内部结构 存储的东西 常量池和运行时常量池 为什么需要常量池? 运行时常量池
堆是分配对象存储的唯一选择吗? 堆是分配对象存储的唯一选择吗?
🍟 逃逸分析 举例 参数设置 逃逸分析之代码优化 栈上分配 同步省略 分离对象/标量替换 逃逸分析小结 在Java虚拟机中,对象是在Java堆中分配内存的,这是一个普遍的常识。但是,有种特殊情况,那就是如果经过 逃逸分析
堆(下) 堆(下)
堆(下) Minor GC、Major GC与Full GC 最简单的分代式GC策略的触发条件 堆空间分代思想 内存分配策略 为对象分配内存:TLAB TLAB再说明 TLAB分配过程 小结堆空间的参数设置 Minor G
56 / 71