大家知道,托管代码一个重要的特点是自动管理内存,即我们常说的垃圾回收机制,那些高大上的理论我就不重复了,有兴趣的朋友可以翻书.我这个有个毛病——不喜欢很严肃地去说一些理论的东西,所以我不多介绍了. 一般而言,当代码执行超出某个变量的有效范围后,或者不再引用某个对象实例时,该实例会发生析构,垃圾回收器很可能就要清理门户了,当然也可能不是马上清理,也许会过一会儿再清理. 对于一些要自定义进行清理操作的类,我们会采取以下方案: 1.写上析构函数,在析构函数中清理. 2.实现IDisposable接口,…
温故而知新 SMON功能(一) SMON(system monitor process)系统监控后台进程,有时候也被叫做system cleanup process,这么叫的原因是它负责完成很多清理(cleanup)任务.但凡学习过Oracle基础知识的技术人员都会或多或少对该background process的功能有所了解. 曾几何时对SMON功能的了解程度可以作为评判一位DBA理论知识的重要因素,至今仍有很多公司在DBA面试中会问到SMON有哪些功能这样的问题.首先这是一道开放式的题目,并…
初始化和清理,是一个生命周期的起始.在java中,对象的初始化和对象的回收是怎样的呢? 在开发c++的时候,有构造器的概念.即对象的创建,首先默认调用构造器进行初始化.在java中也有“构造器”.java对象的创建与初始化是捆绑在一起的,在对对象创建的同时,对对象进行初始化设置.在编写构造方法的时候,假如不写构造方法,则会系统使用默认的无参构造方法.但是如果你自己有定义构造方法了,那系统就不会帮你做了.这里有一个小tips,在写构造方法的时候没有返回值.是“没有返回值”,而不是返回值为空.那又有…
用友云开发者中心是基于Docker容器进行微服务架构应用的落地与管理.相信各位同学在使用的过程中,会发现随着Docker镜像的增多,占用磁盘空间也约来越多.这时我们需要清理私有镜像仓库中不需要的镜像.但在实际操作时,才会发现这本以为很简单的任务中却暗藏玄机,遇到了不少的麻烦.在这里我们分享一下清理镜像仓库时遇到的坑点.想要直接寻求解决方案的同学可以直接看第二部分. 一.那些年,我们在清理镜像仓库时走过的坑 坑点1:官方提供的接口并不能真正的删除镜像 这着实是最大的坑点.很多同学查资料发现,官方已…
摘要:用了 Docker,好处挺多的,但是有一个不大不小的问题,它会一不小心占用太多磁盘,这就意味着我们必须及时清理. 作为一个有信仰的技术公司,我们Fundebug的后台采用了酷炫的全 Docker 化架构,所有服务,包括数据库都运行在 Docker 里面.这样做当然不是为了炫技,看得清楚的好处还是不少的: 所有服务器的配置都非常简单,只安装了 Docker,这样新增服务器的时候要简单很多. 可以非常方便地在服务器之间移动各种服务,下载 Docker 镜像就可以运行,不需要手动配置运行环境.…
本文转载自https://blog.fundebug.com/2018/01/10/how-to-clean-docker-disk/ , 感谢原作者. 摘要:用了Docker,好处挺多的,但是有一个不大不小的问题,它会一不小心占用太多磁盘,这就意味着我们必须及时清理. 作为一个有信仰的技术公司,我们Fundebug的后台采用了酷炫的全Docker化架构,所有服务,包括数据库都运行在Docker里面.这样做当然不是为了炫技,看得清楚的好处还是不少的: 所有服务器的配置都非常简单,只安装了Dock…
在.net 4.0中增加一个延迟加载类Lazy<T>,它的作用是实现按需延迟加载,也许很多人用过.一个典型的应用场景是这样的:当初始化某个对象时,该对象引用了一个大对象,需要创建,这个对象的创建时需要较长的时间,同时也需要在托管堆上分配较多的空间,这样可能会在初始化时变得很慢,尤其是UI应用时,会导致用户体验很差.其实狠多时候并不需要马上就获取大数据,只是在需要时获取,这种场景就很适合延迟加载了.先看看c#中Lazy<T>如何使用的吧: class LargeObject { pu…
概述 可以仅仅清理图片缓存, 也可以清理所有的缓存文件(包括图片.视频.音频等). 详细 代码下载:http://www.demodashi.com/demo/10717.html 一般我们项目中的缓存一般分为2大块:一个是自己缓存的一些数据;还有一个就是我们使用的SDWebImage这个第三方库给我们自动缓存的图片文件缓存了. 实际项目中会配合设置里去清理缓存, 效果截图如下: 一.实现功能 1.仅仅清理图片缓存 2.清理所有缓存文件 二.程序实现 1.仅仅清理图片缓存 如果你只想清理图片缓存…
不知道大家那有没有要清理的这个事情.需要清理目录历史文件.可能后续也会有很多其他地方需要清理历史文件,可能会用到. 我这两天空闲写了个脚本,清理比较方便,有要进行清理的大量历史文件的话可以用. 脚本用到的命令只有linux才有,像solaris等就不支持,所以只能在linux上运行.如果是nas存储的话,可以挂载到一个linux主机上跑脚本清理. 另外,脚本查找文件用的是ls,但是ls也有最大文件的限度(大概10w以内),如果每天文件很多,每天都是10w+的,运行可能提示文件数过多无法ls. 还…
首先说明线程中要回收哪些资源,理解清楚了这点之后在思考资源回收的问题. 1.子线程创建时从父线程copy出来的栈内存; 线程退出有多种方式,如return,pthread_exit,pthread_cancel等:线程分为可结合的(joinable)和 分离的(detached)两种,如果没有在创建线程时设置线程的属性为PTHREAD_CREATE_DETACHED,则线程默认是可结合的.可结合的线程在线程退出后不会立即释放资源,必须要调用pthread_join来显式的结束线程.分离的线程在线…