
JVM(Java虚拟机)
文章平均质量分 95
Java虚拟机(JVM)是一种抽象计算模型,它在软件层面模拟了一个计算机,允许开发者编写平台无关的程序。Java程序被编译成一种中间表示——字节码(Bytecode),然后由 JVM 解释执行或通过即时编译器(JIT)转换为本地机器码运行。
热带鱼Tech
这个作者很懒,什么都没留下…
展开
-
Java 入门指南:JVM(Java虚拟机)垃圾回收机制 —— 新一代垃圾回收器 ZGC 收集器
ZGC(Z Garbage Collector) 是一种低延迟、可伸缩性强的垃圾回收器,是JVM 中的一项重要技术。ZGC的目标是 尽可能地减少垃圾回收对应用程序的停顿时间,并且可以处理大内存堆 。它于Java 11版本中正式发布,适用于大内存低延迟服务的内存管理和回收,在 128G 的大堆下,最大停顿时间为 1.68 ms,停顿时间远胜于 G1 和 CMS。原创 2024-09-18 18:04:15 · 1327 阅读 · 0 评论 -
Java 入门指南:JVM(Java虚拟机)垃圾回收机制 —— 垃圾收集器
如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。Java 垃圾收集器(Garbage Collector, GC)是 Java 虚拟机(JVM)的一部分,它自动管理内存,回收不再使用的对象所占用的内存空间。这有助于防止内存泄漏,并且使得开发人员可以更专注于业务逻辑的编写而不是内存管理。原创 2024-09-17 23:36:10 · 1794 阅读 · 0 评论 -
Java 入门指南:JVM(Java虚拟机)垃圾回收机制 —— 垃圾回收算法
垃圾收集算法(Garbage Collection Algorithm) 是一种自动内存管理机制,用于在程序运行时自动识别和回收不再使用的对象,以释放内存空间和提升系统性能原创 2024-09-17 21:35:24 · 1390 阅读 · 0 评论 -
Java 入门指南:JVM(Java虚拟机)垃圾回收机制 —— 死亡对象判断方法
堆中几乎放着所有的对象实例,对堆垃圾回收前的第一步就是要判断哪些对象已经死亡(即不能再被任何途径使用的对象)原创 2024-09-16 23:00:45 · 1551 阅读 · 0 评论 -
Java 入门指南:JVM(Java虚拟机)垃圾回收机制 —— 内存分配和回收规则
垃圾回收(Garbage Collection,GC),顾名思义就是释放垃圾占用的空间,当需要排查各种内存溢出问题、当垃圾收集成为系统达到更高并发的瓶颈时,我们就需要对这些“自动化”的技术实施必要的监控和调节。有效的使用可以使用的内存,对内存堆中已经死亡的或者长时间没有使用的对象进行清除和回收。原创 2024-09-16 22:32:41 · 1610 阅读 · 0 评论 -
Java 入门指南:JVM(Java虚拟机)—— 双亲委派模型(Parent Delegation Model)
双亲委派模型(Parent Delegation Model)是 Java 类加载机制中的一个核心概念,它用于组织和管理 Java 类加载器的工作方式。在Java中,类加载器负责将 .class 文件加载到内存中,并通过双亲委派模型来保证类的加载过程具有一定的安全性和统一性。原创 2024-09-15 23:57:29 · 1585 阅读 · 0 评论 -
Java 入门指南:JVM(Java虚拟机)—— Java 类加载器详解
类加载器(Class Loader)是 Java 虚拟机(JVM)的一部分,它的作用是将类的字节码文件(.class 文件)从磁盘或其他来源加载到 JVM 中。类加载器负责查找和加载类的字节码文件,并将其转化为 Class 对象。原创 2024-09-15 23:34:41 · 1943 阅读 · 0 评论 -
Java 入门指南:JVM(Java虚拟机)——类的生命周期与加载过程
类从被加载到虚拟机内存中开始到卸载出内存为止,它的整个生命周期可以简单概括为 7 个阶段:加载、验证、准备、解析、初始化、使用和卸载。其中,验证、准备和解析这三个阶段可以统称为连接。的生命周期除去使用和卸载,就是 Java 的类加载过程。这 5 个阶段一般是顺序发生的,但在动态绑定的情况下,解析阶段发生在初始化阶段之后。系统加载 Class 类型的文件主要三步:加载->连接->初始化。连接过程又可分为三步:验证->准备->解析。原创 2024-09-15 22:06:47 · 1747 阅读 · 0 评论 -
Java 入门指南:JVM(Java虚拟机)—— Java 类文件结构
在 Java 中,JVM 可以理解的代码是字节码(即扩展名为 .class 的文件),它不面向任何特定的处理器,只面向虚拟机。Java 语言通过字节码的方式,在一定程度上解决了传统解释型语言执行效率低的问题,同时又保留了解释型语言可移植的特点。.class 文件是不同的语言在 Java 虚拟机之间的重要桥梁,同时也是支持 Java 跨平台很重要的一个原因。根据 Java 虚拟机规范,Class 文件通过 ClassFile 定义,有点类似 C 语言的结构体。原创 2024-09-09 17:38:43 · 1235 阅读 · 0 评论 -
Java 入门指南:JVM(Java虚拟机)—— HotSpot 处理 Java 堆中的对象
HotSpot 是 Sun Microsystems(现为 Oracle Corporation 的一部分)开发的一款高性能的 Java 虚拟机(JVM)实现。它是当前最流行的 Java 虚拟机之一,广泛应用于各种 Java 应用程序中。HotSpot 虚拟机在 Java 堆中对象的分配、布局和访问是一个高度优化的过程。通过动态编译和内存管理技术,HotSpot 能够有效地管理对象的生命周期,提高 Java 应用程序的性能。原创 2024-09-09 12:09:55 · 2144 阅读 · 0 评论 -
Java 入门指南:JVM(Java虚拟机)—— Java 内存运行时的数据区域
对于 Java 程序员来说,在虚拟机自动内存管理机制下,不再需要像 C/C++程序开发程序员这样为每一个 new 操作去写对应的 delete/free 操作,不容易出现内存泄漏和内存溢出问题。由于程序员把内存控制权利交给 Java 虚拟机,一旦出现内存泄漏和溢出方面的问题,若不了解虚拟机是怎样使用内存的,排查错误将会是一个非常艰巨的任务。原创 2024-09-08 21:47:33 · 1881 阅读 · 0 评论 -
Java 入门指南:初识 JVM Java虚拟机(Java Virtual Machine)
Java虚拟机(JVM)是一种抽象计算模型,它在软件层面模拟了一个计算机,允许开发者编写平台无关的程序。Java程序被编译成一种中间表示——字节码(Bytecode),然后由 JVM 解释执行或通过即时编译器(JIT)转换为本地机器码运行。这一特性使得Java应用可以在任何安装了JVM 的操作系统上运行,真正实现了“一次编写,到处运行”的目标。原创 2024-09-08 21:09:57 · 1137 阅读 · 0 评论