欢迎来到勇者の小栈

   七岁几胆敢预言自己,操一艘战机

系统调用与用户态陷入内核态

我们都知道操作系统中运行着很多的进程,如果普通的进程可以直接操作硬件那么这个系统的安全性没办法保障,所以操作系统分出了两种状态,一种状态是运行的代码可以操作硬件;一种状态不能操作硬件,只能切换到第一种状态去操作后再切换回来,这就是内核态和用户态。在用户态下,进程只能访问自己的虚拟地址空间和一些受限的

自定义OAuth2组件实现对授权码登录模式的封装

一、OAuth2简介所谓OAuth2其实就是Open Authorization,即开放授权,是一种授权机制或者说是一种协议。OAuth2允许用户授权第三方应用访问其存储在开放平台(授权服务器)中的数据而不需要提供密码。授权服务器根据OAuth2协议标准制订一套授权的API,第三方网站接入开放平台之

HTTPS加密原理

一、加密基础1、单向加密也称为不可逆加密,对明文产生一个密文,并且不能通过密文解出对应的明文使用场景:一般用于信息摘要,密钥加密等常见的单向加密算法有:MD5SHA:SHA192,SHA256特点:不可逆输入一样,输出相同2、对称加密对称加密,用一个密钥,对明文进行加密,同理,同这把密钥,也可以对密

MySQL基本组件与存储引擎

一、MySQL基础架构简单来说 MySQL 主要分为 Server 层和存储引擎层:Server 层:主要包括连接器、查询缓存、分析器、优化器、执行器等,所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图,函数等,还有一个通用的日志模块 binlog 日志模块。存储引擎: 主要负责数据的

MySQL锁的分类和加锁机制

MySQL锁在了解MySQL锁之前,首先我们必须要明白加锁的是为了解决什么问题?我们知道事务具有个隔离性的特性,而隔离性的实现主要就是通过锁以及MVCC机制实现的(关于MVCC机制以及隔离级别的实现可查看文章:MySQL事务详解与隔离级别的实现)MVCC是一种用来解决读写冲突的无锁并发控制,在并发读

MySQL事务详解与隔离级别的实现

一、四个特性原子性:所有操作要么全部执行要么全部不执行,一条指令失败则数据进行回滚,回到所有指令执行前的状态。一致性:事务开始前和结束后,数据库的完整性约束没有被破坏。即数据从一个状态转换为另一个状态,但是对于整个数据的完整性保持稳定。比如A向B转账,不可能A扣了钱,B却没收到。隔离性:同一时间,只

Arrays.asList、ArrayList.subList使用规范

1、使用Arrays.asList的注意事项使用Arrays.asList()把数组转换为集合时,不能使用其修改集合相关的方法,如add/remove/clear等,均会抛出UnsupportedOperationException异常。因为asList返回的对象不是我们常用的java.util包下

MySQL索引

1、简介索引是帮助MySQL高效获取数据的排好序的数据结构。MySQL索引的建立对于MySQL的高效运行是很重要的,可以大大提高MySQL的检索速度。索引是在存储引擎中实现的,因此,每种存储引擎的索引都不一定完全相同,并且每种存储引擎也不一定支持所有索引类型。MySQL中索引的存储类型有两种,即BT

API接口签名验证

一、使用背景过去对于接口的验证我一般都是直接在登录时为用户发放token,用户在随后的操作中携带了token则允许请求。但是这样的验证方式存在有一定的问题,如果token泄露被他人获取,那么就会有非法请求的风险。其他人可以使用这个token自行调用接口进行请求,传入非法参数甚至进行注入攻击等,可能会

欢迎来到勇者の小栈

回到白天     |  进入黑夜