OC采用ARC机制,因此strong等属性也有了应用场景。当使用alloc为一个对象在堆中分配内存空间,然后让栈区使用一个强指针指向该内存地址,就能在指针被自动释放签前,保证堆内数据不被释放。那么如果不是用强指针,而是用弱指针执行该堆内存地址,那么在分配内存空间后就会自动释放。 那么,针对这种运用场 ...
分类:
移动开发 时间:
2017-11-13 19:52:24
阅读次数:
158
可以先在用户变量中保存值然后在以后引用它;这样可以将值从一个语句传递到另一个语句。用户变量与连接有关。也就是说,一个客户端定义的变量不能被其它客户端看到或使用。当客户端退出时,该客户端连接的所有变量将自动释放。 用户变量的形式为@var_name,其中变量名var_name可以由当前字符集的文字数字 ...
分类:
数据库 时间:
2017-11-05 20:00:55
阅读次数:
235
Java 内存机制: Java 把内存划分成两种:一种是栈内存,另一种是堆内存。 在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配,当在一段代码块定义一个变量时,Java 就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java 会自动释放掉为该变量分配的内存空间,该内 ...
分类:
编程语言 时间:
2017-11-02 21:20:57
阅读次数:
126
在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。 堆内存用来存放由new创建的对象和数组,在堆中分配的内存, ...
分类:
编程语言 时间:
2017-11-02 21:08:40
阅读次数:
165
C#中IDisposable接口的主要用途是释放非托管资源。当不再使用托管对象时,垃圾回收器会自动释放分配给该对象的内存。但无法预测进行垃圾回收的时间。另外,垃圾回收器对窗口句柄或打开的文件和流等非托管资源一无所知。将此接口的Dispose方法与垃圾回收器一起使用来显式释放非托管资源。当不再需要对象 ...
分类:
其他好文 时间:
2017-11-01 12:12:31
阅读次数:
188
1、栈和堆的定义 栈为自动分配的内存空间,它由系统自动释放;而堆则是动态分配的内存,大小不定也不会自动释放。 2、栈和堆存放基本类型和引用类型的方式 基本类型:存放在栈内存中的简单数据段,数据大小确定,内存空间大小可以分配。 引用类型:对象的地址指针存放在栈内存中,这个指针指向的堆内存中保存着实际数 ...
分类:
其他好文 时间:
2017-10-31 16:53:25
阅读次数:
251
在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间,该内存空间可以立刻被另作他用。 堆内存用于存放由new创建的对象和数组。在堆中分配的内存 ...
分类:
其他好文 时间:
2017-10-30 21:54:05
阅读次数:
305
使用Top命令查看内存及缓冲区使用情况 当磁盘频繁产生IO时会导致buff/cache占用很高的内存,导致可用物理内存很少 但是当真正需要内存时,缓冲区内存会自动释放. 如果需要清理可以用 cache清理 sync;echo 3 > /proc/sys/vm/drop_caches 前面加sync ...
分类:
系统相关 时间:
2017-10-27 10:22:54
阅读次数:
304
一、智能指针类型&智能指针 1. 标准库提供了两种智能指针类型(来管理动态分配的对象) 2. 智能指针 智能指针就是一个变量、一个对象,即智能指针类型的实例化(比如在整型 int 和变量 i 中,智能指针就类似 i) 3. 智能指针与指针 智能指针的行为类似常规指针 区别:智能指针负责自动释放所指向 ...
分类:
其他好文 时间:
2017-10-26 11:40:18
阅读次数:
134
由于业务原因,需要将过期数据删除,但有一个问题出现了,频繁删除数据之后,会产生很多磁盘碎片,这些碎片如果没有被重复利用, 进而会影响查询性能(表查询时仍然会扫描这部分删除数据的磁盘空间块),随需要处理。 当从MongoDB中删除文档(Documents)或集合(Collections)后,Mongo ...
分类:
其他好文 时间:
2017-10-25 15:27:29
阅读次数:
184