(1)GC是垃圾收集的意思(GabageCollection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法。(2)对于G...
分类:
编程语言 时间:
2014-08-18 00:07:53
阅读次数:
205
一、概述1二、Android(Java)中常见的容易引起内存泄漏的不良代码1(一)查询数据库没有关闭游标2(二)构造Adapter时,没有使用缓存的convertView3(三)Bitmap对象不在使用时调用recycle()释放内存4(四)释放对象的引用4(五)其他5三、内存监测工具DDMS-->...
分类:
移动开发 时间:
2014-08-17 23:57:23
阅读次数:
511
笔记来自《C#图解教程》
每个.cs文件至少需要包含一个和文件名相同的类
析构函数:执行在类的实例被销毁之前需要的清理或释放非托管资料的行为。
每个类只能有一个析构函数;
不能带参数;
不能带访问修饰符。
虚方法/覆写方法(需要在派生类中重写基类的某些方法时)
virtual/override
访问修饰符:
public完全公开
private类内部(默认)
...
分类:
其他好文 时间:
2014-08-17 22:51:55
阅读次数:
381
Mark-Compact 标记压缩算法代托管代码/非托管代码弱引用(Weak References弱引用(weak reference)可以保持对对象的引用,同时允许垃圾收集器在它认为适当的垃圾收集时间释放对象,回收内存。假设有一个对象创建相对便宜,但需耗费大量的内存,如果希望保持这个对象,在应用程...
分类:
Web程序 时间:
2014-08-17 15:33:32
阅读次数:
288
死锁:死锁产生的现场:当A进程P S2信号量而B进程P S1信号量时就会产生死锁,由于S2信号量须要B进程释放,而S1信号量须要A进程释放,因此两个进程都在等相互的资源,造成死锁。死锁产生的条件:相互排斥条件:进程要求对所分配的资源进行排它性控制,即在一段时间内某资源仅为一进程所占用。(信号量s1 ...
分类:
其他好文 时间:
2014-08-17 12:56:22
阅读次数:
348
1. 下列哪些语句关于内存回收的说明是正确的? (b )A、 程序员必须创建一个线程来释放内存B、 内存回收程序负责释放无用内存C、 内存回收程序允许程序员直接释放内存D、 内存回收程序可以在指定的时间释放内存对象Android是Linux的内核,每一个程序都是一个独立的JAVA虚拟机,就和油汤里的...
分类:
移动开发 时间:
2014-08-16 19:41:01
阅读次数:
258
事件源对象event.srcElement.tagNameevent.srcElement.type捕获释放event.srcElement.setCapture();event.srcElement.releaseCapture();事件按键event.keyCodeevent.shiftKeye...
分类:
Web程序 时间:
2014-08-15 23:41:29
阅读次数:
338
特殊工具与技术--优化内存分配[续2] 七.一个内存分配器基类 预先分配一块原始内存来保存未构造的对象,创建新元素的时候,可以在一个预先分配的对象中构造;释放元素的时候,将它们放回预先分配对象的块中,而不是将内存实际返还给系统。这种策略常被称为维持一个自由列表。可以将自由列表实现为已分配但未构造的对象的链表。 我们将定义一个名为 CachedObj 的新类来处理自由列表。像 QueueItem ...
分类:
编程语言 时间:
2014-08-15 19:39:29
阅读次数:
361
Pulse(lockObj)表示释放当前被lock的lockObj,容许其它线程调用。(相当于临时挂起当前线程)Wait(lockObj)表示等待当前被其它线程占用的lockObj。以下的代码将会交替运行两个线程:class TickTock { object lockOn = ...
分类:
编程语言 时间:
2014-08-15 17:39:39
阅读次数:
219
1. TCP连接 当网络通信时采用TCP协议时,在真正的读写操作之前,server与client之间必须建立一个连接,当读写操作完成后,双方不再需要这个连接时它们可以释放这个连接,连接的建立是需要三次握手的,而释放则需要...
分类:
其他好文 时间:
2014-08-15 13:03:09
阅读次数:
166