官方对闭包的解释是:一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。闭包的特点: 1.作为一个函数变量的一个引用,当函数返回时,其处于激活状态。 2.一个闭包就是当一个函数返回时,一个没有释放资源的栈区。 简单的说,javascript允许使用内部...
分类:
编程语言 时间:
2014-11-19 10:28:24
阅读次数:
209
这一节基本讲述的是将资源放进管理对象,防止忘记释放资源。1.一般New和Delete使用场景void fun() { SimpleClass* pSimpleClass1 = new SimpleClass; .... // 如果这中间发生异常返回,则delete pSimpl...
分类:
其他好文 时间:
2014-11-17 15:22:01
阅读次数:
141
php中定义类与java中类似,但是php中的构造函数不同,在PHP中构造函数用__construct() (两个下划线),这样可以保证在改变类名的时候不用再去改变构造函数名。它还有一个析构函数__destruct(),用它来销毁实例,释放资源。一旦你定义了一个类,你可以用new来建立一个这个类的实...
分类:
Web程序 时间:
2014-11-17 12:16:59
阅读次数:
976
Java8的Lambda表达式确实是一个非常好的特性,但是在哪些场合下使用,其实还是需要仔细考虑的。我们当然不能为了使用而使用,而是需要找到切实有用的场合。在JDBC编程中,例如查询语句,首先需要进行查询参数绑定,其次是处理返回的结果集,这两步操作是每个查询都不同的,而获取JDBC连接,准备PreparedStatement,以及释放资源则都是完全相同的,这就是一个Lambda表达式应用的绝佳场景...
分类:
数据库 时间:
2014-11-11 14:28:58
阅读次数:
346
Semaphore是JDK1.5之后出的一个实现同步的另一个方式。Semaphore可以维护当前访问自身的线程个数,并提供了同步机制。使用Semaphore可以控制同时访问资源的线程数。假如你有3个资源,有10个线程要使用该资源,同时只能有3个线程使用,所以其余7线程在等待,只要3个中任意一个释放资源,那么7个线程中的一个就可以使用了。
另外,7个线程等待可以使随机获取机会,也可以是按...
分类:
编程语言 时间:
2014-11-09 15:22:35
阅读次数:
234
1、使用LinkedList保存连接 即使是最简单的JDBC操作,也需要包含以下几步:建立连接、创建SQL语句、执行语句、处理执行结果、释放资源,其中建立连接步骤是很耗费计算机性能的,如果我们每次进行JDBC操作都创建新的JDBC连接,使用完后再立即释放连接,这样做会耗费大量性能。更合理的做法应该....
分类:
数据库 时间:
2014-11-07 16:27:33
阅读次数:
396
1、使用LinkedList保存连接 即使是最简单的JDBC操作,也需要包含以下几步:建立连接、创建SQL语句、执行语句、处理执行结果、释放资源,其中建立连接步骤是很耗费计算机性能的,如果我们每次进行JDBC操作都创建新的JDBC连接...
分类:
数据库 时间:
2014-11-07 08:37:00
阅读次数:
206
P就是请求资源,V就是释放资源。 问题1 一个司机与售票员的例子 在公共汽车上,为保证乘客的安全,司机和售票员应协调工作: 停车后才能开门,关车门后才能行车。用PV操作来实现他们之间的协调。 S1:是否允许司机启动汽车的变量 S2:是否允许售票员开门的变量 driver()//司机进程 ...
分类:
其他好文 时间:
2014-11-03 14:24:07
阅读次数:
253
首先我们看看scoped_ptr的基本使用,包括了swap(),get(),reset()的使用,重要的提醒是作用域结束的时候会自己主动析构,无需手动的释放资源:#include#includeusing namespace std;using namespace boost;struct p...
分类:
其他好文 时间:
2014-11-02 12:14:47
阅读次数:
200
最近一段时间在做基于webrtc的android应用在释放资源时遇到一些问题,现在记录下来用于备忘。官方给出的AppRTCDemo太过于简单很多问题没涉及到。1、释放peerconnection资源的问题。 场景:A和B进行通话(视频通话) 现在B中终止通话 错误:在B终止通话之后,A端...
分类:
移动开发 时间:
2014-10-31 15:07:45
阅读次数:
1969