自动生成代码,不是垃圾回收ARC的判断准则: 只要没有强指针指向对象,就会释放对象1、ARC特点 -》不允许调用release、retain、retainCount -》允许重写dealloc,但是不允许调用[super dealloc] -》@property的参数 stro...
分类:
其他好文 时间:
2014-09-24 19:12:57
阅读次数:
204
第一种解释:
功能差不多,都用来进行线程控制,他们最大本质的区别是:sleep()不释放同步锁,wait()释放同步锁。
还有用法的上的不同是:sleep(milliseconds)可以用时间指定来使他自动醒过来,如果时间不到你只能调用interreput()来强行打断,wait()可以用notify()直接唤起。...
分类:
编程语言 时间:
2014-09-24 17:22:57
阅读次数:
190
转的,没验证close(sock_fd)会把sock_fd的内部计数器减1当sock_fd的内部计数器为0时, 才调用shutodwn(), 并最终释放文件描述符调用shutdown()只是进行了TCP断开, 并没有释放文件描述符本来正常的TCP程序不需要显示调用shutdown()但某些TCP程序...
分类:
其他好文 时间:
2014-09-24 16:06:37
阅读次数:
638
Android 系统对于内存管理有自己的一套方法,为了保障系统有序稳定的运信,系统内部会自动分配,控制程序的内存使用。当系统觉得当前的资源非常有限的时候,为了保 证一些优先级高的程序能运行,就会杀掉一些他认为不重要的程序或者服务来释放内存。这样就能保证真正对用户有用的程序仍然再运行。如果你的 Ser...
分类:
移动开发 时间:
2014-09-24 14:04:06
阅读次数:
240
智能指针实际上是一个类(class),里面封装了一个指针.它的用处是啥呢?指针与内存说到指针自然涉及到内存.我们如果是在堆栈(stack)中分配了内存,用完后由系统去负责释放.如果是自定义类型,就会自动的去调用你的析构函数.但如果是在堆(heap)中分配了内存,也就是用malloc或者new.那只能...
分类:
其他好文 时间:
2014-09-24 13:12:46
阅读次数:
131
在 Unity 的运行环境中创建或是释放(destroy)对象需要付出昂贵的代价。例如:在飞机大战游戏中,当用户点击射击的时候,会创建很多“子弹”对象,当“子弹”对象碰到敌人时,会被销毁,只要用户一点击射击就会执行这样的逻辑当然这是不可取的,因为第一句话告诉了我们不断的创建销毁对象时要付出昂贵的代价...
分类:
其他好文 时间:
2014-09-23 23:14:45
阅读次数:
270
Java把内存分成两种,一种叫做栈内存,一种叫做堆内存
在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间,该内存空间可以立刻被另作他用。
堆内存用于存放由new创建的对象和数组。在堆中分配的内存,由java虚拟机自动垃圾回收器...
分类:
编程语言 时间:
2014-09-23 19:53:55
阅读次数:
262
下面这个例子是最简单的ODBC连接MySQL数据库的例子。一般步骤:1.注册驱动;2.建立连接;3.创建语句;4.处理结果;5.释放资源。注意:1.软件开发环境:MyEclipse 8.5+ MySQL5.12.代码运行前需要加载Mysql驱动包;数据库信息截图:源码如下:import java.s...
分类:
数据库 时间:
2014-09-23 14:18:24
阅读次数:
222
在多线程程序中,同步修饰符用来控制对临界区代码的访问。其中一种方式是用synchronized关键字来保证代码的线程安全性。在Java中,synchronized修饰的代码块或方法不会被多个线程并发访问。它强制要求线程在进入一个方法之前获得一个锁,在离开方法时释放该锁。它保证了在同一时刻只有一个线程...
分类:
编程语言 时间:
2014-09-23 13:02:34
阅读次数:
211
一.LruCache的简单介绍Cache保存一个强引用来限制内容数量,每当Item被访问的时候,此Item就会移动到队列的头部。* 当cache已满的时候加入新的item时,在队列尾部的item会被回收。*如果你cache的某个值需要明确释放,重写entryRemoved()*如果key相对应的it...
分类:
其他好文 时间:
2014-09-23 12:07:54
阅读次数:
196