Wesley13 Wesley13
3年前
java并发程序和共享对象实用策略
java并发程序和共享对象实用策略在并发程序中使用和共享对象时,可以使用一些实用的策略,包括:1.线程封闭2.只读共享。共享的只读对象可以由多个线程并发访问,但任何线程都不能修改它。共享的只读对象包括不可变对象和事实不可变对象3.线程安全共享。线程安全地对象在器内部实现同步。4.保护对象。被保护的对象只能通过持有特定的锁
Stella981 Stella981
3年前
ConcurrentHashMap之实现细节
ConcurrentHashMap是Java5中支持高并发、高吞吐量的线程安全HashMap实现。在这之前我对ConcurrentHashMap只有一些肤浅的理解,仅知道它采用了多个锁,大概也足够了。但是在经过一次惨痛的面试经历之后,我觉得必须深入研究它的实现。面试中被问到读是否要加锁,因为读写会发生冲突,我说必须要加锁,我和面试官也因此发生了冲突
Wesley13 Wesley13
3年前
MQ实现消息的幂等性
一、什么是幂等性可以参考数据库乐观锁机制,比如执行一条更新库存的SQL语句,在并发场景,为了性能和数据可靠性,会在更新时加上查询时的版本,并且更新这个版本信息。可能你要对一个事情进行操作,这个操作可能会执行成百上千次,但是操作结果都是相同的,这就是幂等性。!(https://img2018.cnblogs.com/blog/1841773/201
Wesley13 Wesley13
3年前
Mysql redo&&undo学习
   mysql通过锁机制来实现事务的隔离性,用redolog实现事务的原子性和持久性,用undolog实现事务的一致性。undo并不是redo的逆过程,redo和undo都可以看做一种恢复过程,redo恢复事务修改的页操作,redo记录的是物理日志,记录的是页的物理修改操作,redolog基本上都是顺序写的,在数据库运行时不需要对redolog
Stella981 Stella981
3年前
PHP如何避免高并发下insert into 重复入库
场景:用户签到/分享功能,每天只能签到一次或分享一次数据库:id  user\_id  add\_time  逻辑分析:用户每天进行分享或签到,得到积分,数据库通过以上字段进行记录,同一时间不可插入多条,一天只能有一条记录,插入前判断是否当天已插入过问题点:用户连点、并发请求等会导致同时插入多条记录,导致积分异常解决方案:使用文件锁,经过
公孙晃 公孙晃
2年前
Hello Ai Chat for Chat GPT for mac, 智能语音助理,全球语言支持,锁屏可用!!!
HelloAIChatforChatGPT是一款非常优秀的人工智能聊天机器人,它采用了先进的GPT技术,可以与用户进行自然语言交互,提供准确、智能的回答和建议...
向量数据库落地实践
一、前言本文基于京东内部向量数据库vearch进行实践。Vearch是对大规模深度学习向量进行高性能相似搜索的弹性分布式系统。详见:https://github.com/vearch/zhdocs/blob/v3.3.X/docs/source/overv
对比 Vitess,ShardingSphere 有哪些不同
本篇为InfoQ中文站供稿原文链接:\ShardingSphere是什么?ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由ShardingJDBC、ShardingProxy和ShardingSidecar(规划中)这3