上一页 1 ··· 54 55 56 57 58 59 60 61 62 ··· 92 下一页
摘要: 15 - 垃圾回收相关算法 1 - 标记阶段:引用计数算法 垃圾标记阶段:对象存活判断 在堆里存放着几乎所有的 Java 对象实例,在 GC 执行垃圾回收之前,首先需要区分出内存中哪些是存活对象,哪些是已经死亡的对象。只有被标记为己经死亡的对象, GC 才会在执行垃圾回收时,释放掉其所占用的内存空间 阅读全文
posted @ 2020-07-30 17:13 流星<。)#)))≦ 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 14 - 垃圾回收概述 1 - 什么是垃圾 垃圾收集,不是 Java 语言的伴生产物。早在 1960 年,第一门开始使用内存动态分配和垃圾收集技术的 Lisp 语言诞生 关于垃圾收集有三个经典问题 哪些内存需要回收? 什么时候回收? 如何回收? 垃圾收集机制是 Java 的招牌能力,极大地提高了开发 阅读全文
posted @ 2020-07-30 17:12 流星<。)#)))≦ 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 13 - String Table 1 - String 的基本特性 String :字符串,使用一对 "" 引起来表示。 String s1 = "atgigu";//字面量的定义方式 String s2 = new String("hello"); String 声明为 final,不可被继承 阅读全文
posted @ 2020-07-30 17:01 流星<。)#)))≦ 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 12 - 执行引擎 1 - 执行引擎概述 执行引擎概述 执行引擎是 Java 虚拟机核心的组成部分之一。 “虚拟机”是一个相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器、缓存、指令集和操作系统层面上的,而虚拟机的执行引擎则是由软件自行实现的,因此可以不 阅读全文
posted @ 2020-07-30 17:00 流星<。)#)))≦ 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 11 - 直接内存 直接内存概述 不是虚拟机运行时数据区的一部分,也不是《 Java 虚拟机规范》中定义的内存区域。 直接内存是在 Java 堆外的、直接向系统申请的内存区间 来源于 NIO ,通过存在堆中的 DirectByteBuffer 操作 Native 内存 通常,访问直接内存的速度会优于 阅读全文
posted @ 2020-07-30 16:58 流星<。)#)))≦ 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 10 - 对象的实例化内存布局与访问定位 1 - 对象的实例化 创建对象的步骤 判断对象对应的类是否加载、链接、初始化 虚拟机遇到一条 new 指令,首先去检査这个指令的参数能否在 Metaspace 的常量池中定位到一个类的符号引用,并且检査这个符号引用代表的类是否已经被加载、解析和初始化。(即判 阅读全文
posted @ 2020-07-30 16:56 流星<。)#)))≦ 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 09 - 方法区 1 - 栈、堆、方法区的交互关系 运行时数据区结构图 从线程共享与否的角度来看 栈、堆、方法区的交互关系 2 - 方法区的理解 官方文档 方法区在哪里? 《Java 虚拟机规范》中明确说明:“尽管所有的方法区在逻辑上是属于堆的一部分,但一些简单的实现可能不会选择去进行垃圾收集或者进 阅读全文
posted @ 2020-07-30 16:55 流星<。)#)))≦ 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 08 - 堆 1 - 堆的核心概述 一个 JVM 实例对应一个进程,运行时数据区中的方法区和堆是进程所有的,程序计数器、本地方法栈和虚拟机栈是线程所有的 一个 JVM 实例只存在一个堆内存,堆也是 Java 内存管理的核心区域。 Java 堆区在 JVM 启动的时候即被创建,其空间大小也就确定了。是 阅读全文
posted @ 2020-07-30 16:54 流星<。)#)))≦ 阅读(328) 评论(0) 推荐(1) 编辑
摘要: 07 - 本地方法栈 Java 虚拟机栈用于管理 Java 方法的调用,而本地方法栈用于管理本地方法的调用。 本地方法栈,也是线程私有的。 允许被实现成固定或者是可动态扩展的内存大小。(在内存溢出方面是相同的) 如果线程请求分配的栈容量超过本地方法栈允许的最大容量,Java 虚拟机将会抛出一个 St 阅读全文
posted @ 2020-07-30 16:51 流星<。)#)))≦ 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 06 - 本地方法接口 什么是本地方法? 简单地讲,一个 Native Method 就是一个 Java 调用非 Java 代码的接口。一个Native Method 是这样一个 Java 方法:该方法的实现由非 Java 语言实现,比如 C 。这个特征并非 Java 所特有,很多其它的编程语言都有 阅读全文
posted @ 2020-07-30 16:50 流星<。)#)))≦ 阅读(264) 评论(0) 推荐(0) 编辑
上一页 1 ··· 54 55 56 57 58 59 60 61 62 ··· 92 下一页