Wesley13 Wesley13
3年前
Java 多线程与并发(七):ReentrantLock 与 ReentrantReadWriteLock
ReentrantLock我们已经通过前几章学会了synchronized和AQS等相关只是。下面我们继续来学习ReentrantLock这个并发工具类,如果你已经了解了AQS的机制,那么你学习ReentrantLock将会非常轻松。背景Synchronized关键字虽然在JDK1.6
Stella981 Stella981
3年前
Dockerfile创建tomcat和jdk,并发布java项目
1.准备好需要的jdk和tomcatkun@ubuntu:~$cdtomcatdocker/kun@ubuntu:~/tomcatdocker$lltotal245232drwxrwxrx4kunkun4096May611:34./drwx4ku
Wesley13 Wesley13
3年前
Java多线程与并发之面试经典问题
点击上方☝Java编程技术乐园,轻松关注!及时获取有趣有料的技术文章!(https://oscimg.oschina.net/oscnet/b0e19f003d0fdc9d1cb5c37808023ec8c5e.jpg)原文地址:https://dwz.cn/8NVLDxan进程与线程的区别进程是资源分配的最
可莉 可莉
3年前
14个Java并发容器,Java高手都知道!
作者:acupthttps://blog.csdn.net/Design407/article/details/100084673(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fblog.csdn.net%2FDesign407%2Farticle%2Fdetails%2F100
Wesley13 Wesley13
3年前
Java高并发程序设计(四)—— 无锁
一、无锁类的原理详解无锁的概念就是无障碍运行,无障碍是指所有的线程都能进入临界区,无锁在无障碍的基础上加上了一条就是每次竞争必然有一条能够胜出。理论上无障碍有可能线程都失败,所以无锁更切实可行,但实践上无障碍和无锁差不多。(一)CAS(CompareAndSwap)CAS算法的过程是这样的,它包含三个参数CAS(V,E,N)。V表示要更新的变
Stella981 Stella981
3年前
Padded优化LinkedTransferQue并发性能是错误方向
在Grizzly中,自带了LinkedTransferQueue,和JDK7自带的LinkedTransferQueue有所不同,不同之处就是使用PaddedAtomicReference来提升并发性能,其实这是一种错误的编码技巧,没有意义!AtomicReference和LinkedTransferQueue的本质是乐观锁,乐观锁的在激烈竞争的时候性
Wesley13 Wesley13
3年前
Java并发编程之锁的活跃性问题
引子在安全性和活跃性之间通常存在一种制衡。当我们使用锁来保证线程的安全的同时,如果过度使用加锁,可能会导致死锁。应用无法从死锁中恢复过来,所以在设计时一定要避免会排除这些可能会出现的活跃性问题。死锁死锁描述了这样一种情景,两个或多个线程永久阻塞,互相等待对方释放资源如果线程1锁住了A,然后尝试对B进行加锁,同
十月飞翔 十月飞翔
3年前
解决数据库高并发访问瓶颈问题
一、缓存式的Web应用程序架构:  在Web层和db层之间加一层cache层,主要目的:减少数据库读取负担,提高数据读取速度。cache存取的媒介是内存,可以考虑采用分布式的cache层,这样更容易破除内存容量的限制,同时增加了灵活性。二、业务拆分:  电商平台,包含了用户、商品、评价、订单等几大模块,最简单的做法就是在一个数据库中分别创建users、sh
高并发下丢失更新的解决方案
作者:谢益培1背景关键词:并发、丢失更新预收款账户表上有个累计抵扣金额的字段,该字段的含义是统计商家预收款账户上累计用于抵扣结算成功的金额数。更新时机是,账单结算完成时,更新累计抵扣金额累计抵扣金额账单金额。2问
黄忠 黄忠
1年前
SpringCloudAlibaba高并发仿斗鱼直播平台实战分享
随着云计算和微服务架构的兴起,SpringCloudAlibaba作为SpringCloud的补充,为开发者提供了更多的选择和便利。本文将介绍SpringCloudAlibaba的概念和特点,以及如何使用它来构建稳定可靠的微服务架构。download:引言