- 博客(9)
- 收藏
- 关注
原创 APK 签名:v1 v2 v3 v4
通过对 Apk 进行签名,开发者可以证明对 Apk 的所有权和控制权,可用于安装和更新其应用。而在 Android 设备上的安装 Apk ,如果是一个没有被签名的 Apk,则会被拒绝安装。在安装 Apk 的时候,软件包管理器也会验证 Apk 是否已经被正确签名,并且通过签名证书和数据摘要验证是否合法没有被篡改。只有确认安全无篡改的情况下,才允许安装在设备上。简单来说,APK 的签名主要作用有两个:证明 APK 的所有者。 允许 Android 市场和设备校验 APK 的正确性。
2021-09-15 13:57:06
12856
原创 Java线程的状态及主要转化方法
1 操作系统中的线程状态转换首先我们来看看操作系统中的线程状态转换。在现在的操作系统中,线程是被视为轻量级进程的,所以操作系统线程的状态其实和操作系统进程的状态是一致的。操作系统线程主要有以下三个状态:就绪状态(ready):线程正在等待使用CPU,经调度程序调用之后可进入running状态。 执行状态(running):线程正在使用CPU。 等待状态(waiting): 线程经过等待事件的调用或者正在等待其他资源(如I/O)。4.2 Java线程的6个状态// Thre
2021-09-13 10:29:12
10176
原创 进程与线程的基本概念
1.1 进程产生的背景最初的计算机只能接受一些特定的指令,用户每输入一个指令,计算机就做出一个操作。当用户在思考或者输入时,计算机就在等待。这样效率非常低下,在很多时候,计算机都处在等待状态。批处理操作系统后来有了批处理操作系统,把一系列需要操作的指令写下来,形成一个清单,一次性交给计算机。用户将多个需要执行的程序写在磁带上,然后交由计算机去读取并逐个执行这些程序,并将输出结果写在另一个磁带上。批处理操作系统在一定程度上提高了计算机的效率,但是由于批处理操作系统的指令运行方式仍然是串行的,内
2021-09-13 10:27:22
10824
原创 线程池原理
2.1 为什么要使用线程池使用线程池主要有以下三个原因:创建/销毁线程需要消耗系统资源,线程池可以复用已创建的线程。 控制并发的数量。并发数量过多,可能会导致资源消耗过多,从而造成服务器崩溃。(主要原因) 可以对线程做统一管理。12.2 线程池的原理Java中的线程池顶层接口是Executor接口,ThreadPoolExecutor是这个接口的实现类。我们先看看ThreadPoolExecutor类。12.2.1 ThreadPoolExecutor提供的构造方法一共有四个构
2021-09-13 10:25:59
9657
原创 代理模式,看这一篇就足够!
定义代理模式(Proxy Design Pattern)的原理和代码实现都不难掌握。它在不改变原始类(或叫被代理类)代码的情况下,通过引入代理类来给原始类附加功能。原理下面是一段登录和注册逻辑的代码,内部加入了性能计数器,用来收集接口请求的原始数据。public class UserController { //...省略其他属性和方法... private MetricsCollector metricsCollector; // 依赖注入 public Use.
2021-09-11 17:17:02
11378
原创 里氏替换原则public class Transporter { private HttpClient httpClient; public Transporter(HttpClient
定义里式替换原则的英文翻译是:Liskov Substitution Principle,缩写为 LSP。子类对象(object of subtype/derived class)能够替换程序(program)中父类对象(object of base/parent class)出现的任何地方,并且保证原来程序的逻辑行为(behavior)不变及正确性不被破坏。这么说还是比较抽象,我们通过一个例子来解释一下。如下代码中,父类 Transporter 使用 org.apache.http
2021-09-11 17:11:27
11311
原创 冯·诺依曼体系结构
组成任何一台计算机的任何一个部件都可以归到运算器、控制器、存储器、输入设备和输出设备中,而所有的现代计算机也都是基于这个基础架构来设计开发的。而所有的计算机程序,也都可以抽象为从输入设备读取输入信息,通过运算器和控制器来执行存储在存储器里的程序,最终把结果输出到输出设备中。而我们所有撰写的无论高级还是低级语言的程序,也都是基于这样一个抽象框架来进行运作的。总结可以说,冯·诺依曼体系结构确立了我们现在每天使用的计算机硬件的基础架构。因此,学习计算机组成原理,其实就...
2021-09-11 17:06:58
11192
原创 必知必会:计算机指令
CPU 的职责我们常说,CPU 就是计算机的大脑。CPU 的全称是 Central Processing Unit,中文是中央处理器。从硬件的角度来看,CPU 就是一个超大规模集成电路,通过电路实现了加法、乘法乃至各种各样的处理逻辑。如果我们从软件工程师的角度来讲,CPU 就是一个执行各种计算机指令(Instruction Code)的逻辑机器。这里的计算机指令,就好比一门 CPU 能够听得懂的语言,我们也可以把它叫作机器语言(Machine Language)。不同的 ...
2021-09-11 17:05:55
11703
原创 程序员必知必会:Http 报文格式
请求报文:响应报文:请求行Method + Path + HTTP 版本状态行HTTP 版本 + 状态码 + 状态信息Http MethodGETPOSTPUTDELETEHEADHEAD 方法要求与 GET 请求相同的响应,但没有响应主体。这对于检索响应标头中写入的元信息很有用,而不必传输整个内容。TRACE回显服务器收到的请求,主要用于测试或诊断。OPTIONS这个方法可使服务器传回该资源所支持的所有 HTTP 请求方法。用
2021-09-11 17:04:00
11912
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅