摘要: java除了使用关键字synchronized外,还可以使用ReentrantLock实现独占锁的功能。而且ReentrantLock相比synchronized而言功能更加丰富,使用起来更为灵活,也更适合复杂的并发场景。这篇文章主要是从使用的角度来分析一下ReentrantLock。 一、简介 R 阅读全文
posted @ 2021-09-06 23:45 chencaijie 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 一、synchronized简介 synchronized 是Java语言的一个关键字,它本身的意思为同步,是用来保证线程安全的,可用来给对象和方法或者代码块加锁,当它锁定一个方法或者一个代码块的时候,同一时刻最多只有一个线程执行这段代码。 synchronized一句话来解释其作用就是:能够保证同 阅读全文
posted @ 2021-09-06 16:36 chencaijie 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 1、java多线程同步 2、锁 阅读全文
posted @ 2021-09-04 08:25 chencaijie 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 所谓线程的“工作内存”到底是个什么东西?有的人认为是线程的栈,其实这种理解是不正确的。看看JLS(java语言规范)对线程工作 内存的描述,线程的working memory只是cpu的寄存器和高速缓存的抽象描述。 可能 很多人都觉得莫名其妙,说JVM的内存模型,怎么会扯到cpu上去呢?在此,我认为 阅读全文
posted @ 2021-09-01 21:28 chencaijie 阅读(401) 评论(0) 推荐(0) 编辑
摘要: 终于搞懂了TOMCAT/config/server.xml里关于HOST和Context的问题了!!!!! 起因是因为quartz定时器总是被执行2次,还是同一个线程,查了半天说是加载了两次,虽然改了下是成功了,但是还是有点不明所以! 吃完午饭,无意中,把这个问题整明白了点! 直接上例子: 1.只有 阅读全文
posted @ 2021-08-31 22:25 chencaijie 阅读(1304) 评论(0) 推荐(0) 编辑
摘要: 1、k8s健康性检查的默认方式k8s默认的健康检查机制:基于Dockerfile文件中的CMD或者ENTRYPOINT,如果进程退出时返回码为非零,则认为容器发生故障,k8s就会根据restartPolicy重启容器。 1)docker的restartPolicy有一下4种:always:(无论以什 阅读全文
posted @ 2021-08-31 09:54 chencaijie 阅读(1798) 评论(0) 推荐(1) 编辑
摘要: 在JDK 5之前Java语言是靠synchronized关键字保证同步的,这会导致有锁 锁机制存在以下问题: (1)在多线程竞争下,加锁、释放锁会导致比较多的上下文切换和调度延时,引起性能问题。 (2)一个线程持有锁会导致其它所有需要此锁的线程挂起。 (3)如果一个优先级高的线程等待一个优先级低的线 阅读全文
posted @ 2021-08-30 14:34 chencaijie 阅读(606) 评论(0) 推荐(0) 编辑