- 博客(8)
- 收藏
- 关注
原创 从AIDL一窥Android Binder机制
Binder机制在Android系统中地位毋庸置疑,system_server就通过Binder来实现进程间的通信,从而达到管理、调用一系列系统服务的能力。本文就AIDL来解读一下Binder机制的。先了解一下如下几个概念:IBinder 、 Binder 、 BinderProxy 、 IInterfaceIBinder : 根据官方的说明文档IBinder定义的是一种使对象具备远程通信...
2019-05-20 16:54:32 156
原创 JVM之内存回收算法
概述GC需要完成3件事情:那些内粗需要回收什么时候回收如何回收那么该如何判断对象已死,可以被回收呢?引用计数法引用计数算法:给对象添加一个引用计数器,每当有一个地方引用它时,计数器就+1;当引用失效时计数器就-1;任何时候计数器为0时,对象就不再使用,可以被回收。虽然引用计数法实现简单,效率也很高,但是它很难解决对象之间的相互循环引用问题。举个例子:...
2018-07-12 17:24:56 243
原创 JVM之内存区域划分
JVM在执行Java过程中会把它所管理的内存划分为一下几个运行时数据区域:程序计数器Java虚拟机栈本地方法栈Java堆方法区程序计数器程序计数器是一块内存较小的空间,可以看作是当前线程执行的字节码的行号指示器,是每个线程私有的内存区域。当前线程执行的是java方法时,计数器记录的是正在执行的虚拟机字节码指令的地址当前线程执行的是Native方法时,计数器为...
2018-07-10 22:27:34 166
原创 Java类的初始化
之前整理了《JVM之类加载机制》的文章,对于一个类的初始化阶段介绍太过简略,这里再开一篇文章,着重介绍类的初始化流程。类初始化是类加载过程的最后一个阶段,到初始化阶段,才真正开始执行类中的Java程序代码。虚拟机规范严格规定了有且只有四种情况必须立即对类进行初始化:遇到new、getstatic、putstatic、invokestatic这四条字节码指令时,如果类还没有进行过初始化...
2018-07-10 18:05:49 142
原创 JVM之类加载机制
一个Java类从被加载到虚拟机内存到被卸载出内存为止,生命周期一共包括如下几个阶段:加载(Loading)验证 (Verfication)准备 (Preparation)解析 (Resolution)初始化 (Initialization)使用 (Using)卸载 (Unloading)其中验证、准备、解析这个3个部分统称为链接(Linking)。加载、验证、准...
2018-07-08 09:32:42 255
原创 Git 基本命令行
本文主要对一些常用的git命令行进行了分类汇总初始化仓库git init文件添加到暂存区git add test.txt文件提交git commit -m "test file commint"文件删除git rm test.txt与远程仓库关联git remote add origin git@server-na...
2018-06-02 22:52:52 135
原创 Android-DiffUtil以及最新ListAdapter介绍
本文主要介绍Android系统中提供的工具类DiffUtil,DiffUtil的主是用与RecyclerView的局部更新,从而提高页面刷新效率。本文基于最新的v7-27.1.1版本的RecyclerView做介绍,因为这个兼容包里面新增了一个ListAdapter,一并做介绍。DiffUtilDiffUtil是在安卓7.0上引入的工具类,相对于“传统”的nofityDataCha...
2018-06-02 22:47:48 2453
原创 java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.aiming.weipai-2/base.apk"],nativeLibraryDirectories=[/data/app/com.aiming.weipai-2 b/arm64, endor b64, /system b64]]] couldn't find "liblecpl
2016-04-28 19:29:19 28720 8
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人