分类 随笔 下的文章

Android Binder学习笔记_


Ref:http://blog.csdn.net/universus/article/details/6211589

出现Binder的原因:

Android平台开发主要基于Client-Server

  • 系统复杂性:
    • Linux实践中学到,IPC 中的管道/信号量/共享内存 只有通过一定的封装才能支持Client-Server通信,增加系统复杂性
  • 传输效率:
    • 支持Client-Server的socket通信主要用于跨网络的进程间通信or本机上进程间的低速通信,传输效率低,开销大
    • 消息队列管道采用存储-转发方式,即数据先从发送方缓存区拷贝到内核开辟的缓存区中,然后再从内核缓存区拷贝到接收方缓存区,至少有两次拷贝过程(数据拷贝2次)共享内存虽然无需拷贝,但控制复杂,难以使用(数据拷贝0次)
    • Binder(数据拷贝1次)
  • 安全性:
    • 传统IPC接收方(比如系统服务)无法确保进程的UID/PID正确性,完全依赖上层协议来确保安全性
    • 使用传统IPC只能由用户在数据包里填入UID/PID,但这样不可靠,容易被恶意程序利用。可靠的身份标记只有由IPC机制本身在内核中添加。
    • 传统IPC访问接入点是开放的,无法建立私有通道。无法阻止恶意程序通过猜测接收方地址获得连接。
    • Binder基于Client-Server通信模式,传输过程只需一次拷贝,为发送方添加UID/PID身份,既支持实名Binder也支持匿名Binder,安全性高。

Binder介绍

  • Binder提供server的访问接口,client想要访问该接口需要通过Binder建立的管道接口
  • 面向对象:server中的对象,提供访问server请求的函数。Client通过Binder指针(Binder存在于远端Server,但在内存中被引用)调用方法访问server.
  • 通过上述方法,将进程间通信转为对某个Binder的引用,Binder跨进程,实体位于一个进程,引用却遍布系统各个进程。

Binder通信模型


未完待续



为什么选择typecho博客系统


起步

在选择博客系统的时候,也有考虑过wordpress,wordpress是目前最流行最广泛的博客系统,拥有海量的插件和主题,满足不同需求,功能十分完善且强大,但是,其庞大的需求和修改使得wp在代码复杂和臃肿,有的程序员不是在写博客而是在折腾wp,甚至被wp玩。功能多随之带来的是服务器资源的消耗的问题,连wordpress官方都承认缓存是必要的。这个给只为写博客的人来说多了很多不必要的开支。


《Javascript高级程序设计》阅读笔记


2016/3/28

1.当typeof操作符对象为null时,返回的是object,因为null表示空对象指针

2.alert()对未声明变量使用时,会产生错误,对未定义变量使用时,返回undefined;而typeof对于以上两种变量使用时,均返回undefined;

3.Nan与所有值不相等,即使Nan与Nan,即(Nan==Nan)返回false;

4.字符串一旦创建就无法改变,var lang =“java”;lang=lang+"script";这过程是先创建了一个10个长度的字符串,再销毁原来的两个字符串;

5.对于浮点数不要用相等来进行条件判断,如(0.1+0.2==0.3)是不成立的,因为存在舍入误差,实际值可能为0.300000009;

6.对字符串进行关系操作符运算的时候,比较首字母的字符编码值,大写字母小于小写字母。


插件发布:DomainTheme_for_typecho


起步

博客有多个用户,每人希望用自己中意的主题,想想是可以通过不同域名来调用不同主题的。于是完成了这个。虽然感觉使用人不多,可能就typecho主题汇总网站会用到而已,但还是分享出来吧。

使用方法

第一步:下载本插件,放在 usr/plugins/ 目录中; 第二步:激活插件; 第三步:控制台->域名模板 进行设置; 第四步:完成。

预览

微信截图_20160401101859.png

特别说明:

这个插件是为满足个人需求而编写,兼容性方面多多少少会有不完善的地方,如有需求,可根据源代码自行修改,或者与我联系。

有的模板可以设置数据,我也找不到什么好办法,用自定义数据(json格式)来定义,不知道写就为空吧。

域名不包括前面的http://

github开源地址:https://github.com/hongweipeng/DomainTheme_for_typecho

与我联系:

作者:hongweipeng 主页:https://www.hongweipeng.com/ 或者通过 Emai: hongweichen8888@sina.com 有任何问题也可评论留言