Java虚拟机
文章平均质量分 91
binxer
Looking forward
展开
-
【JVM】_x_垃圾收集算法、相关概念、回收器
JVM 垃圾收集三个经典问题:那些内存需要回收什么时候回收如何回收垃圾是指在运行程序中没有任何指针指向的对象,这个对象就是需要回收的垃圾,如果不及时对内存中的垃圾进行清理,那么这些垃圾对象所占的内存空间会一直保留到应用程序结束,被保留的对象无法被其他对象使用,甚至会导致内存溢出。为什么需要GC:释放没用的对象,如果不进行垃圾回收,内存迟早会被消耗完垃圾回收可以清理内存记录碎片,碎片整理将所有的对内存移动到堆的一端,以便将整理出来的内存分配给新的对象随着应用程序所应付的业务越来越庞大、原创 2022-03-15 15:04:26 · 182 阅读 · 0 评论 -
【JVM】_5_运行时数据区 (方法区)
5.方法区(元空间)方法区栈、堆、方法区的交互关系[外链图片转存中…(img-N1oK1W63-1611475009537)]从是否共享的角度来看[外链图片转存中…(img-62kywc2Y-1611475009543)][外链图片转存中…(img-shioVXlF-1611475009545)][外链图片转存中…(img-FB24nSHh-1611475009547)]方法区的理解《Java虚拟机规范》中说明:“尽管所有的方法区在逻辑上是属于堆的一部分,但一些简单的实现可能不会去进行垃圾原创 2021-03-27 21:28:39 · 99 阅读 · 0 评论 -
【JVM】_4_运行时数据区(堆)
堆一个JVM实例只存在一个堆内存,堆也是Java内存管理的核心区域。Java堆区在JVM启动的时候即被创建,其空间大小也确定了。是JVM管理的最大一块内存空间堆内存的大小是可调节的《Java虚拟机规范》规定,堆可以处于物理上不连续的内存空间中,但在逻辑上应该被视为连续的。所有线程共享Java堆,在这里还可以划分线程私有的缓冲区(Thread Local Allocation Buffer,TLAB)查看Java进程的工具,/jdk/bin/jvisualvm.exe《Java虚原创 2021-01-18 20:31:35 · 129 阅读 · 0 评论 -
【JVM】_3_运行时数据区(程序计数器、虚拟机栈、操作数栈、本地方法栈)
3.运行时数据区概述&程序计数器&虚拟机栈运行时数据区概述[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yQKPPBPz-1604110818019)(https://i.loli.net/2020/09/28/86T94M71fSiX35o.png)]内存是非常重要的系统资源,是硬盘和CPU的中间仓库和桥梁,承载着操作系统和应用程序的实时运行。JVM内存布局规定了Java在运行过程中内存申请、分配、管理的策略,保证了JVM的高效稳定运行。不同的JV原创 2020-11-16 16:54:27 · 1260 阅读 · 0 评论 -
【JVM】_2_类加载子系统
Java虚拟机详解-2 类加载子系统Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这个过程被称作虚拟机的类加载机制。与那些在编译时需要进行连接的语言不同,在Java语言里面,类型的加载、连接和初始化过程都是在程序运行期间完成的,这种策略让Java语言进行提前编译会面临额外的困难,也会让类加载时稍微增加一些性能开销,但是却为Java应用提供了极高的扩展性和灵活性,Java天生可以动态扩展的语言特性就是依赖运行期动原创 2020-10-31 10:10:59 · 485 阅读 · 1 评论 -
【JVM】_1_介绍
1.JVM 介绍虚拟机所谓虚拟机(Virtual Machine) 就是一台虚拟的计算机。它是一款软件,用来执行一系列虚拟计算机指令。大体上,虚拟机可以分为系统虚拟机和程序虚拟机。VMWare,Virtual Box 就属于系统虚拟机,它们是对物理计算机的仿真,提供一个可运行完整操作系统的软件平台。程序虚拟机的典型代表就是 Java 虚拟机,它专门为执行单个计算机程序而设计,在Java虚拟机中执行的指令我们成为Java字节码指令。无论是系统虚拟机还是程序虚拟机,在上面运行的软件都被限制于虚原创 2020-10-16 16:04:38 · 181 阅读 · 0 评论