Activity启动过程分析 发表于 2019-01-23 | 分类于 Android | 阅读次数 Activity启动过程分析这里的Activity分为根Activity和普通Activity.这两种启动 所谓根Activity启动就是类似冷启动,先要启动该Activity所在的应用程序进程,然后在该进程内启动Activity 普通Activity的启动就是,前提它们所在的进程已经启动了, ... 阅读全文 »
Android应用程序进程启动过程 发表于 2019-01-21 | 分类于 Android | 阅读次数 应用程序进程启动介绍AMS发送启动应用程序进程请求 Zygote接受请求并创建应用程序进程 AMS与Zygote之间是通过socket通讯的。 因为Zygote通过registerZygoteSocket方法创建服务器端socket, 然后通过无限循环监听AMS的请求,收到之后创建新的应用 ... 阅读全文 »
Android系统启动过程分析 发表于 2019-01-14 | 分类于 Android | 阅读次数 第一个系统进程init Android设备的启动必须经历三个阶段:Boot Loader, Linux Kernel和 Android系统服务。 默认情况下他们都有自己的启动画面。严格说Android系统是运行在Linux内核之上的一系列”服务进程”,并不是完整意义的”操作系统”。这些进程是维持 ... 阅读全文 »
读书笔记《见识》 发表于 2018-10-08 | 分类于 读书笔记 | 阅读次数 本来想着国庆假期多读几本书,但是这个想法太高估自己了,当自己有充足的可支配的时间的时候,反而变得很慌乱,东看看西看看碎片阅读不成体系。 所以越是自由支配的时间,越要克制,做减法,最好每次只做一件事,每天重复。 第一章:商业的本质商业的本质是让人多花钱,而不是省钱 如何让人们花钱,花时间,这是 ... 阅读全文 »
java 高并发程序设计 发表于 2018-02-04 | 分类于 java并发编程 | 阅读次数 第三章 JDK并发包重入锁 ReentrantLock. 在jdk5.0版本中性能好于synchronized. 但是在jkd6.0之后两者性能差距并不大 怎么理解重入锁?这中锁是可以反复进入的,这里的反复仅仅局限与一个线程 lock.lock(); lock.lock(); try{ ... 阅读全文 »
NIO-ByteBuffer-DirectByteBuffer-内存映射-SocketChannel 发表于 2018-01-07 | 分类于 java-NIO | 阅读次数 heap //堆 non-heap //非堆(jvm中堆以外的空间–method area,stack) off-heap //离堆,jvm之外的空间(nio中用到,用的操作系统的空间) 一般来说,直接内存的访问速度(读写方面)会快于堆内存 在申请内存 ... 阅读全文 »
jvm数据分区 发表于 2018-01-04 | 分类于 java虚拟机 | 阅读次数 运行时数据分区 方法区,堆区: 线程共享 java stack,本地方法栈,程序计数器:不共享 java heap又分为年轻代和年老代。 年轻代又分为:伊甸区,幸存1区,幸存2区。所有对象都是在伊甸区创建的,通过垃圾回收之后进入幸存1或幸存2,最后进入年老代 阅读全文 »
Git-fork分支整理 发表于 2017-12-04 | 分类于 git | 阅读次数 1.Fork在github上你要贡献的repo(eg.http://github/remote/test.git)之后称上游仓库。点击fork,将上游仓库fork到你的github,之后称为远程库(eg.http://github/chercher/test.git) 2.Clone选择本地文件 ... 阅读全文 »