首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
JUC
订阅
undefined在掘金36409
更多收藏集
微信扫码分享
微信
新浪微博
QQ
21篇文章 · 0订阅
大白话聊聊Java并发面试问题之谈谈你对AQS的理解?【石杉的架构笔记】
上一篇文章聊了一下java并发中常用的原子类的原理和Java 8的优化,具体请参见文章:大白话聊聊Java并发面试问题之Java 8如何优化CAS性能?。 之前有同学反馈,去互联网公司面试,面试官聊到并发时就问到了这个问题。当时那位同学内心估计受到了一万点伤害。。。 因为首先,…
CAS、原子操作类的应用与浅析及Java8对其的优化
前几天刷朋友圈的时候,看到一段话:如果现在我是XX,那么我现在不管怎么努力,也还是XX,因为我现在的XX是由以前决定的,现在努力,是为了让以后的自己不再XX。话糙理不糙,如果妄想现在努力一下,马上就不再XX,那是不可能的,需要积累,需要沉淀,才能慢慢的不再XX。 好了,鸡汤喝完…
一行一行源码分析清楚AbstractQueuedSynchronizer
新的主题,右下角可以设置,欢迎大家提出建议。 一行一行源码分析清楚AbstractQueuedSynchronizer 更新时间:2017-06-16 在分析 Java 并发包 java.util.concurrent 源码的时候,少不了需要了解 AbstractQueuedS…
Spring系列之AOP的原理及手动实现
到目前为止,我们已经完成了简易的IOC和DI的功能,虽然相比如Spring来说肯定是非常简陋的,但是毕竟我们是为了理解原理的,也没必要一定要做一个和Spring一样的东西。到了现在并不能让我们松一口气,前面的IOC和DI都还算比较简单,这里要介绍的AOP难度就稍微要大一点了。 …
Java进阶篇 设计模式之十四 ----- 总结篇
本篇是讲述之前学习设计模式的一个总结篇,其目的是为了对这些设计模式的进行一个提炼总结,能够通过查看看此篇就可以理解一些设计模式的核心思想。 设计模式有23种类型。按照主要分类可以分为三大类: 开闭原则:对扩展开放,对修改关闭。 里氏代换原则:对开闭原则的补充。任何基类可以出现的…
偏向锁状态转移原理
当多个处理器同时处理的时候,通常需要处理互斥的问题。 一般的解决方式都会包含acquire和release这个两种操作,操作保证,一个线程在acquire执行之后,在它执行release之前,其它线程不能完成acquire操作。这个过程经常就涉及到锁。研究表明(L. Lampo…
不使用synchronized和lock,如何实现一个线程安全的单例?
瞬间收到了数百条回复。回答最多的是静态内部类和枚举。很好,这两种确实可以实现。 还有人回答的很简单:饿汉。很好,这个也是对的。 先解释清楚为什么说都是借助了ClassLoader。 从后往前说,先说两个饿汉,其实都是通过定义静态的成员变量,以保证instance可以在类初始化的…
大白话聊聊Java并发面试问题之Java 8如何优化CAS性能?【石杉的架构笔记】
上篇文章给大家聊了一下volatile的原理,具体参见:大白话聊聊Java并发面试问题之volatile到底是什么?。 这篇文章给大家聊一下java并发包下的CAS相关的原子操作,以及Java 8如何改进和优化CAS操作的性能。 因为Atomic系列的原子类,无论在并发编程、J…
多线程,到底该设置多少个线程?
“不好了,线上服务器超时严重,请求非常慢,好像报连接数too many了,怎么办?“小伙伴们在反馈。一般我们的技术老大的处理方式,把连接数和线程池调大点,重启,再观察。 往往这个方式是应急措施,治标不治本,因为不知道问题的原因。 有个严重误区,以为线程池设置太小了,调大点请求就…
被标记为事务的方法互相调用的坑(下)
上一节,主要分析了 被标记为事务的方法互相调用,事务失效的原因,思考比较多,这一节主要说说解决方案,思考会少一些。 只有一条数据,insertCodeBear方法执行成功了,insertCodeMonkey执行失败,并且回滚了。 可以看到是开了两个事务去执行的。 这种解决方案最…