- 博客(6)
- 收藏
- 关注
原创 关于java二叉树数据结构的实现
对于数据结构来说,数组方便查询但是增删复杂 ;链表方便增删但是查询麻烦;而二叉树增删和查询都具有优势,并且在事件复杂度和空间复杂度上都占有相对的优势,下面就讲其源码贴出,遍历方法采用的是中序遍历,即左子树–根节点–右子树的方式二叉树实现类public class MyTree { private class Node { Object data;// 数据 No
2016-08-15 14:13:32 342
原创 AsyncTask原理分析
AsyncTask原理InternalHandler handler ThreadPool pool 线程池AsyncTask的默认构造函数如下: public AsyncTask() { //实例化mWorker WorkerRunnable的代码看1步 //mWorker 是 Callable类型 mWorker = new Work
2016-08-12 20:28:43 355
原创 Handler的源码分析
handler的原理 android的handler机制可谓是最常用的机制之一了,而它的原型就是 linux进程间的通信.下面简单介绍: 1.通讯原型: linux进程间的通信:linux管道通讯,管道其实就是个特殊的文件,该文件有两个描述符(操作文件的句柄(引用)),读的描述符,写的描述符主线程拿着读的描述符等待读取数据,子线程拿着写的描述符开始写数据,写完数据之后通知拿着
2016-08-12 20:19:16 256
原创 关于java双连表的实现
关于java双连表的实现 java双链接属于数据结构的范畴,用途广泛,这里为handler的message的数据结构(单链表)做个铺垫 . Tip: 这里可以将java的”=” 当作c语言的”->”,更方便理解 import java.util.Iterator; //实现Iterable是为了使用增强for public class MyDoubleLink implements It
2016-08-11 20:16:04 704
原创 Android系统的启动流程
Android系统的启动流程 操作系统的引导文件去运行linux的内核程序,内核程序开始启动的时候会加载各种驱动和数据结构,开始加载android应用层的第一个进程(init进程c代码(system\core\init目录) 下面就从开始加载android第一个进程说起,注意代码中的注释,另附图一张以便理解Init.c源代码的main方法如下:int main(int argc, char **
2016-08-11 19:54:24 518
转载 Unicode(UTF-8, UTF-16)
为啥需要Unicode 我们知道计算机其实挺笨的,它只认识0101这样的字符串,当然了我们看这样的01串时肯定会比较头晕的,所以很多时候为了描述简单都用十进制,十六进制,八进制表示.实际上都是等价的,没啥太多不一样.其他啥文字图片之类的其他东东计算机不认识.那为了在计算机上表示这些信息就必须转换成一些数字.你肯定不能想怎么转换就怎么转,必须得有定些规则.于是刚开始的时候就有AS
2016-04-04 10:25:10 227
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人