01 2023 档案

摘要:锁的本质是占有,锁的目的是同步。 乐观锁CAS,不是锁,是无锁结构。 分布式锁,没有什么特殊的,只是能跨进程执行同步而已。只要是锁放在独立进程外,那么它就有作为分布式锁的可能,比如redis的 setNx,比如数据库的写锁,都可以作为分布式锁。用独立的一个java的锁通过RPC协议保留获取锁和释放锁 阅读全文

posted @ 2023-01-30 23:10 zhangyukun 阅读(71) 评论(0) 推荐(0) 编辑

深入理解CAP BASE ACID
摘要:网络分区(脑裂)以后,单主集群出现了多主,怎么解决? 看集群的做法,有些集群的做法是降级的节点,不会在加入节点变成从,那么我们可以通过比对数据,把没有同步的部分写入集群,然后把它改成从。 如果集群做法是老主自动降级位从,并且同步当前新主的数据,那么我们只能通过历史日志,或者老主的数据备份来恢复数据了 阅读全文

posted @ 2023-01-21 21:30 zhangyukun 阅读(26) 评论(0) 推荐(0) 编辑

架构杂记(2)
摘要:每次JVM启动以后都是单独虚拟的一块内存空间,所以程序第一次打印 System.out.println( new Object() );的结果是一样,不管运行多少次,如果不干别的事,第二次,第三次答应,也分别可另一一次启动的JVM结果一样。我们说的hash是内存地址,是Java虚拟的内存的地址。 J 阅读全文

posted @ 2023-01-20 19:40 zhangyukun 阅读(112) 评论(0) 推荐(0) 编辑

http协议缓存详解
摘要:浏览器端强制缓存,http响应头expires 和 cache-control 是设置缓存的重要参数 expires 设置到期时间点,这是http1.0的产物,对于客户端时间和服务器端有时差的情况,会导致缓存失效,或者缓存时间变长。 cache-control 设置多久以后过期,http1.1的的优 阅读全文

posted @ 2023-01-16 19:29 zhangyukun 阅读(105) 评论(0) 推荐(0) 编辑

IDEA使用技巧
摘要:使用IDEA发送HTTP请求,调试接口 点击contraller方法左边的小图标 然后这边可以发送请求,并且还有一些请求模板,请求日志,请求环境变量,例子之类的东西 配置文件,本地零时修改,提交代码的时候不想提交 1 去掉勾选 2 然后这里会多出2个菜单,local ChangerList菜单下面的 阅读全文

posted @ 2023-01-15 00:13 zhangyukun 阅读(100) 评论(0) 推荐(0) 编辑

mysql事务隔离级别和MVCC详解
摘要:数据隔离级别。 脏写:所有数据库都解决了脏写,脏写是指写入的时候没有加锁,然后两次并发写入不会排队,然后丢失一次修改的更新。即便是redis之类的非关系型数据库也通过CAS乐观锁来解决了脏写问题。 脏读:读了没有提交的事务的修改记录,这种数据可能会回滚,这种数据是不能用的。 不可重复读:两次读取读到 阅读全文

posted @ 2023-01-09 23:31 zhangyukun 阅读(109) 评论(0) 推荐(0) 编辑

级联数据获取方案
摘要:背景,分布式系统中,我们需要数据级联,很多时候拿到的是userId或者List,然后返回给前端展示的时候需要id对应的一些其他信息比如昵称。为啥我们只有id,没有直接查询出来这些信息呢?可能是表关联太多,性能低。也可能是对应的数据在另外的服务上面,没法用表关联。 首先说一句,通过id 轮询查询 附加 阅读全文

posted @ 2023-01-09 00:22 zhangyukun 阅读(201) 评论(0) 推荐(0) 编辑

hmac php java结果不一样问题
摘要:比如我们有个服务是PHP提供的,要求的签名方式 hmacSha256取摘要,然后 Base64编码转化成可见字符。 PHP那边的源码是这样的 $result = base64_encode(hash_hmac("SHA256" , "内容" , '密钥')); echo $result; 我们放到p 阅读全文

posted @ 2023-01-04 22:02 zhangyukun 阅读(1070) 评论(0) 推荐(0) 编辑

简单谈谈我眼中的程序
摘要:普通用户看来,程序就是他们能看到的用户界面,比如电脑里面装的软件,手机上装的app,浏览器能打开的网页。但是,这只是一个程序的一小部分。 程序最重要的是数据,用户感知最强的是ui,在数据和ui之间,还有一些必不可少的步骤,比如对数据提取,加工,运算。 个人认为程序的本质是数据,程序的灵魂是对数据的提 阅读全文

posted @ 2023-01-02 13:14 zhangyukun 阅读(107) 评论(0) 推荐(0) 编辑

怎样才能保证注册用户名唯一
摘要:首先这可能不是一个很简单的问题,很多程序员大概会这么写 这样写有问题吗?明显,并发情况两个用户同时进入17行,都查询到 null,然后都执行22行,数据库插入了两条 同样的 userName。这写法不可用。 既然数据库会重复,那么我们就在数据库userName字段加上唯一索引,改成下面写法 现在有问 阅读全文

posted @ 2023-01-01 23:41 zhangyukun 阅读(922) 评论(6) 推荐(0) 编辑

架构杂记(1)
摘要:数据库设计的时候,有些时候可考虑横向分表,把不常用,占用空间多,并且这张表的数据可能超过千万级别,这种情况吧一个表分成基础表和拓展表,可以明显的提高数据检索效率,Btree 的结构决定每行的数据越少,每页能放的行数越多,数据结构就越矮胖,查询效率就越高 纵向分表也是一种常见的策略,用类似的也可以分库 阅读全文

posted @ 2023-01-01 14:00 zhangyukun 阅读(75) 评论(0) 推荐(0) 编辑

导航

< 2025年4月 >
30 31 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 1 2 3
4 5 6 7 8 9 10
点击右上角即可分享
微信分享提示