你确定你了解widows文件夹的含义吗?——亲爱的内存溢出

2024-02-15 23:18

本文主要是介绍你确定你了解widows文件夹的含义吗?——亲爱的内存溢出,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

    前两天在zhjy做ysjyh这个模块功能的最后时刻,出现了一个可爱的错误:内存溢出。问题描述:模块中有个功能叫做文件备份,文件备份,自然会用到文件的打包和下载以及打包下载。在文件生成备份的时候,直接内存溢出。

对于老手,这类错误依然不是好排查的,当我看到这个错误的时候更是一头雾水,可以说我几乎不了解。不知道会有什么原因造成内存溢出,只是理论上知道有资源没有释放,但是哪里的资源没有释放、该怎么去查找这个没有释放的资源我就不清楚了。呜呜,好可怜,当时离着项目交付只有一天的时间了,而我还有一整个小模块的功能没有做。心里确实很着急。

       黄基强看到这个错误的时候首先经过断点定位到文件打包的过程中有问题。当时他很忙,顾不上我这边的排错,只是让我跟进去看看是不是打包过程中有没有流没有关闭,于是我就看那个类中的和文件打包相关的几个方法是不是有流没有关闭。哦?!好像真的有。。其实我也不太懂啦,感觉这个地方好像不需要关闭,但是它确实没有关闭。反正先关了再说。呜呜,悲剧。直接死掉了,打包过程直接被我切断了,事实证明,和流没有关闭是没有关系的。那些所谓的没有关闭的流是有其不关闭的意义。。。

       经过简单的奋斗,我也没明白怎么回事,怀着一颗受伤的心,下班回家了。。。

       第二天,黄基强再次看我的内存溢出,在内存溢出之前有打包成功的(解释:备份材料会同时打包多个,在内存溢出时候打包成功了部分)文件,于是他打开这个成功的zip包,进去一看,唔?!怎么文件名都一样?啊?!因为上传文件的时候,只是测试嘛,就随便上传,上传了一堆一样的文件啊。。。这个。。。汗呀。。。

       这时候,黄基强无语加无奈呀!

       请问,你知道为什么内存溢出了吗?

        请你看你的文件夹里会有同名的文件吗?不会的!而我却给了同一个文件夹下相同的文件名。当文件打包的时候读到相同名的文件的时候不知道读到哪里了,不停的读,结果就内存溢出了。看来要真正理解windows文件夹的概念还是不能只停留在理论上呀。

这篇关于你确定你了解widows文件夹的含义吗?——亲爱的内存溢出的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/712833

相关文章

Golang基于内存的键值存储缓存库go-cache

《Golang基于内存的键值存储缓存库go-cache》go-cache是一个内存中的key:valuestore/cache库,适用于单机应用程序,本文主要介绍了Golang基于内存的键值存储缓存库... 目录文档安装方法示例1示例2使用注意点优点缺点go-cache 和 Redis 缓存对比1)功能特性

Go使用pprof进行CPU,内存和阻塞情况分析

《Go使用pprof进行CPU,内存和阻塞情况分析》Go语言提供了强大的pprof工具,用于分析CPU、内存、Goroutine阻塞等性能问题,帮助开发者优化程序,提高运行效率,下面我们就来深入了解下... 目录1. pprof 介绍2. 快速上手:启用 pprof3. CPU Profiling:分析 C

linux如何复制文件夹并重命名

《linux如何复制文件夹并重命名》在Linux系统中,复制文件夹并重命名可以通过使用“cp”和“mv”命令来实现,使用“cp-r”命令可以递归复制整个文件夹及其子文件夹和文件,而使用“mv”命令可以... 目录linux复制文件夹并重命名我们需要使用“cp”命令来复制文件夹我们还可以结合使用“mv”命令总

Python重命名文件并移动到对应文件夹

《Python重命名文件并移动到对应文件夹》在日常的文件管理和处理过程中,我们可能会遇到需要将文件整理到不同文件夹中的需求,下面我们就来看看如何使用Python实现重命名文件并移动到对应文件夹吧... 目录检查并删除空文件夹1. 基本需求2. 实现代码解析3. 代码解释4. 代码执行结果5. 总结方法补充在

golang内存对齐的项目实践

《golang内存对齐的项目实践》本文主要介绍了golang内存对齐的项目实践,内存对齐不仅有助于提高内存访问效率,还确保了与硬件接口的兼容性,是Go语言编程中不可忽视的重要优化手段,下面就来介绍一下... 目录一、结构体中的字段顺序与内存对齐二、内存对齐的原理与规则三、调整结构体字段顺序优化内存对齐四、内

Linux内存泄露的原因排查和解决方案(内存管理方法)

《Linux内存泄露的原因排查和解决方案(内存管理方法)》文章主要介绍了运维团队在Linux处理LB服务内存暴涨、内存报警问题的过程,从发现问题、排查原因到制定解决方案,并从中学习了Linux内存管理... 目录一、问题二、排查过程三、解决方案四、内存管理方法1)linux内存寻址2)Linux分页机制3)

Java循环创建对象内存溢出的解决方法

《Java循环创建对象内存溢出的解决方法》在Java中,如果在循环中不当地创建大量对象而不及时释放内存,很容易导致内存溢出(OutOfMemoryError),所以本文给大家介绍了Java循环创建对象... 目录问题1. 解决方案2. 示例代码2.1 原始版本(可能导致内存溢出)2.2 修改后的版本问题在

大数据小内存排序问题如何巧妙解决

《大数据小内存排序问题如何巧妙解决》文章介绍了大数据小内存排序的三种方法:数据库排序、分治法和位图法,数据库排序简单但速度慢,对设备要求高;分治法高效但实现复杂;位图法可读性差,但存储空间受限... 目录三种方法:方法概要数据库排序(http://www.chinasem.cn对数据库设备要求较高)分治法(常

Redis多种内存淘汰策略及配置技巧分享

《Redis多种内存淘汰策略及配置技巧分享》本文介绍了Redis内存满时的淘汰机制,包括内存淘汰机制的概念,Redis提供的8种淘汰策略(如noeviction、volatile-lru等)及其适用场... 目录前言一、什么是 Redis 的内存淘汰机制?二、Redis 内存淘汰策略1. pythonnoe

Python脚本实现自动删除C盘临时文件夹

《Python脚本实现自动删除C盘临时文件夹》在日常使用电脑的过程中,临时文件夹往往会积累大量的无用数据,占用宝贵的磁盘空间,下面我们就来看看Python如何通过脚本实现自动删除C盘临时文件夹吧... 目录一、准备工作二、python脚本编写三、脚本解析四、运行脚本五、案例演示六、注意事项七、总结在日常使用