自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 资源 (1)
  • 收藏
  • 关注

原创 java虚拟机知识点简要梳理

首先来看一个java虚拟机的思维导图,下面每个知识点都可以进行展开,本篇只做简要梳理 上图是从类的整个生命来梳理的,包括类的加载、验证、准备、解析、初始化、使用、卸载,将一一做简要介绍 一、加载 1.加载过程 a.通过类的全限定名获取类的二进制字节流,其中二进制字节流不一定是java语言编译的,只要是最终形成符合java字节流格式即可,比如jruby、jython、groovy

2017-03-14 22:35:25 1705

原创 Handler、Looper和MessageQueue的关系

Handler初始化之前,首先需要初始化Looper,主线程中在进程启动,调用ActivityThread.main方法的时候,已经调用了Looper.prepareMainLooper初始化Looper了,而普通线程则采用Looper.prepare方法初始化,不管哪种方式,都是创建了一个Looper实例,保存到ThreadLocal这个全局静态变量中,Handler在初始化的时候,从Threa

2017-03-12 08:22:29 451

原创 Binder再探(4)

总结 上述的binder通信过程涉及四方,binder驱动、Service Manager、AMS(服务端)、Activity(客户端) binder驱动 binder驱动作为动态内核模块,通过binder_init函数,将自己注册成为misc设备,创建/dev/binder节点,提供三个核心的函数binder_open、binder_mmap、binder_ioctl给用户空间调用

2017-03-04 17:51:41 411

原创 binder再探(3)

再来看客户端通过 ActivityManagerNative.getDefault().startActivity启动一个Activity, ActivityManagerNative.getDefault()方法 static public IActivityManager getDefault() { return gDefault.get(); } private

2017-03-04 17:49:49 511

原创 binder再探(2)

前面的Activity的启动流程(http://blog.csdn.net/newhope1106/article/details/53355189),已经知道了Activity的启动将会调用下面代码: try { intent.migrateExtraStreamToClipData(); intent.prepareToLeaveProcess();

2017-03-04 17:41:54 504

原创 binder再探(1)

前面文章只是对binder的几个核心部分做了简要介绍,本文将按照启动顺序或调用顺序对binder作详细的介绍。 一、binder驱动初始化 binder驱动作为内核模块,首先被加载进来,做初始化操作,首先binder驱动把自己注册成为misc设备,文件目录会创建/dev/binder节点,然后提供了操作binder设备方法,这里初始化调用是通过binder_init函数调用的。 static

2017-03-04 17:29:11 564

php中文帮助文档.chm

这是官方的php中文帮助文档,对学习php的人很有帮助的

2010-07-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除