前置知识
- x86泛指一系列基于Intel 8086且向后兼容的中央处理器指令集架构。最早的8086处理器于1978年由Intel推出,为16位微处理器。
- 80X86 包括Intel 8086、80186、80286、80386以及80486
- 内存的分段和分页机制(参考《Linux内核完全剖析》)
80X86寄存器
关于什么是寄存器
以下基于80386 来说明
80386包含了16个寄存器,并分为以下几种类型:
- 通用寄存器。包含八个多用途的寄存器,通常进行算数和逻辑运算
- 段寄存器。包含六个寄存器,用来进行内存寻址
- 状态和指令寄存器。用于记录和改变当前处理器状态
如下图所示:
相关文章
网络编程杂谈之TCP协议
TCP协议属于网络分层中的传输层,传输层作用的就是建立端口与端口的通信,而其下一层网络层的主要作用是建立"主机到主机"的通信,所以在我们日常进行网络编程时只要确定主机和端口,就能实现程序之间的数据交流...
Netty源码分析之ChannelPipeline(一)—ChannelPipeline的构造与初始化
Netty中ChannelPipeline实际上类似与一条数据管道,负责传递Channel中读取的消息,它本质上是基于责任链模式的设计与实现,无论是IO事件的拦截器,还是用户自定义的ChannelHa...
JAVA 线程的6种状态
线程状态(Thread.State)。线程处于下列状态的其中之一。 一个线程一次只能有一个状态。这些状态是虚拟机线程状态,不能反映任何操作系统的线程状态。[En]A thread can only h...
Springboot3.0+spring6.0+JDK17+配置jsp和打war包
由于某些缘故,公司的产品需要升级,但并不希望花费大量时间重写前端代码(原来的就不是前后分离的)。所以虽然spring和springboot都升级为最新的版本,但是依然还是需要支持jsp,并继续用打包为...
运算符 (Java)
基本介绍 算术运算符:+,-,*,/,%,++,-- 赋值运算符:= 关系运算符: 实例展示 ``` public class Operator { //base.Operator 运&...
Java开发小游戏——扫雷
代码如下: ```java package com.game.saolei; import javax.swing.; import java.awt.; import java.awt.event....
Spring Bean生命周期
本文基于图灵课堂周瑜老师的讲解整理,包括spring bean加载的过程,主要是扫描BeanDefinition以及初始化非懒加载单例Bean两部分,源码取自SpringFramework 5.3.2...
【每日算法】剑指 Offer字符串的排列
题目描述 代码实现 题目描述 这是 LeetCode 上的 剑指 Offer 38. 字符串的排列, 难度为 【中】 输入一&...
SpringBoot2.x修改Redis序列化方式
添加一个配置类即可: ```java /* * @Author FengZeng * @Date 2022-03-22 13:43 * @Description TODO / @Configurati...
List的同步类比较
TL;NRs CopyOnWriteArrayList类在多线程顺序读取上有很大的优势,但在随机读取上反而有较大的劣势,且在写入方面性能极差。 Vector类在顺序读取方面性能较差,但在随机读取方面有...
整合redis并完成短信验证服务
添加依赖 com.tencentcloudapi tencentcloud-sdk-java 3.1.509 org.springframework.boot spring-boot-starter-...
Halo 开源项目学习(四):发布文章与页面
基本介绍 博客最基本的功能就是让作者能够自由发布自己的文章,分享自己观点,记录学习的过程。Halo 为用户提供了发布文章和展示自定义页面的功能,下面我们分析一下这些功能的实现过程。 管理员发布文章 H...
恐怖的Hibernate和JavaFX Table CallBack!
最近在做 JavaFX 应用,不管再怎么避免数据持久化,但面对几十万的数据量的时候也只能乖乖的去配置持久层框架了。 一开始打算还是使用Mybatis,我在做Web的时候就是一只用Mybatis框架,而...