OpenJDK17-JVM源码阅读-ZGC-并发标记

1、ZGC简介 1.1 介绍 ZGC 是一款低延迟的垃圾回收器,是 Java 垃圾收集技术的最前沿,理解了 ZGC,那么便可以说理解了 java 最前沿的垃圾收集技术。 从 JDK11 中作为试验特性推出以来,ZGC 一直在不停地发展中。 从 JDK14 开始,ZGC 开始支持 Windows。 在

文件系统(九):一文看懂yaffs2文件系统原理

liwen01 2024.07.07 前言 yaffs 是专为nand flash 设计的一款文件系统,与jffs 类似,都是属于日志结构文件系统。与jffs 不同的是,yaffs 文件系统利用了nand flash 一些特有属性,所以在数据读写擦除和回收上都有较大的差异。 关于jffs2文件系统的

面试官:JVM调优,主要针对是哪一个区域?JVM内存结构是怎样的?

作为一个Java程序员,在日常的开发中,不必像C/C++程序员那样,为每一个内存的分配而操心,JVM会替我们进行自动的内存分配和回收,方便我们开发。但是一旦发生内存泄漏或者内存溢出,如果对Java内存结构不清楚,那将会是一件非常麻烦的事情!本文笔者将为大家详解Java内存结构。

Java JVM——11. 执行引擎

1.概述 执行引擎属于JVM的下层,里面包括:解释器、即时编译器、垃圾回收器。 执行引擎是Java虚拟机核心的组成部分之一。“虚拟机”是一个相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器、缓存、指令集和操作系统层面上的,而虚拟机的执行引擎则是由软件自行

以 ZGC 为例,谈一谈 JVM 是如何实现 Reference 语义的

本文基于 OpenJDK17 进行讨论 1. Reference 相关概念及其应用场景总览 Reference(引用)是 JVM 中非常核心且重要的一个概念,垃圾回收器判断一个对象存活与否都是围绕着这个 Reference 来的,JVM 将 Reference 又细分为几种具体的引用类型,它们分别是

进程间通信

进程间通信 1.什么是通信 数据传输:一个进程需要将自己的数据传输给另一个进程 资源共享:多个进程同时共享一个资源 进程事件:一个进程向一组(或一个)进程通知某一事件,如:子进程结束要通知父进程来回收资源 进程控制:有些进程需要知道另一个进程的状态,控制拦截另一个进程陷入异常等,如:gdb调试 2.

【操作系统】内存管理概述

目录内存管理硬件结构早期内存的使用方法分段分页逻辑地址,线性地址(intel架构)虚拟地址物理地址结构图虚拟地址到物理地址的转换内存管理总览系统调用vm_area_struct缺页中断伙伴系统slab分配器页面回收反向映射KSMhuge page页迁移内存规整OOM内存管理的一些数据结构线性映射st

揭露 FileSystem 引起的线上 JVM 内存溢出问题

作者:来自 vivo 互联网大数据团队-Ye Jidong 本文主要介绍了由FileSystem类引起的一次线上内存泄漏导致内存溢出的问题分析解决全过程。 内存泄漏定义(memory leak):一个不再被程序使用的对象或变量还在内存中占有存储空间,JVM不能正常回收改对象或者变量。一次内存泄漏似乎

[转帖]IPMItool 简单介绍

IPMItool是一个用于管理和配置,支持智能平台管理接口(IPMI)1.5版和2.0版规范的设备的实用程序。 IPMI是一个开放的标准,监控,记录,回收,库存和硬件实现独立于主CPU,BIOS,以及操作系统的控制权。 服务处理器(或底板管理控制器,BMC)的背后是平台管理的大脑,其主要目的是处理自

[转帖]一次艰难的内存泄露排查

https://www.jianshu.com/p/d0dff28a4cce 一次艰难的内存泄露排查 现象 2019.4.26 22:00左右,通过jstat -gcutil pid 5000 ,发现fgc次数很多而且频繁,此时老年代占比已经大约70%左右,且已经回收不了内存,我们这边设置的fgc阈

[转帖]初步探索GraalVM——云原生时代JVM黑科技

https://baijiahao.baidu.com/s?id=1749705890892955339&wfr=spider&for=pc 1 云原生时代Java语言的困境 经过多年的演进,Java语言的功能和性能都在不断的发展和提高,诸如即时编译器、垃圾回收器等系统都能体现Java语言的优秀,但

[转帖]玩火的容器内存控制 CGroup - 容器基础拾遗 Part 1

https://www.modb.pro/db/555818 引 我们在谈容器内存时,到底在谈什么? CGroup 内存说明 强制回收内存 memory.force_empty 基于内存阈值水位的通知 不要 OOM Kill,只是暂停 memory.stat memory.usage_in_byte

[转帖]Redis 4.0 自动内存碎片整理(Active Defrag)源码分析

阅读本文前建议先阅读此篇博客: Redis源码从哪里读起 Redis 4.0 版本增加了许多不错的新功能,其中自动内存碎片整理功能 activedefrag 肯定是非常诱人的一个,这让 Redis 集群回收内存碎片相比 Redis 3.0 更加优雅,便利。我们升级 Redis 4.0 后直接开启了a

[转帖]19个小细节,让你提升Java代码的运行效率

https://cloud.tencent.com/developer/article/2168091?areaSource=104001.16&traceId=zcVNsKTUApF9rNJSkcCbB 1.使用局部变量可避免在堆上分配 由于堆资源是多线程共享的,是垃圾回收器工作的主要区域,过多的

[转帖]内核参数优化

net.ipv4.tcp_timestamps= 1 #服务器时间截,默念为1 net.ipv4.tcp_tw_reuse= 1 #服务器作为客户端时起作用,开启后time_wait在一秒内回收,(两端都要开启tw_timestamps=1时才有效) net.ipv4.tcp_tw_recycle=

[转帖]开发成长之路(22)-- 不可不知的操作系统知识(2)

https://cloud.tencent.com/developer/article/1879253?areaSource=&traceId= 文章目录 知识框图 存储器管理 内存的分配和回收 程序的链接和装入 各种存储管理方式 分区分配算法 内存分区回收操作 内存回收算法 可变分区分配的优缺点

[转帖]谈 JVM 参数 GC 线程数 ParallelGCThreads 合理性设置

https://my.oschina.net/u/4090830/blog/7926038 1. ParallelGCThreads 参数含义 在讲这个参数之前,先谈谈 JVM 垃圾回收 (GC) 算法的两个优化标的:吞吐量和停顿时长。JVM 会使用特定的 GC 收集线程,当 GC 开始的时候,GC

[转帖]JVM 参数

https://www.cnblogs.com/xiaojiesir/p/15636100.html 我们可以在启动 Java 命令时指定不同的 JVM 参数,让 JVM 调整自己的运行状态和行为,内存管理和垃圾回收的 GC 算法,添加和处理调试和诊断信息等等。 JVM参数选项 类型一:标准参数选项

[转帖]Linux性能调优之内存负载调优的一些笔记

https://zhuanlan.zhihu.com/p/548770928 写在前面 整理一些Linux内存调优的笔记,分享给小伙伴 博文没有涉及的Demo,理论方法偏多,可以用作内存调优入门 博文内容涉及: Linux内存管理的基本理论 寻找内存泄露的进程 内存交换空间调优 不同方式的内存回收

【转帖】浅析经典JVM垃圾收集器-Serial/ParNew/Parallel Scavenge/Serial Old/Parallel Old/CMS/G1

https://zhuanlan.zhihu.com/p/481256418 在讲述垃圾收集器之前,我们得先知道JVM中常见的垃圾收集算法有什么,具体请参考我的这篇博文。如果说收集算法是内存回收的方法论, 那垃圾收集器就是内存回收的实践者。下面就来详细概述下Serial、ParNew、Paralle