07 2021 档案

摘要:i只需要执行一条指令,并不能保证多个线程i,操作同一个i变量,可以得到正确的结果。因为还有寄存器的因素,多个CPU对应多个寄存器。每次要先把i从内存中复制到寄存器,然后++,然后再把i复制到内存中,这需要至少步。从这个意义上讲,说i++是原子操作的并不对。 如此,假设两个线程的执行步骤如下: 1、线 阅读全文
posted @ 2021-07-24 09:25 轻风格走一走 阅读(882) 评论(0) 推荐(0)
摘要:B树、B+树详解 B树 前言 首先,为什么要总结B树、B+树的知识呢?最近在学习数据库索引调优相关知识,数据库系统普遍采用B树、B+树作为索引结构,例如 MYSQL的InnoDB引擎使用的就是B+树,理解不透彻B树,则无法理解数据库的索引机制,接下俩将用最简洁直白的内容来了解B树、B+树的数据结构。 阅读全文
posted @ 2021-07-19 12:47 轻风格走一走 阅读(578) 评论(0) 推荐(0)
摘要:java并发编程中的重排序问题 重排序 在多核处理器的环境下,编写的顺序结构,这种操作执行的顺序可能是没有保障的: 编译器、处理器可能会改变两个操作的先后顺序 这种一个处理器上执行的多个操作,在其他处理器来看它的顺序与目标代码指定的顺序可能是不一样的,这种现象称为重排序。 重排序是对内存访问有序操作 阅读全文
posted @ 2021-07-17 21:00 轻风格走一走 阅读(385) 评论(0) 推荐(0)
摘要:AVL树之java实现 AVL树的介绍: 一、判断二叉排序树是否平衡 AVL树是高度平衡的二叉树,他的特点是:AVL树种任何节点的两个子树的高度差最大差别为1 二叉排序树平衡的充分必要条件是器每个节点的左右子树高度差的绝对值小于1.叶子节点的高度为1,其父节点的高度为2,依次增加,直到root节点, 阅读全文
posted @ 2021-07-15 17:04 轻风格走一走 阅读(381) 评论(1) 推荐(0)