本文参考《Android系统源代码情景分析》,作者罗升阳
一、架构代码:
~/Android/frameworks/base/core/java/android/os
----IInterface.java (Interface)
----IServiceManager.java (IServiceManager)
-...
分类:
编程语言 时间:
2014-06-16 22:06:54
阅读次数:
281
document.queryCommandEnabled(commandID):确定命令是否已经激活。
3、document.queryCommandIndeterm(commandID):确定命令是否是不确定的。
4、document.queryCommandState(commandID):确定命令的状态
5、document.queryCommandSupported(commandID):确定命令是否被支持,返回true或false
6...
分类:
编程语言 时间:
2014-06-16 14:24:46
阅读次数:
163
像JavaScript这样的动态脚本语言可以给你的页面带来强大的效果。本文主要讲解如何将JavaScript融入的网站页面中。...
分类:
编程语言 时间:
2014-06-16 22:39:45
阅读次数:
335
虽然Java中传递的是引用,可以轻易地实现对对象的改变,但是仍然要注意形参与实参、引用与对象的关系,千万不要简单地以为传引用就一定可以实现对象的改变,否则可能犯下低级错误。本文通过实例对比讲解传递引用易犯的错误及正确的使用方法。...
分类:
编程语言 时间:
2014-06-16 22:38:43
阅读次数:
400
面向切面的框架AspectJ邂逅Spring,不仅造就一种简洁,更带来更多的选择空间。...
分类:
编程语言 时间:
2014-06-16 18:37:21
阅读次数:
276
Myeclipse 8.6使用tomcat7时,运行javaweb项目报出如下错误:
java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory
at org.apache.catalina.startup.Bootstrap.(Bootstrap.java:60)
Caused by: java.lang.ClassN...
分类:
编程语言 时间:
2014-06-16 22:02:47
阅读次数:
378
在多线程编程中,常常需要从主线程传递参数给子线程或在主线程中获得子线程的计算结果,
若使用全局变量实现,必然需要对临界区保护,因此导致大量的切换工作造成效率的低下;
而利用进程间的参数传递可以解决这一问题。
两个方向的参数传递:
1.主线程向子线程传递参数:
通过函数 int pthread_create(pthread_t *thread, const pthread_attr_t *...
分类:
编程语言 时间:
2014-06-16 14:34:54
阅读次数:
242
讲解在android上使用NDK进行jni开发,以实现某些特定的需求场景。...
分类:
编程语言 时间:
2014-06-16 22:50:56
阅读次数:
361
1.PyListObject对象 --> 变长可变对象,可看作vector
typedef struct{
PyObject_VAR_HEAD //其中的ob_size表示实际被使用的内存的数量
PyObject **ob_item;//ob_item为指向元素列表的指针,实际上,Python中的list[0]就是ob_item[0]
int allocated;//当前列表中可容纳的元素的总数
}
PyList_Type 对象 --> PyListObject的类型对象
ty...
分类:
编程语言 时间:
2014-06-16 22:48:55
阅读次数:
300
本文主要介绍一个轻量级的文件监控方式,对文件的Create & Change & Delete,都有一个对应的Event方法来进行处理。对于核心的File Monitor Class,我们继承一个监听适配器类FileAlterationListenerAdaptor,这样会更文件,不用再去重写每个Event方法。...
分类:
编程语言 时间:
2014-06-16 21:23:44
阅读次数:
285
1.PyDictObject对象 --> C++ STL中的map是基于RB-tree的,搜索时间复杂度是O(logN)
PyDictObject采用了hash表,时间复杂度是O(1)
typedef struct{
Py_ssize_t me_hash; //me_key的hash值,避免每次查询都要重新计算一遍hash值
PyObject *me_key;
PyObject *me_value;
}PyDictEntry;
将(key,value)对称为entry,它可以在3种状态...
分类:
编程语言 时间:
2014-06-16 21:22:45
阅读次数:
272
1.python的执行过程
1)对python源代码进行编译,产生字节码
2)将编译结果交给python虚拟机,由虚拟机按照顺序一条一条地执行字节码,产生执行结果
图7-1
2.Python编译器的编译结果——PyCodeObject对象
Python编译器的编译结果中包含了字符串、常量值、字节码等在源代码中出现的一切有用的静态信息。
在Python运行期间,这些静态信息被PyCodeObject对象中
在Python运行结束后,这些信息会被存储在pyc文件中
PyCodeObject对象和pyc文件是...
分类:
编程语言 时间:
2014-06-16 22:23:17
阅读次数:
228
(一)
一定要避免传递一些references去指向其实并不存在的对象。
看下面这个类:
class Rational {
public:
Rational(int numerator = 0, int denominator = 1);
private:
int n, d;
friend const Rational operator*(const Rat...
分类:
编程语言 时间:
2014-06-16 19:09:14
阅读次数:
269
首先,Java没有 引用传递 这么一说。
Java只有值传递,传递的都是值,基本数据类型传递的是值,引用类型传递的是地址值。
我来理一下这其中犹如米线跟米面绞在一起了,再跟粉丝混在一起的关系。...
分类:
编程语言 时间:
2014-06-16 21:35:07
阅读次数:
398
一、能避免同步吗?
取得锁会因为以下原因导致成本很高:
取得由竞争的锁需要在虚拟机的层面上运行更多的程序代码。
要取得有竞争锁的线程总是必须等到锁被释放后。
1. 寄存器的效应
计算机有一定数量的主寄存器用来存储与程序有关的数据。
从逻辑上的观点来看,每个Thread都有自己的一组寄存器。当操作系统将某个Thread分配给CPU时,它会把该Thread特有的信息...
分类:
编程语言 时间:
2014-06-16 18:58:52
阅读次数:
405
#import
int main(int argc, const char * argv[])
{
// int a[2][3]={
// {1,2,3},
// {4,5,6}
// };
// int a[2][3]={1,2,3,4,5,6};
// //打印单个元素
// printf("%d",a[1][1]);
// ...
分类:
编程语言 时间:
2014-06-16 23:05:14
阅读次数:
395