摘要: 单例模式的几种实现方式 单例模式的实现有多种方式,如下所示: 1、懒汉式,线程不安全 是否 Lazy 初始化:是 是否多线程安全:否 实现难度:易 描述:这种方式是最基本的实现方式,这种实现最大的问题就是不支持多线程。因为没有加锁 synchronized,所以严格意义上它并不算单例模式。这种方式 阅读全文
posted @ 2021-10-18 23:21 chencaijie 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 它们中的叛徒是:Vector和Stack、Hashtable和Properties这两对父子,它们都是线程安全的,也是同步的。 说说Properties比较有别于其它的集合的用法吧: Properties可以与io流结合使用: public void load(Reader reader) publ 阅读全文
posted @ 2021-10-16 23:39 chencaijie 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 1、java8新特性 2、java13新特性 3、service mesh 、 isol 4、java中的<T> < ?> 阅读全文
posted @ 2021-09-29 19:03 chencaijie 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 一、隔离级别 数据库事务的4个基本特征,ACID Atomic(原子性):事务中包含的操作被看作一个整体的业务单元,这个业务单元中的操作要么全部成功、要么全部失败,不会出现部分失败,部分成功的场景。 Consistency(一致性):在事务完成时,必须使所有的数据保持一致状态 Isolation(隔 阅读全文
posted @ 2021-09-26 10:27 chencaijie 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 注:灰色部分为线程私有,占用空间较小。橙色部分是所有线程共享,存在垃圾回收 一、类装载器(Class loader) 虚拟机自带的加载器 启动类加载器(Bootstrap)C++ 扩展类加载器(Extension)Java 应用程序类加载器(AppClassLoader),Java也叫系统类加载器, 阅读全文
posted @ 2021-09-12 23:27 chencaijie 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 生产者消费者模型是我们学习多线程知识的一个经典案例,一个典型的生产者消费者模型如下: public void produce() { synchronized (this) { while (mBuf.isFull()) { try { wait(); } catch (InterruptedExc 阅读全文
posted @ 2021-09-08 20:42 chencaijie 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 把代码块声明为 synchronized,有两个重要后果,通常是指该代码具有 原子性(atomicity)和 可见性(visibility)。 原子性意味着个时刻,只有一个线程能够执行一段代码,这段代码通过一个monitor object保护。从而防止多个线程在更新共享状态时相互冲突。可见性则更为微 阅读全文
posted @ 2021-09-08 19:08 chencaijie 阅读(506) 评论(0) 推荐(0) 编辑
摘要: ReentrantLock和Synchronized的区别 其实ReentrantLock和Synchronized最核心的区别就在于Synchronized适合于并发竞争低的情况,因为Synchronized的锁升级如果最终升级为重量级锁在使用的过程中是没有办法消除的,意味着每次都要和cpu去请求 阅读全文
posted @ 2021-09-07 00:16 chencaijie 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 提高java的并发编程,就不得不提volatile关键字,不管是在面试还是实际开发中 volatile都是一个应该掌握的技能。他的重要性不言而喻。因此也有必要学好。 一、为什么要用到volatile关键字? 使用一个新技术的原因肯定是当前存在了很多问题,在Java多线程的开发中有三种特性:原子性、可 阅读全文
posted @ 2021-09-06 23:56 chencaijie 阅读(37) 评论(0) 推荐(0) 编辑
摘要: sleep和wait的区别是面试中一个非常常见的问题,因为从表象来看,好像sleep和wait都能使线程处于阻塞状态,但是却有着本质上的却别。这篇文章就来好好分析一下。 整体的区别其实是有四个: 1、sleep是线程中的方法,但是wait是Object中的方法。 2、sleep方法不会释放lock, 阅读全文
posted @ 2021-09-06 23:54 chencaijie 阅读(606) 评论(0) 推荐(0) 编辑