原理mvcc

Kafka原理解析

前言 从整体浅析Kafka集群结构、和Zookeeper之间的关系、长轮询机制、消息生产和消费以及顺序消费等。 名词解释 Broker(Kafka服务) Controller(唯一充当控制器的Kafka服务) Topic(消息主题,一个主题包含多个) Partition(消息分区),Replica( ......
原理 Kafka

GPIO原理与寄存器

GPIO的工作方式 输入 浮空输入模式 输出缓冲器被禁止,施密特触发输入被激活,不接上拉和下拉电阻,出现在I/O脚上的数据在每个APB2时钟被采样到输入数据寄存器。 上拉输入模式 输出缓冲器被禁止,施密特触发输入被激活,上拉电阻接通,不接下拉电阻,当I/O引脚无输入信号时,读取到的数据为1,即高电平 ......
寄存器 原理 GPIO

ThreadLocal原理

一、什么是ThreadLocal ThreadLocal是线程内的局部变量,仅在线程的生命周期内起作用。变量值在线程间不可见。 二、ThreadLocal的使用 ThreadLocal使用详情如下: 1 import java.util.concurrent.CountDownLatch; 2 3 ......
ThreadLocal 原理

10静态路由原理及配置

1.路由: 从源主机到目标主机的转发过程 (路由器就是能够将数据包转发到正确的目的地,并在转发的过程中选择最佳路径的设备就是路由器) 2.根据路由表转发数据 1网段要给4网段发送消息:主机1的数据首先到路由器A这里,路由器A 这里首先会查询路由器表,查看自己的路由表中数据发送到4网段数据需要出来的接 ......
路由 静态 原理

(第六篇)__iter__、__next__及for循环执行原理(可迭代对象、迭代器、生成器)

摘要:只要有__iter__,那么这个对象就是可迭代对象,若对象有__iter__和__next__两种方法,则这个对象为迭代器对象。 一、概念 什么是迭代? 迭代就是重复,但是每一次重复都与上一次有关联,这就是迭代。 """ 这不是迭代,这是简单的重复 """ while True: print( ......
生成器 原理 对象 iter next

new操作符的原理

首先这里是一个构造函数: function Fun(age,name){ this.age=age this.name=name } 这个是创建的函数: function create(fn,...args){ 1.创建了一个空对象 var obj = {} 2.将空对象的原型指向构造函数的对象 O ......
操作符 原理 new

golang pprof 监控系列(3) —— memory,block,mutex 统计原理

golang pprof 监控系列(3) —— memory,block,mutex 统计原理 大家好,我是蓝胖子。 在上一篇文章 golang pprof监控系列(2) —— memory,block,mutex 使用里我讲解了这3种性能指标如何在程序中暴露以及各自监控的范围。也有提到memory ......
原理 golang memory block pprof

一文带你弄懂 Maven 拉包原理

业务需求开发的时候,我们总是会遇到拉不到依赖包的情况。此时如果不清楚 Maven 拉取依赖包的原理,那么很可能找不到问题所在。今天树哥就带大家了解下 Maven 拉包的原理,让你在遇到问题的时候能快速解决! 三种仓库 在 Maven 中,仓库指的是存放代码构建的一个位置。从分类上来说,Maven 仓 ......
原理 Maven

基础原理 | 善用数据手册

【1】STM32F103ZET6定义 STM32 =基于ARM核心的32位微控制器 F =通用类型 103 = 增强型 Z = 引脚数目为144脚(引脚越多外设越多) E = 512K字节的闪存存储器 T = 封装为LQFP(LQFP144) 6 = 工业级温度范围-40~85 【2】引脚定义 引脚 ......
原理 手册 基础 数据

考研复试 数据库原理背诵内容(自用版本)

知识点背诵 什么是数据库的事务(事务处理)? 数据库的事务是对数据库操作的一组集合,这些操作要么全部成功,要么全部失败,一旦有一个操作失败,则整个事务回进行回滚,回到事务开始前的状态 请解释ACID是什么意思? ACID是指事务的四个特性,即 原子性:事务一旦进行则必须全部完成,一旦有一个操作失败, ......
原理 版本 数据库 内容 数据

考研复试 数据库原理知识点整理(自用版)

###知识点整理 数据与语义不可分 数据库:长期储存在计算机内,有组织可共享的大量数据的集合 为了抽取有用信息,转换为有用信息 数据库管理系统:数据管理软件,高效运用和管理数据 数据定义(DDL) 数据组织,存储和管理 数据操纵语言(DML) 数据的事务管理和运行管理 数据库的建立和维护功能 数据库 ......
知识点 原理 数据库 知识 数据

数据库系统原理之数据库应用设计与开发实例

数据库应用设计与开发实例 第一节 需求描述与分析 在此,结合某高校个性化课程在线选课的实际需求,给出一个简化的需求分析 一、功能性需求 1 管理员后台模块 学生信息管理 教师信息管理 课程信息管理 班级信息管理 2 学生使用模块 查询课程 浏览所选课程 查询成绩 3 教师使用模块 我的课程 登分 二 ......
数据库 开发实例 数据 实例 原理

go run、build、install、get的原理和区别

学习go也有好些年头了,都没怎么研究过go的编译命令。真是惭愧。今天学习并记录下 结论: go run 专门用来运行命令源码文件的命令,一般用来运行单个文件 go build 主要是用于测试编译。编译某个包或者项目,在当前目录下生成可执行文件 go install 编译并安装代码包或者源码文件的。 ......
原理 install build get run

一文带你弄懂 Maven 拉包原理

业务需求开发的时候,我们总是会遇到拉不到依赖包的情况。此时如果不清楚 Maven 拉取依赖包的原理,那么很可能找不到问题所在。今天树哥就带大家了解下 Maven 拉包的原理,让你在遇到问题的时候能快速解决! 三种仓库 在 Maven 中,仓库指的是存放代码构建的一个位置。从分类上来说,Maven 仓 ......
原理 Maven

virtualenv、virtualenvwrapper创建虚拟环境与使用原理

摘要:virtualenv和virtualenvwrapper是创建和管理python虚拟环境的工具包,virtualenvwrapper是virtualenv的封装与扩展而来,方便创建、删除、切换虚拟环境 一、原理 macos ~/.bash_profile添加系统环境变量: export WOR ......
virtualenvwrapper virtualenv 原理 环境

干货| 动态更新(热更新)机制及技术原理分享

近期工作提到动态更新比较多,今天也借此机会,梳理一下相关的机制原理同大家分享。 动态机制及技术原理 动态研发模式就是一种基于云端的移动应用开发方法,主要能让开发者快速构建和发布多端的移动应用,实现业务的敏捷迭代和热更新,提高用户体验和运营效率。实现动态更新的原理可以分为两个部分:应用程序更新机制和资 ......
干货 原理 机制 动态 技术

堆块chunk介绍及unlink漏洞利用原理

堆块chunk介绍及unlink漏洞利用原理 chunk结构 当进程动态分配内存时,系统会在堆中创建一个chunk(堆块)。chunk包含chunk头和chunk体两部分 chunk头中有两个字段: prev_size:前一个chunk的size,前指的之前分配的内存,也就是低地址相邻的chunk ......
漏洞 原理 unlink chunk

《逆向工程核心原理》之DLL注入

DLL注入 DLL注入指的是向运行中的其他进程强制插入特定的DLL文件。从技术细节来说,DLL注入命令其他进程自行调用LoadLibrary() API,加载(Loading)用户指定的DLL文件。DLL注入与一般DLL加载的区别在于,加载的目标进程是其自身或其他进程。下图描述了DLL注入的概念。 ......
逆向工程 原理 核心 工程 DLL

VLAN原理与配置

什么是VLAN 传统以太网由于泛洪等操作容易产生网络安全和垃圾流量问题,而且广播域越大,网络安全问题和垃圾流量问题就越严重。为了解决此类问题,人们引入了VLAN——虚拟局域网技术。 通过在交换机上部署VLAN,可以将一个规模较大的广播域在逻辑上划分成若干个不同的、规模较小的广播域,由此可以有效地提升 ......
原理 VLAN

原理图1

【1】用STM32单片机驱动一个5V的继电器: 继电器 SRD-05VDC-SL-C 引脚:一共五个引脚,两个是线圈(1和4),一个是公共端(5),一个常开一个常闭(2和3) 三极管:STM32单片机引脚高电平为3.3V,用NPN型三极管,则高电平导通,低电平截止。如果用PNP型,由于三极管压降是0 ......
原理

【Java 并发】【八】【Atomic】【四】Strimped64分段锁实现原理

1 前言 上一节我们对LongAdder的底层源码、实现机制进行了深入了剖析,包括AtomicInteger在高并发竞争下导致的大量自旋的问题,以及LongAdder是怎么使用分段锁优化这个问题的。我们最后看到longAccumulate托底的方法,这一节我们来深入的分析一下Striped64的分段 ......
Strimped 原理 Atomic Java 64

Cadence应用笔记:原理图导PDF

设置 1.打开菜单栏选择打印 2.勾选黑白 3.选择一个虚拟打印机 ......
原理 Cadence 笔记 PDF

Mybatis插件原理详解(转载)

前言 上次发文说到了如何集成分页插件,接下来聊mybatis插件的原理。 插件原理分析 mybatis插件涉及到的几个类: 我将以 Executor 为例,分析 MyBatis 是如何为 Executor 实例植入插件的。Executor 实例是在开启 SqlSession 时被创建的,因此,我们从 ......
插件 原理 Mybatis

textarea的取值赋值原理

取值赋值常用的方法,html(),text(),val() 单独说说textarea .它是表单元素,val()可用 .它是闭合标签,html(),text()可用 这三个都可以取值赋值,会有怎样的效果?举例 <textarea class="test">111</textarea> 一、取值 1. ......
textarea 原理

MyBatis插件原理解析(转载)

前言 大多数框架都支持插件,用户可通过编写插件来自行扩展功能,Mybatis也不例外。 在Mybatis中最出名的就是PageHelper 分页插件,下面我们先来使用一下这个分页插件。 如何集成分页插件 Spring-Boot+Mybatis+PageHelper 引入pom依赖 <dependen ......
插件 原理 MyBatis

Mongo主从同步原理

1. Mongo主从同步原理 Mongo主从同步原理是基于复制集(replicate set).复制集是一组mongodb实例,其中一个实例为主节点,其他实例为从节点。主节点负责所有数据写操作,并将写操作的结果复制到从节点。从节点只能读取数据,不能写入数据 在mongo中,主节点和从节点之间的数据同 ......
主从 原理 Mongo

【Java 并发】【八】【Atomic】【三】LongAdder的原理-分段锁提升并发性能

1 前言 上一节我们讲解了cas的缺陷,无法同时更新多个变量、以及ABA的问题。以及如果使用AtomicReference解决同时更新多个变量,如果使用AtomicStampedReference解决ABA的问题,这节我们就来讲解CAS带来的另外一个问题,在并发激烈的时候,产生大量的自旋,空耗CPU ......
LongAdder 原理 性能 Atomic Java

【Java 并发】【八】【Atomic】【三】AtomicReference、AtomicStampReference原理

1 前言 上节我们看了AtomicInteger、AtomicBoolean的原理,这一篇我们就来说说Atomic系列的另一个分类AtomicReference和AtomicStampReference。 2 多个变量修改的原子性 JUC虽然提供了AtomicInteger、AtomicBoolea ......

如何理解MySQL的MVCC多版本并发控制

前言 我们知道在mysql中存在四种隔离级别(读未提交、读已提交、可重复读、序列化),它默认的就是隔离级别就是可重复读,它能够解决脏读、不可重复读问题,并且在innodb引擎下能部分解决幻读问题。在mysql innodb存储引擎下RC(读已提交),RR(可重复读)基于MVCC(多版本并发控制)进行 ......
版本 MySQL MVCC

【Java 并发】【八】【Atomic】【二】AtomicInteger、AtomicBoolean原理

1 前言 这节我们从AtomicInteger这个比较简单的原子类开始,来看看AtomicInteger的底层原理。 2 实测样例对比线程安全性 在说AtomicInteger的底层原理之前呢,我们先来看个例子感受下原子类: static修饰的共享变量,我们开启两个线程对共享变量进行10000次+1 ......