内置锁和内置条件队列一起,一个简单的应用是创建可阻塞的有界缓存区,java并发包的BlockingQueue就是一个利用Lock和显式条件队列实现的可阻塞的有界队列。总结内置锁和内置条件的原理,这里我们用另一种方式实现简单的可阻塞缓存。源码如下:
首先,创建一抽象有界缓存类ABoundedBuffer,提供插入和删除的基本实现。
/**
* @title :AB...
分类:
编程语言 时间:
2014-12-30 11:53:34
阅读次数:
119
【实现逻辑】
通过在property_service.c中设置标志位,在设置中实现接口改变标志位,
使用init.rc中声明的服务来侦听标志位的变化,显式启动声明的服务,执行对应的脚本,把应用后缀从apk重命名为bak,从而实现隐藏(显示逻辑相反)。
【实现步骤】以隐藏Google Play Store(system/priv-app/Phonesky.apk)为例:
1.首先在s...
分类:
移动开发 时间:
2014-12-29 23:09:20
阅读次数:
1067
基于J2EE平台的框架很多,并且大多数框架中都有着庞大复杂的配制文件,维护起来很不方便,Spring在支持配置文件时也提供了一套能让程序员偷懒的小规则:自动装配。
Spring的IOC容器通过Java反射机制了解了容器中所存在Bean的配置信息,这包括构造函数方法的结构,属性的信息,而正是由于这个原因,Spring容器才能够通过某种规则来对Bean进行自动装配,而无须通过显式的方法来进行...
分类:
编程语言 时间:
2014-12-29 21:26:57
阅读次数:
177
隐式转换的规则:1.无歧义规则:隐式转换唯有不存在其他可插入转换的前提下才能插入 若编译器有两种方法修正x+y 如convert1(x)+y,convert2(x)+y,会报错2.单一调用规则:只尝试一个隐式操作,编译器不会把x+y重写成convert1(convert2(x))+y3.显式调用规....
分类:
其他好文 时间:
2014-12-29 18:13:01
阅读次数:
121
在 C# 中,new 关键字可用作运算符、修饰符或约束。 new 运算符 用于创建对象和调用构造函数。 new 修饰符 用于向基类成员隐藏继承成员。 new 约束 用于在泛型声明中约束可能用作类型参数的参数的类型。 new 修饰符(C# 参考) 在用作修饰符时,new 关键字可以显式隐藏从基类继承的...
分类:
其他好文 时间:
2014-12-29 18:09:14
阅读次数:
162
Java的垃圾回收之算法
引言
Java的堆是一个运行时数据区,类的实例(对象)从中分配空间。Java虚拟机(JVM)的堆中储存着正在运行的应用程序所建立的所有对象,
这些对象通过new、newarray、anewarray和multianewarray等指令建立,但是它们不需要程序代码来显式地释放。一般来说,堆的是由
垃圾回收来负责的,尽管JVM规范并不要求特殊的垃圾回收技术,甚至根本...
分类:
编程语言 时间:
2014-12-29 16:52:24
阅读次数:
189
在局部变量前加上“static”关键字,就成了静态局部变量。静态局部变量存放在内存的全局数据区。函数结束时,静态局部变量不会消失,每次该函数调用 时,也不会为其重新分配空间。它始终驻留在全局数据区,直到程序运行结束。静态局部变量的初始化与全局变量类似.如果不为其显式初始化,则C++自动为其 初始化为...
分类:
其他好文 时间:
2014-12-28 22:06:06
阅读次数:
240
创建正则表达式的两种方法
显式:
new RegExp(“pattern”[,”flags”]);
例
var regex = new ("abc","gi");
第一个参数为要匹配的模式,第二个为标识信息,有三种标识信息:
g:全局标识,表示对文本中所有匹配的部分起作用,如不设置,则仅搜索和匹配第一个出现的文本段 global
i:忽略大小写标识 ignoreCase
m:...
分类:
编程语言 时间:
2014-12-27 11:26:11
阅读次数:
182
今天要写的东西都是书中一些概念性的东西,就当抄笔记,以提问对话的方式将其写出来吧,说不定以后面试能有点谈资~~~ Q1.C#1系统类型包含哪三点特性? A1.C#1类型系统是静态的、显式的和安全的。 Q2.为什么称为静态类型? A2.静态类型是用来描述表达式在编译时的类型,当声明一个类型...
1关于可重入锁
ReentrantLock是基于AQS实现的可重入的同步工具类,它提供了两种同步器的实现即公平锁FairSync和非公平锁NonfairSync。它提供了一种无条件的、可轮询的、定时的以及可中断的锁获取操作,所有的加锁和解锁都是显式的。tryLock(),tryLock(long
,TimeUnit)分别提供了可轮询的、可定时的锁获取方式。 Lock()提供了无...
分类:
编程语言 时间:
2014-12-26 16:50:58
阅读次数:
283