专栏首页cwl_Java性能优化-JAVA的垃圾回收与C/C++的垃圾回收

性能优化-JAVA的垃圾回收与C/C++的垃圾回收

1、什么是垃圾回收?

程序的运行必然需要申请内存资源,无效的对象资源如果不及时处理就会一直占有内存 资源,最终将导致内存溢出,所以对内存资源的管理是非常重要了。

1.1、C/C++语言的垃圾回收

在C/C++语言中,没有自动垃圾回收机制,是通过new关键字申请内存资源,通过delete 关键字释放内存资源。

如果,程序员在某些位置没有写delete进行释放,那么申请的对象将一直占用内存资源, 最终可能会导致内存溢出。

1.2、Java语言的垃圾回收

为了让程序员更专注于代码的实现,而不用过多的考虑内存释放的问题,所以,在Java语言中,有了自动的垃圾回收机制,也就是我们熟悉的GC。

有了垃圾回收机制后,程序员只需要关心内存的申请即可,内存的释放由系统自动识别 完成。

换句话说,自动的垃圾回收的算法就会变得非常重要了,如果因为算法的不合理,导致 内存资源一直没有释放,同样也可能会导致内存溢出的。

当然,除了Java语言,C#、Python等语言也都有自动的垃圾回收机制。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • JVM性能调优-Java内存区域⽅法区

    cwl_java
  • Java基础-数组原理内存图

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明...

    cwl_java
  • 性能优化-实战:内存溢出的定位与分析

    内存溢出在实际的生产环境中经常会遇到,比如,不断的将数据写入到一个集合中,出现了死循环,读取超大的文件等等,都可能会造成内存溢出。

    cwl_java
  • Chrome 浏览器垃圾回收机制与内存泄漏分析

    JavaScript 引擎会通过向下移动 ESP(记录当前执行状态的指针) 来销毁该函数保存在栈中的执行上下文。

    winty
  • jvm内存分配及对象创建和回收过程

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    suveng
  • 详解Linux内核内存管理架构

    内存管理子系统可能是linux内核中最为复杂的一个子系统,其支持的功能需求众多,如页面映射、页面分配、页面回收、页面交换、冷热页面、紧急页面、页面碎片管理、页面...

    砸漏
  • 操作系统概念

    操作系统就是位于计算机用户与计算机硬件之间的一个大型程序,可以更好的管理计算机的硬件,方便计算机用户。

    用户5426759
  • Android | App内存优化 之 内存抖动解决实战

    点击堆转储按钮,(或者直接在图中选中一段图形) 工具会弹出刚刚选中的一段时间内, 内存分配情况的窗口, 阅读时,可以点击下侧表格中右上...

    凌川江雪
  • Win3内存管理之私有内存跟共享内存的申请与释放

      通过上一篇文章.我们理解了虚拟内存与物理内存的区别. 那么我们有API事专门申请虚拟内存与物理内存的.

    IBinary
  • Java内存故障?只是因为你不够帅!

    从小我就对Java有着深厚的感情,算下来有几十年的Java经验了。当年的Java还是Sun公司的,我有着多年的Servlet经验,CURD经验,在现在已经被自我...

    xjjdog

扫码关注云+社区

领取腾讯云代金券