摘要: 线程安全的定义 当多个线程同时访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那么就称这个对象是线程安全的。 final修饰的变量只要成功的创建出来,那么外部的可见状态永远不会变。 阅读全文
posted @ 2021-07-16 20:44 ClearRain 阅读(43) 评论(0) 推荐(0)
摘要: 实现分布式锁首先要保证这把锁不能使某个客户端本地的锁,不然其他客户端拿不到这把锁。 分布式锁可以和单机上的加锁释放锁操作一致,加锁时候同样需要判断锁变量的值,根据锁变量的值来判断能否加锁成功;释放锁的时候将锁变量的值设置为0,表示客户端不再拥有锁。和单机系统不同的是,分布式锁需要一个共享存储系统来维 阅读全文
posted @ 2021-07-16 16:38 ClearRain 阅读(286) 评论(0) 推荐(0)
摘要: 根据Mysql版本的不同来进行分析 mysql4.0 varchar(100) 表示100个字节 mysql5.0 varchar(100) 表示100个字符,无论英文还是汉字都可以存储100个 UTF8下1个汉字为3个字节 一个字符 varchar(100)与varchar(10)的区别 这两者存 阅读全文
posted @ 2021-07-16 16:02 ClearRain 阅读(4668) 评论(0) 推荐(0)
摘要: 一致性问题主要包含两种情况 缓存中有数据,那么缓存中的数据需要和数据库中数据的值相同 缓存中本身没有数据,那么数据中的值必须是最新值 除此之外就是缓存不一致问题了 解决一致性问题首先要根据缓存读写模式(读写缓存、只读缓存)来进行分析 读写缓存(对缓存进行增删改)时有两种方法 同步直写 写缓存时也同步 阅读全文
posted @ 2021-07-16 15:34 ClearRain 阅读(969) 评论(0) 推荐(0)