首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
三不猴子
掘友等级
java工程师
|
太美医疗
我是一名一线互联网程序员,欢迎关注我的公众号 sanbuhouzi(三不猴子)
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
97
文章 90
沸点 7
赞
97
返回
|
搜索文章
最新
热门
spring boot的自动装配及自定义装配
了解spring boot的自动装配先了解spring framework的手动装配。 定义:一种用于生命在应用中扮演“组件”角色的注解。比如:@controller、@service、@Component等 装配:context:component-scan或者 @Compo…
最完整的关于redis缓存面试相关的内容(二)
在多线程环境下,当一个线程把缓存删掉之后,另一个线程都缓存,都不到缓存就会直接读库,读到数据后就会更新缓存,先前的线程呢,才更新数据库,会造成缓存脏读的情况,很容易产生缓存脏读。 在多线程情况下,当一个线程删除数据库,另一个线程读取缓存数据,读到的是缓存的数据,当先前一个线程删…
最完整的关于redis缓存面试相关的内容(一)
假设这么个场景,你有个操作,一个请求过来,吭哧吭哧你各种乱七八糟操作mysql,半天查出来一个结果,耗时600ms。但是这个结果可能接下来几个小时都不会变了,或者变了也可以不用立即反馈给用户。那么此时咋办? 缓存啊,折腾600ms查出来的结果,扔缓存里,一个key对应一个val…
Fork-Join框架
优点:就是充分利用线程进行并行计算,减少线程间的竞争。缺点是还是存在竞争比如在队列中只有一个任务时,同时也消耗了更多的系统资源创建更多的线程。 在使用Fork/Join只能使用Fork和Join进行同步操作,如果在使用了其他机制时工作线程就不能进行其他操作了。比如在Fork/J…
AQS同步组件--ReentrantLock与锁
锁的实现:Synchronized是依赖jvm实现的,ReentrantLock是jdk实现的。(我们可以理解为一个是操作系统层面的实现另一个是用户自己自己实现的)Synchronized的实现是jvm层面的很难看到其中的实现。而ReentrantLock是通过jvm实现的我们…
AQS同步组件--CyclicBarrier
CountDownLatch的计数器只能使用一次,CyclicBarrier可以用reset方法重置。 CountDownLatch是一个线程等待其他线程完成某个操作后才能继续执行。也就是一个或个多线程等待其他的关系,而CyclicBarrier是实现了多个线程之间的相互等待,…
AQS同步组件--Semaphore
我们在执行 test(threadNum)方式前后包裹上acquire和release,这样其实我们就相当于一个单线程在执行。当执行acquire后就只能等待执行release后再执行新的线程,然后我们在acquire()和release()都是没有传参也就是1,每次只允许一个…
AQS同步组件--CountDownLatch
CountDownLatch是在java1.5被引入的,跟它一起被引入的并发工具类还有CyclicBarrier、Semaphore、ConcurrentHashMap和BlockingQueue,它们都存在于java.util.concurrent包下。CountDownLa…
线程封闭
堆栈封闭:局部变量,无并发问题,在项目中使用最多,简单说就是局部变量,方法的变量都拷贝到线程的堆栈中,只有这个线程能访问到。尽量少使用全局变量(变量不是常量) 声明一个ThreadLoad对象用来存储ThreadLoad信息。 定义filter的内容,我们在filter中将线程…
安全发布对像
我们看这段代码,我们创建了一个对象通过getStates方法我们可以获取这个对象的数组,此时我们将数组内容打印出来结果,如果此时我们将这个对象发布出去,然后其他线程(这里没有模拟其他线程对其修改)又对这个对象的states的值进行修改,此时在拿到这个对象的期望的是没有被修改的,…
下一页
个人成就
文章被点赞
361
文章被阅读
73,668
掘力值
2,380
关注了
48
关注者
685
收藏集
38
关注标签
50
加入于
2017-09-07