这段时间看了看工作室的工具库的下载组件,发现其存在一些问题: 下载核心逻辑有 bug,在暂停下载或下载失败等情况时有概率无法顺利完成下载。 虽然原来的设计是采用多线程断点续传的设计,但打了一下日志发现其实下载任务都是在同...
之前学习容器的时候缺少了一些笔记,现在补一下笔记顺便重新理解一遍这些容器的源码。 HashMap 是我们在 Java 开发中经常接触到的容器,今天就让我们从它的源码入手来了解它的实现原理。本文为上部分,不包含其有关红黑树的操作,下一...
JVM 与类加载 Java 语言中,类型的加载、连接和初始化都是在运行期进行的。这样会导致一些性能的开销,但同时使得 Java 成为了一种可以动态扩展的语言。比如编写一个面向接口的程序,可以到运行时再对其具体的实现类进行指定。Android...
Binder 是 Android 系统进程间进行跨进程通信的主要方式。我们都知道 Android 系统是基于 Linux 的,那么 Linux 已经提供了如管道(Pipe)、信号(Signal)、套接字(Socket)、报文队列(Message)、共享内存(Share Memory)、信号...