1. 异常处理
异常以类似于将实参传递给函数的方式抛出和捕获。异常可以是可传给非引用实参的任意实参的类型,这意味着必须能够复制该类型的对象。
当抛出一个表达式的时候,被抛出对象的静态编译时类型将决定异常对象的类型。
抛出指针通常是个坏主意。
栈展开:沿着嵌套函数调用链继续向上,直到为异常找到一个catch子句。
栈展开期间,释放局部对象所用的内存并运行类类...
分类:
编程语言 时间:
2014-05-09 06:17:46
阅读次数:
528
梦想总是遥不可及,是不是应该放弃坚强的走下去,习惯就好岁月会可变一切!到后来会明白的·小宏是最的加油!相信最后,你一定会十分优秀的!现在只是很寂寞很无聊而已!寂寞之后,才会有激情释放激情,需要之前聚集能量!走下去,一定会有出路的·!
分类:
其他好文 时间:
2014-05-09 06:01:45
阅读次数:
223
memcache不会释放内存,而是重新利用。在缓存的清除方面,memcache是不释放已分配内存。当已分配的内存所在的记录失效后,这段以往的内存空间,memcache只会重复利用。memcached的内存回收机制不是说你设置的key到了生命周期就自动从内存中清除的,这个时候必须有一个新的对象入驻请求...
分类:
其他好文 时间:
2014-05-09 04:00:31
阅读次数:
375
1.垃圾收集算法的核心思想
Java语言建立了垃圾收集机制,用以跟踪正在使用的对象和发现并回收不再使用(引用)的对象。该机制可以有效防范动态内存分配中可能发生的两个危险:因内存垃圾过多而引发的内存耗尽,以及不恰当的内存释放所造成的内存非法引用。
垃圾收集算法的核心思想是:对虚拟机可用内存空间,即堆空间中的对象进行识别,如果对象正在被引用,那么称其为存活对象,反之,如果对象不再被...
分类:
编程语言 时间:
2014-05-09 01:32:44
阅读次数:
569
什么是assign,copy,retain之间的区别?assign:
简单赋值,不更改索引计数(Reference Counting)。copy:
建立一个索引计数为1的对象,然后释放旧对象retain:释放旧的对象,将旧对象的值赋予输入对象,再提高输入对象的索引计数为1retain是指针拷贝,co...
分类:
其他好文 时间:
2014-05-09 00:08:47
阅读次数:
419
问题一:value = [array objectAtIndex:n];
//得到一个数组中的对象[arry removeObjectAtIndex:n];
//卸载那个对象因为value得到了那个对象,但是由于另外一个拥有者release了该对象,所以其实value现在成了摇摆指针(无效数据)问题...
分类:
其他好文 时间:
2014-05-09 00:02:03
阅读次数:
366
背景:项目中已运行10年的数据访问层,存在若干架构方面的问题,为了彻底解决并释放并行访问的能力,并提供一套完整的面向对象的API,决定重新设计。思考问题:1.如何保证兼容性:
1)使用新库的实现替代旧库中的实现,保证一次性全部修改并测试,不修改旧库的API,且提供用户新的API 2)新库与旧...
分类:
数据库 时间:
2014-05-08 12:21:18
阅读次数:
315
经典的一句话:C++程序员觉得内存管理太重要了,所以一定要自己进行管理;C#,Java程序员觉得内存管理太重要了,所以一定不能自己去管理。
某些语言,比如C语言,要求程序员显式的分配内存、释放内存。程序按需分配内存,不需要的时候将内存释放。但是这种做法容易引起内存泄露:即由于某种原因未能将分配...
分类:
编程语言 时间:
2014-05-08 10:32:37
阅读次数:
303
区别waitsleep线程自动唤醒object的方法只要 线程碰到wait就要等
待不能指定哪个线程等待Thread的方法 wait用于同步在任何地方使用 自动释放锁不会释放锁
分类:
其他好文 时间:
2014-05-08 09:10:06
阅读次数:
249
1 wait方法:
该方法属于Object的方法,wait方法的作用是使得当前调用wait方法所在部分(代码块)的线程停止执行,并释放当前获得的调用wait所在的代码块的锁,并在其他线程调用notify或者notifyAll方法时恢复到竞争锁状态(一旦获得锁就恢复执行)。
调用wait方法需要注意几...
分类:
编程语言 时间:
2014-05-08 01:18:35
阅读次数:
403