后端
说说ThreadLocal原理?
ThreadLocal可以理解为线程本地变量,它会在每个线程都创建⼀个副本,那么在线程之间访问内部副本变量就⾏了,做到了线程之间互相隔离,相⽐于synchronized的做法是⽤空间来换时间。
ThreadLocal内,有⼀个静态内部类:ThreadLocalMap,ThreadLocalMap⼜包含了⼀个Entry数组,Entry本身是⼀个弱引⽤,它的key是指向ThreadLocal的弱引⽤,
分布式系统中分布式ID生成方案的技术详解
分布式系统中分布式ID生成方案的技术详解
一、分布式系统唯一ID的特点
二、分布式系统唯一ID的实现方案
1. UUID
2. 数据库生成ID
3. Redis生成ID
4. Snowflake雪花算法
5. 美团Leaf
三、总结
在复杂的分布式系统中,数据被分散存储在不同的节点上,每个节点都有自己独立
【MySQL】数据类型和表的操作
目录一. 常用的数据类型1.数值类型1.1 整形类型 1.2 浮点型类型2.字符串类型char和varchar的区别如何选择char和varchar3.日期类型4.二进制类型二. 表的操作1.查看所有表2.表的创建3.查看表的结构4.表的修改4.1 添加新的列 4.2 修改表中现有的列 4.3 删除表中现有的列4.4 重命名表中现有的列 4.5 重命名当前表5.表的删除一. 常用的数据类型在我们日
学生对“理清思路”之惑的反思:
初中语文七上第四单元学习单元的核心问题是:通过划分段落层次,抓关键语句等方法,理清作者思路。基于核心问题,在设《植树的牧羊人》一课时,基于单元核心问题,设置的主问题为:跳读课文,划出文章的重点句和标志故事情节发展的句子,理清作者的思路,完成文章的结构图。并给出学习提示,结构层面的重点句指的是,总起句,总括句,过渡句,点题句,前后呼应句等;标志故事情节发展的句子关注文章中“我”和牧羊人见面
带排斥对象的粒子系统
书名:代码本色:用编程模拟自然系统
作者:Daniel Shiffman
译者:周晗彬
ISBN:978-7-115-36947-5
目录
4.12 带排斥对象的粒子系统
1、带排斥对象的粒子系统
我们想进一步优化这个粒子系统,在其中加入一个排斥对象(Repeller)——排斥对象的作用力和第2章中的引力相反,排斥对象对其他对象有斥力作用,以防止对方靠近。这个特性实现起来比较复杂,和重力不
金融机构架构面临的挑战-1.2 容量
1.2 容量
这里的容量指的是单位时间内系统能吞吐的最大业务量,一个系统的吞吐量通常可以通过QPS(Queries Per Second,每秒查询率,是系统咋规定时间内所处理查询流量多少的衡量标准)和TPS(Transactions Per Second,每秒传输的处理事务个数,即服务器每秒处理的事务数)来衡量。每个系统的容量都有一个相对的极限值。随着业务的快速发展,系统处理的流量和数据量也在上涨
现代无线通信接收机架构:超外差、零中频与低中频的比较分析
写在前面:本博客是对三种接收机架构的学习笔记,仅供个人学习记录使用。内容主要是上网查阅的资料,以及个人的一些理解。如有错误的地方请指出!
文章目录
一、通信机基本架构
1、射频发射级的基本组成及完成功能
2、射频接收级的基本组成及完成的功能
3、设计接收机和发射机的射频部分时应解决的关键问题
二、超外差接收机
并发编程-JMM内存模型
一、定义
Java内存模型(Java Memory Model简称JMM)是一种抽象的概念,并不真实存在,它描述的是一组规则或规范,通过这组规范定义了程序中各个变量(包括实例字段,静态字段和构成数组对象的元素)的访问方式。
JVM运行程序的实体是线程,而每个线程创建时JVM都会为其创建一个工作内存(有些地方称为栈空间),用于存储线程私有的数据,而Java内存模型中规定所有变量都存储在主内存,主内存
IO、NIO、BIO傻傻分不清吗,让我对象告诉你~~
1、Stream 与 Channel
stream 不会自动缓冲数据,channel 会利用系统提供的发送缓冲区、接收缓冲区(更为底层)
stream 仅支持阻塞 API,channel 同时支持阻塞、非阻塞 API,网络 channel 可配合 selector 实现多路复用
二者均为全双工,即读写可以同时进行
虽然 Stream 是单向流动的,但是它也是全双工的
2、IO 模型
同步:线