
Java虚拟机【JVM】
文章平均质量分 80
Java仗剑走天涯
这个作者很懒,什么都没留下…
展开
-
JVM 内存设置大小(Xms Xmx PermSize MaxPermSize 区别)
JVM 内存设置大小(Xms Xmx PermSize MaxPermSize 区别)原创 2017-10-18 20:01:05 · 2277 阅读 · 0 评论 -
java中类加载机制、类加载过程和类加载器层次
java中类加载机制、类加载过程和类加载器层次原创 2017-07-21 20:06:01 · 456 阅读 · 0 评论 -
Java 类中各成分加载顺序和内存中的存放位置
Java 类中各成分加载顺序和内存中的存放位置转载 2017-07-21 19:47:23 · 1633 阅读 · 0 评论 -
【深入Java虚拟机JVM 10】回收方法区
说明:文章所有内容均摘自《深入理解Java虚拟机:JVM高级特性与最佳实践(第二版)》很多人认为方法区(或者HotSpot虚拟机中的永久代)是没有垃圾收集的,Java虚拟机规范中确实说过可以不要求虚拟机在方法区实现垃圾收集,而且在方法区中进行垃圾收集的“性价比”一般比较低:在堆中,尤其是在新生代中,常规应用进行一次垃圾收集一般可以回收70%~95%的空间,而永久代的垃圾收集效率远低于此。...原创 2019-04-13 09:48:34 · 603 阅读 · 0 评论 -
【深入Java虚拟机JVM 09】JVM垃圾回收finalize方法--对象最有一次自我拯救
说明:文章所有内容均摘自《深入理解Java虚拟机:JVM高级特性与最佳实践(第二版)》即使在可达性分析算法中不可达的对象,也并非是“非死不可”的,这时候它们暂时处于“缓刑”阶段。要真正宣告一个对象死亡,至少要经历两次标记过程:如果对象在进行可达性分析后发现没有与GC Roots相连接的引用链,那它将会被第一次标记并且进行一次筛选,筛选的条件是此对象是否有必要执行finalize(...原创 2019-04-13 09:33:04 · 1051 阅读 · 1 评论 -
【深入Java虚拟机JVM 08】JVM四种引用-强引用、软引用、弱引用、虚引用
说明:文章所有内容均摘自《深入理解Java虚拟机:JVM高级特性与最佳实践(第二版)》无论是通过引用计数算法判断对象的引用数量,还是通过可达性分析算法判断对象的引用链是否可达,判定对象是否存活都与“引用”有关。在JDK 1.2以前Java中的引用的定义很传统:如果reference类型的数据中存储的数值代表的是另外一块内存的起始地址,就称这块内存代表着一个引用。这种定义很纯粹...原创 2019-04-13 09:21:35 · 861 阅读 · 1 评论 -
【深入Java虚拟机JVM 07】JVM如何判断对象已死
说明:文章所有内容均摘自《深入理解Java虚拟机:JVM高级特性与最佳实践(第二版)》在堆里面存放着Java世界中几乎所有的对象实例,垃圾收集器在对堆进行回收前,第一件事情就是要确定这些对象之中哪些还“存活”着,哪些已经“死去”(即不可能再被任何途径使用的对象)。1 引用计数算法很多教科书判断对象是否存活的算法是这样的:给对象中添加一个引用计数器,每当有一个地方引...原创 2019-04-11 08:34:48 · 429 阅读 · 0 评论 -
【深入Java虚拟机JVM 06】垃圾收集概述
说明:文章所有内容均摘自《深入理解Java虚拟机:JVM高级特性与最佳实践(第二版)》说起垃圾收集(Garbage Collection,GC),大部分人都把这项技术当做Java语言的伴生产物。事实上,GC的历史比Java久远,1960年诞生于MIT的Lisp是第一门真正使用内存动态分配和垃圾收集技术的语言。当Lisp还在胚胎时期时,人们就在思考GC需要完成的3件事情:哪些内存需...原创 2019-04-10 08:29:55 · 359 阅读 · 0 评论 -
【深入Java虚拟机JVM 05】HotSpot对象探秘
说明:文章所有内容均摘自《深入理解Java虚拟机:JVM高级特性与最佳实践(第二版)》介绍完Java虚拟机的运行时数据区之后,我们大致知道了虚拟机内存的概况,读者了解了内存中放了些什么后,也许就会想更进一步了解这些虚拟机内存中的数据的其他细节,譬如它们是如何创建、如何布局以及如何访问的。对于这样涉及细节的问题,必须把讨论范围限定在具体的虚拟机和集中在某一个内存区域上才有意义。基于实用优先...原创 2019-03-29 13:55:38 · 408 阅读 · 1 评论 -
【深入Java虚拟机JVM 04】JVM内存溢出OutOfMemoryError异常实例
说明:文章所有内容均摘自《深入理解Java虚拟机:JVM高级特性与最佳实践(第二版)》在Java虚拟机规范的描述中,除了程序计数器外,虚拟机内存的其他几个运行时区域都有发生OutOfMemoryError(下文称OOM)异常的可能。目的有两个:通过代码验证Java虚拟机规范中描述的各个运行时区域存储的内容; 希望读者在工作中遇到实际的内存溢出异常时,能根据异常的信息快速判断是哪...原创 2019-03-29 09:35:23 · 1126 阅读 · 0 评论 -
【深入Java虚拟机JVM 03】Java内存模型
说明:文章所有内容均摘自《深入理解Java虚拟机:JVM高级特性与最佳实践(第二版)》Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人却想出来。1. 概述对于从事C、C++程序开发的开发人员来说,在内存管理领域,他们既是拥有最高权力的“皇帝”又是从事最基础工作的“劳动人民”——既拥有每一个对象的“所有权”,又担负着每一个对象生命...原创 2019-03-28 09:38:12 · 288 阅读 · 0 评论 -
【深入Java虚拟机JVM 02】常见Java虚拟机概述
目录1.1 Sun Classic/Exact VM1.2 Sun HotSpot VM1.3 Sun Mobile-Embedded VM/Meta-Circular VM1.4 BEA JRockit/IBM J9 VM1.5 Azul VM/BEA Liquid VM1.6 Apache Harmony/Google Android Dalvik VM1.7 Mi...原创 2019-03-27 14:57:18 · 1020 阅读 · 0 评论 -
【深入Java虚拟机JVM 01】Java发展与展望概述
目录1.1 概述1.2 Java技术体系1.3 Java发展史1.4 展望Java技术的未来1.4.1 模块化1.4.2 混合语言1.4.3 多核并行1.4.4 进一步丰富语法1.4.5 64位虚拟机说明:文章所有内容均摘自《深入理解Java虚拟机:JVM高级特性与最佳实践(第二版)》1.1 概述Java的优点:它拥有一门结构严谨、面向对象的编程...原创 2019-03-27 14:55:42 · 721 阅读 · 0 评论 -
【KVM系列08】使用 libvirt 迁移 QEMU/KVM 虚机和 Nova 虚机
第八章 使用 libvirt 迁移 QEMU/KVM 虚机和 Nova 虚机1. QEMU/KVM 迁移的概念1.1 迁移效率的衡量1.2 KVM 迁移的原理1.3 使用命令行的方式做动态迁移2. OpenStack Nova QEMU/KV...原创 2019-03-25 20:18:40 · 1154 阅读 · 0 评论 -
【KVM系列07】使用 libvirt 做 QEMU/KVM 快照和 Nova 实例的快照
第七章 使用 libvirt 做 QEMU/KVM 快照和 Nova 实例的快照1. QEMU/KVM 快照1.1 概念1.2 使用 virsh 实验1.3 外部快照的删除2. OpenStack 中的快照2.1 对 Nova Instance 进行快照2.2 对卷做快照...原创 2019-03-25 20:10:58 · 849 阅读 · 0 评论 -
【KVM系列06】Nova 通过 libvirt 管理 QEMU/KVM 虚机
第六章 Nova 通过 libvirt 管理 QEMU/KVM 虚机1. Libvirt 在 OpenStack 架构中的位置2. Nova 中 libvirt 的使用2.1 创建 QEMU/KVM 虚机2.2 添加 volume 到虚机 (nov...原创 2019-03-25 20:04:29 · 1309 阅读 · 0 评论 -
【KVM系列05】Libvirt 介绍
第五章 Libvirt 介绍1. Libvirt 是什么1.1 Libvirt C API1.2 Libvirt XML 定义1.3 Libvirt API 的实现1.4 Libvirt 的 Python 绑定2. QEMU/...原创 2019-03-25 19:58:12 · 3095 阅读 · 0 评论 -
【KVM系列04】KVM的I/O 设备直接分配和SR-IOV
第四章 I/O 设备直接分配和 SR-IOV1. PCI/PCI-E 设备直接分配给虚机 (PCI Pass-through)1.1 PCI/PCIe Pass-through 原理1.2 在 RedHat Linux 6 上使用 v...原创 2019-03-25 19:55:10 · 788 阅读 · 0 评论 -
【KVM系列03】KVM的I/O 全虚拟化和准虚拟化
第三章 I/O 全虚拟化和准虚拟化 1. 全虚拟化 I/O 设备1.1 原理1.2 QEMU 模拟网卡的实现1.3 RedHat Linux 6 中提供的模拟设备1.4 qemu-kvm 关于磁盘设备和网络...原创 2019-03-25 19:52:03 · 1140 阅读 · 0 评论 -
【KVM系列02】KVM的CPU 和内存虚拟化
第二章KVM的CPU 和内存虚拟化 1. 为什么需要 CPU 虚拟化1.1 基于二进制翻译的全虚拟化(Full Virtualization with Binary Translation)1.2. 超虚拟化(或者半虚拟化/操作...原创 2019-03-25 19:46:03 · 1249 阅读 · 0 评论 -
【KVM系列01】KVM简介及安装
第一章 KVM简介及安装1. KVM 介绍1.0 虚拟化简史1.1 KVM 架构2. KVM 的功能列表3. KVM 工具...原创 2019-03-25 19:31:42 · 2387 阅读 · 0 评论 -
【KVM系列文章】目录
【KVM系列01】KVM简介及安装【KVM系列02】KVM的CPU 和内存虚拟化【KVM系列03】KVM的I/O 全虚拟化和准虚拟化【KVM系列04】KVM的I/O 设备直接分配和SR-IOV【KVM系列05】Libvirt 介绍【KVM系列06】Nova 通过 libvirt 管理 QEMU/KVM 虚机【KVM系列07】使用 libvirt 做 QEMU/KVM 快照和...原创 2019-03-26 09:18:16 · 903 阅读 · 0 评论