技术栈
垃圾回收
练习时长两年半的程序员小胡
8 天前
java
·
jvm
·
算法
·
垃圾回收
JVM 垃圾回收机制全景解析:从对象回收到收集算法
在 JVM 的运行时数据区中,堆内存是垃圾回收的核心战场 —— 这里存储着几乎所有的对象实例,而随着程序的运行,无用对象会不断堆积,若不及时清理,最终会导致内存溢出(OOM)。垃圾回收(Garbage Collection,GC)机制通过自动识别并回收无用对象的内存,解决了手动管理内存的繁琐与风险(如内存泄漏、野指针)。本文将系统剖析垃圾回收的基础流程:从如何判定对象 “已死”,到核心回收算法的实现原理,为理解垃圾收集器的工作机制奠定基础。
笠码
9 天前
java
·
开发语言
·
jvm
·
垃圾回收
JVM Java虚拟机
Java中JDK是Java开发工具包(写Java代码/编译代码,需要用到的内容)JRE是Java运行时环境(是运行Java程序需要的内容)
不想写bug呀
12 天前
java
·
jvm
·
垃圾回收
垃圾回收介绍
目录一、为什么需要垃圾回收二、GC回收区域1、堆内存2、堆内存按对象存活特征分为新生代和老年代,两者的回收策略完全不同。
vivo互联网技术
3 个月前
后端
·
系统优化
·
java8
·
垃圾回收
Full GC 频率优化实战
作者:vivo 互联网服务器团队- Li Gang本文介绍了游戏业务使用MAT和GC日志等工具对 Full GC频率进行优化的过程。
codkingo
4 个月前
golang
·
垃圾回收
Go - 内存逃逸
每个函数都有自己的内存区域来存放自己的局部变量、返回地址等,这个内存区域在栈中进行分配。当函数结束时,这段内存区域会进行释放。 但有些变量,我们想在函数结束后仍然使用它,那么就要把这个变量在堆上分配,这种从“栈”上逃逸到“堆”上的现象就是内存逃逸。
JIU_WW
4 个月前
java
·
jvm
·
面试
·
java虚拟机
·
垃圾回收
JVM面试专题
目录1 JVM组成1.1 JVM由那些部分组成,运行流程是什么?1.2 什么是程序计数器?1.3 你能给我详细的介绍Java堆吗?
zzlyyds
5 个月前
java
·
jvm
·
cms
·
垃圾回收
·
g1
深入理解三色标记、CMS、G1垃圾回收器
三色标记算法是一种常见的垃圾收集的标记算法,属于根可达算法的一个分支,垃圾收集器CMS,G1在标记垃圾过程中就使用该算法
Themberfue
6 个月前
java
·
jvm
·
gc
·
垃圾回收
·
类加载器
·
双亲委派模型
·
分代收集算法
JVM ②-双亲委派模型 || 垃圾回收GC
GC 的工作过程大致可以分为两步:在 new 对象时,给对象单独添加一个引用计数器:这便是 Python 与 PHP 使用的方法,这个方法实现简单,效率高,但是目前主流的虚拟机中并没有选择这个算法来管理内存,是因为其存在某些致命的缺点。
bug丸
7 个月前
前端
·
javascript
·
垃圾回收
v8引擎垃圾回收
v8引擎负责JavaScript的执行。V8引擎具有内置的垃圾回收机制,用于自动管理内存分配和释放栈空间是小而连续的内存空间,主要用于存储局部变量和函数调用的相关信息,同时栈结构是“先进后出”的策略
跳跳的向阳花
8 个月前
jvm
·
垃圾回收
·
stringtable
·
垃圾回收器
16-03、JVM系列之:内存与垃圾回收篇(三)
MAT下载地址 JProfiler下载地址
柯349
8 个月前
java
·
jvm
·
垃圾回收
GC垃圾回收
给对象添加一个引用计数器,当一个对象被引用时,该对象的引用计数器加1,引用失效时计数器减1,如果计数器为0就标识该对象不被引用,可以被垃圾收集器回收,但是这个方法存在一个弊端,就是循环引用时,计数器不能清零,导致两个对象都不能被释放,在java中,我们使用的并不是这个方法。
暴走的锅巴
9 个月前
c#
·
gc
·
委托
·
垃圾回收
·
资源管理
·
资源释放
·
delegate
由C#委托回调想到的二三事
写在前面: 之前的过开发程中,我愈发觉得面对复杂的界面要求,最好还是用UserControl将不同模块的界面设计单独封装,以应对客户频繁地需求更改。这样做能够在面对对不同的UI要求时,动态的加载预先设计好的特定模块的UserControl,不需要用代码对界面进行复杂的控制,否则要用代码控制一个个控件的生成与显示。设计之初费力,后面维护起来比较方便。 背景介绍: 最近开发新工具,针对不同的模块的数据展示我设计了不同的布局单独封装为UserControl,放置在PanelControl中作为数据展示。为了能够
极客先躯
9 个月前
java
·
开发语言
·
jvm
·
面试
·
垃圾回收
·
jvm篇
·
高级java
高级java每日一道面试题-2024年10月22日-JVM篇-JVM堆栈概念,何时销毁对象?
如果有遗漏,评论区告诉我进行补充栈(Stack):定义:栈是Java虚拟机为每个线程分配的内存区域,用于存储线程执行时的局部变量、操作数栈、动态链接和方法返回地址等信息。
中草药z
10 个月前
java
·
jvm
·
笔记
·
java-ee
·
多线程
·
垃圾回收
·
stw
【JavaEE】JVM
🔥个人主页: 中草药🔥专栏:【Java】登神长阶 史诗般的Java成神之路Java虚拟机(JVM, Java Virtual Machine)是Java平台的核心组件,它使得Java程序可以在任何安装了JVM的平台上运行,而不需要关心底层的操作系统和硬件架构。JVM的主要职责包括加载、验证、准备、解析和执行Java字节码,以及自动管理内存。
时光飞逝的日子
10 个月前
垃圾回收
·
ld
·
保护
·
gnu链接器
·
keep
GNU链接器(LD):输入分区的垃圾回收及保护处理(KEEP命令)介绍
一个完整的编译工具链应该包含以下4个部分: (1)编译器 (2)汇编器 (3)链接器 (4)lib库 在GNU工具链中,对应的是: (1)编译器:GCC(GNU Compiler Collection,GNU编译器套件) (2)汇编器:GAS(GNU Assembler,GNU汇编器) (3)链接器:LD(GNU Linker,GNU链接器) (4)lib库:glibc(GNU C Library,GNU C 库) 本文介绍GNU链接器(LD)链接器脚本中输入分区的垃圾回收及保护处理(KEEP命令)。
小薯仔
10 个月前
.net
·
gc
·
垃圾回收
.net 之内存回收
一些基本概念如下:托管代码就是执行过程交由运行时管理的代码。 在这种情况下,相关的运行时称为公共语言运行时 (CLR),不管使用的是哪种实现(例如 Mono、.NET Framework 或 .NET Core/.NET 5+)。 CLR 负责提取托管代码、将其编译成机器代码,然后执行它。 除此之外,运行时还提供多个重要服务,例如自动内存管理、安全边界和类型安全。
PerfMan
1 年前
linux
·
开发语言
·
gc
·
ebpf
·
垃圾回收
·
procstat
基于eBPF的procstat软件追踪程序垃圾回收(GC)事件
在性能敏感的应用程序中,偶尔遇到程序无故卡顿是开发者们常见的挑战之一。这种现象可能会表现为突然的延迟、系统响应时间增加、吞吐量的下降。这类问题的根源可能是编程语言的垃圾回收(Garbage Collection,GC)导致,尤其是在内存管理上有着较高压力的情况下。 然而,识别和跟踪这些GC事件并非易事。GC发生时,程序线程会暂停执行(如Golang的Stop-the-World,Java的GC暂停),这一操作可能影响到应用的性能表现。在传统的监控方法中,很难准确捕捉到这些事件的开始与结束。为了有效应对这种
golove666
1 年前
java
·
垃圾回收
·
jvm性能调优
JVM性能调优之5种垃圾收集器
Serial GC(串行垃圾收集器)是一种单线程的垃圾回收器,主要用于小型应用或单核系统中,设计目标是简单和高效,尤其适合堆内存较小且对吞吐量要求不高的场景。Serial GC 是JVM最早期的垃圾回收器之一,虽然现在大多数场景下都被更先进的GC替代,但它在一些特定场合仍然有其用武之地。
lin-lins
1 年前
javascript
·
垃圾回收
·
事件循环
6、 垃圾回收 & 浏览器事件循环
垃圾回收,又称为:GC(garbage collection) GC 就是负责回收内存里不使用的垃圾。一般的高级语言里面会自带 GC,比如 Java、Python、JavaScript 等,也有无 GC 的语言,比如 C、C++ 等,那这种就需要手动管理内存了。