首页 > 系统相关 >关于.net 和 JAVA 在内存处理(GC)设计上的差距(ChatGPT水文)

关于.net 和 JAVA 在内存处理(GC)设计上的差距(ChatGPT水文)

时间:2023-03-15 09:23:02浏览次数:44  
标签:TLAB JAVA 回收 Java GC 内存 线程 net 垃圾

我听说,java 在内存方面,有线程专用的堆空间,从而加快内存分配和回收的速度(因为没有并发的考虑?),是这样的吗? .net 有类似的技术吗?

是的,Java确实有线程专用的堆空间,即Thread Local Allocation Buffer(TLAB),用于提高多线程环境下的内存分配效率。每个线程都有自己的TLAB,这样就避免了线程之间的竞争,从而加快了内存分配的速度。对于较小的对象,Java将直接从TLAB中分配内存,而对于较大的对象,则直接从堆中分配内存。

.NET也有类似的技术,称为Thread-Local Storage(TLS)。它也可以提高多线程环境下的内存分配效率,避免了线程之间的竞争。在.NET中,每个线程都有自己的TLS,用于存储线程本地的数据。然而,与Java的TLAB不同的是,.NET的TLS主要用于存储线程本地数据,而不是用于内存分配。因此,.NET在内存分配方面没有类似Java的TLAB的优化技术。

TLAB技术参考文章:

JVM源码分析之线程局部缓存TLAB

JVM-堆中线程私有空间TLAB(Thread Local Allocation Buffer)

JAVA 在 JDK 17上,有没有关于GC方面的改进?

是的,JDK 17对于Java垃圾回收器(GC)进行了一些改进和优化。

其中一项改进是对G1垃圾回收器的并发处理能力的提升。在JDK 17中,G1垃圾回收器可以在并发模式下同时处理多个阶段,从而提高了它的吞吐量和性能。

另外,JDK 17中还提供了一种新的垃圾回收器,称为ZGC。ZGC是一种可伸缩的垃圾回收器,可以处理数百兆字节到数千兆字节的堆大小,并可以在几毫秒内暂停应用程序,以进行垃圾回收。与其他垃圾回收器不同,ZGC设计为在多核和大内存系统上运行,以提高垃圾回收的效率和吞吐量。

除此之外,JDK 17还引入了一些其他的垃圾回收器优化,例如改进了对并行垃圾回收器的对象分配的处理能力,以及通过改进代码缓存机制来降低垃圾回收的开销等等。这些优化和改进都可以提高Java的垃圾回收性能和效率。

标签:TLAB,JAVA,回收,Java,GC,内存,线程,net,垃圾
From: https://www.cnblogs.com/tansm/p/17217260.html

相关文章

  • java OSS存储文件 ofd文件格式转pdf
    javaofd文件转pdf之前有博客写了ofd与pdf文件进行相互转化,【pdf与ofd相互转化】,但是spire-pdf的jar包进行ofd转为pdf时,如果是双层ofd文件,最后转化的结果会丢失......
  • 1. 初识Kubernetes
    WhatIsK8S狭义上讲,K8S是一个应用编排器。绝大部分情况下,它被用于 编排 容器化 的云原生微服务应用。具体的,它可以实现:自动化部署应用按需对应用进行扩容或缩容应......
  • Kubernetes组件介绍
    一、APIserver1、APIServer是Kubernetes集群的网关,是能够与etcd通信惟一入口(1)kube-controller-manager、kube-scheduler、kubelet、kube-proxy,以及后续部署的集群插件Co......
  • Java中的基本数据类型和引用数据类型
    一、基本数据类型:byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0short:短整型,在内存中占16位,即2个字节,取值范围-32768~32767,默认值0int:整......
  • JavaWeb-QQZone项目的业务需求、数据库设计等内容
    资料来源于:B站尚硅谷JavaWeb教程(全新技术栈,全程实战),本人才疏学浅,记录笔记以供日后回顾由于是多个视频内容混合在一起,因此只放了第一个链接本文参考价值不高,自我记录......
  • Java蓝桥杯
    1、特殊回文数:123321是一个非常特殊的数,它从左边读和从右边读是一样的。输入一个正整数n,编程求所有这样的五位和六位十进制数,满足各位数字之和等于n。publicclassMa......
  • 微软出品自动化神器【Playwright+Java】系列(十二)测试框架的设计与开发
    一、前言大家好,我是六哥!又有好长一段时间没更文了,不是我懒,而是确实在更文上,没有以前积极了,这里是该自我检讨的。其实不是我不积极,而是相对更文学习来说,优先级不是最高。......
  • Visual Studio 2022 安装.NET Framework4.5及以下目标包
    VisualStudio2022不再支持.NET4.5,如果打开.Net4.8目标包或.NET4.8以下的.NET版本项目时,会提示不再支持。即使在VisualStudioInstaller中也找不到.NET4.5及以下的选......
  • # 909 -「java」一维数组展开+ BFS解决 -蛇梯棋- 最短步进次数 的详细思路
    Tags:中等数组BFSjava 题目链接:909.蛇梯棋 注意事项[题目中的坑]:【"S形"的概念】:题目开头举例的N*N的数组,其内标示的1~N²数字,指代的是......
  • Conversion of Continuous-Valued Deep Networks to Efficient Event-Driven Networks
    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布!  Frontiersinneuroscience,2017,11:682 Abstract脉冲神经网络(SNN)可能提供一种有效的推理方式,因......