Wesley13 Wesley13
3年前
volatile的两大性质
一、可见性publicclassSynctestApplication{//底层使用了lock指令实现锁缓存行//XX:UnlockDiagnosticVMOptionsXX:PrintAssemblyXcompprivatevo
Wesley13 Wesley13
3年前
java架构之路(多线程)AQS之ReetrantLock显示锁的使用和底层源码解读
说完了我们的synchronized,这次我们来说说我们的显示锁ReetrantLock。java架构之路(多线程)synchronized详解以及锁的膨胀升级过程(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzUxN
Stella981 Stella981
3年前
Discuz 7.2坑爹集锦
Discuz7.2坑爹集锦SQL篇DZ使用的是MySQL的MyISAM引擎,特点是简单快速,非常适合网络扁平数据。当数据量超过一定规模(大概300万),数据关联复杂(表连接增多)后性能急剧下降。并且在高读写并发时锁表严重(MyISAM是表锁,InnoDB有行锁),甚至导致表损坏。DZ7.2代码中SQL写法存在不标准的问题,虽然不影响执行但对维
Wesley13 Wesley13
3年前
JAVA对象布局之对象头(Object Header)
由于Java面向对象的思想,在JVM中需要大量存储对象,存储时为了实现一些额外的功能,需要在对象中添加一些标记字段用于增强对象功能。在学习并发编程知识synchronized时,我们总是难以理解其实现原理,因为偏向锁、轻量级锁、重量级锁都涉及到对象头,所以了解java对象头是我们深入了解synchronized的前提条件,以下我们使用64
Wesley13 Wesley13
3年前
Java多线程优化
\以下文章来源于51CTO技术栈 ,作者崔皓今天,我们从Java内部锁优化,代码中的锁优化,以及线程池优化几个方面展开讨论。Java 内部锁优化当使用Java多线程访问共享资源的时候,会出现竞态的现象。即随着时间的变化,多线程“写”共享资源的最终结果会有所不同。为了解决这个问题,让多线程“写”资源的时候有先后顺序,引入
Wesley13 Wesley13
3年前
RDS MySQL InnoDB 锁等待和锁等待超时的处理
https://help.aliyun.com/knowledge\_detail/41705.html1\.Innodb引擎表行锁等待和等待超时发生的场景(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fhelp.aliyun.com%2Fknowledge_detail%2F
Wesley13 Wesley13
3年前
5分钟 BeetlSQL 快速入门
企业应用面临的问题高效编写数据库访问代码内置CRUD,不需要写SQL支持OR/Mapping悲观锁,乐观锁,逻辑删除等辅助支持等即支持简单的CRUD,也支持数十行,上百行SQL编写跨数据库平台支持,Oracle,Postgres,Mysql,以及SQLS
Wesley13 Wesley13
3年前
Java中的公平锁和非公平锁实现详解
前言(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fblog.csdn.net%2Fqyp199312%2Farticle%2Fdetails%2F70598480%23%E5%89%8D%E8%A8%80)ReentrantLock的可重入性分析(https:/
Stella981 Stella981
3年前
Padded优化LinkedTransferQue并发性能是错误方向
在Grizzly中,自带了LinkedTransferQueue,和JDK7自带的LinkedTransferQueue有所不同,不同之处就是使用PaddedAtomicReference来提升并发性能,其实这是一种错误的编码技巧,没有意义!AtomicReference和LinkedTransferQueue的本质是乐观锁,乐观锁的在激烈竞争的时候性
Stella981 Stella981
3年前
Linux 多线程
I.同步机制线程间的同步机制主要包括三个:互斥锁:以排他的方式,防止共享资源被并发访问;互斥锁为二元变量,状态为0开锁、1上锁;开锁必须由上锁的线程执行,不受其它线程干扰.条件变量: