JVM 与 Class 提到 Class 文件我们先来讨论一下 Java 的跨平台性。Java 是一种『一次编写,到处运行』的语言,也就是说它具有跨平台性。这与 C/C++ 『一次编写,处处编译』的跨平台性不同,Java 的跨平台性是依赖于 Java 虚拟机(以下...
Binder 是 Android 系统进程间进行跨进程通信的主要方式。我们都知道 Android 系统是基于 Linux 的,那么 Linux 已经提供了如管道(Pipe)、信号(Signal)、套接字(Socket)、报文队列(Message)、共享内存(Share Memory)、信号...
由于自己之前常用到的很多开源框架比如GreenDao、EventBus、ButterKnife、ARouter等都用到了自定义的注解,感觉自己应该花时间去学一下怎么在自己写的库中用到注解了,因此写下了这样一篇文章。 什么是注解 首先,要明白什么是注解。 ...
Java中的ClassLoader 任何的Java程序都是由若干的.class文件组成的完整Java程序。程序运行时需要将.class文件加载到JVM中使用。而负责加载.class文件的就是ClassLoader机制。 ClassLoader的作用简单来说就是加载.class文件,提供给程...
目前很多网站都开始不再使用HTTP协议,而是使用HTTPS协议,原因是因为它相比HTTP协议更加安全。那么,它究竟安全在哪里呢? HTTP协议为何不安全 在说明为何HTTPS是一个安全的协议之前,我们先来讨论HTTP协议为什么是不安全的。 问题一...
JNI 概念 JNI是Java Native Interface的简写,它可以使Java与其他语言(如C、C++)进行交互。 它是Java调用Native语言的一种特性,属于Java语言的范畴,与Android无关。 为何需要JNI Java的源文件非常容易被反编译,而通过Native语言生...
Android框架层学习笔记——系统启动流程 首先要感谢@刘望舒大神的博客,让我们这些渣渣有途径更快速地接触到Android框架层的内容。 本篇博客主要基于Android7.0来分析Android系统的启动流程。 init进程启动过程 init进程 init进程是Andr...