![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java学习
文章平均质量分 52
想给TY买house
这个作者很懒,什么都没留下…
展开
-
更新缓存时,是先清缓存还是先更新数据库?
更新缓存时,是先清缓存还是先更新数据库? 先清缓存? 先清除缓存,再更新数据库的方式显然是不行的,可能存在数据永远不正确的情况。先更新数据库? 先更新数据库再清缓存的方式,虽然可能会存在少数的错误数据的情况,但是相对来说,后续的查询可以得到更新的值。最后,要解决这种缓存不一致的情况,可以选择加锁的方式,将线程A的操作放入锁中,使其作为原子操作,线程B的操作也加入锁。原创 2022-05-31 23:07:00 · 887 阅读 · 1 评论 -
JAVA并发编程-基础知识
第四章 JAVA并发编程 4.1 并发编程基础知识 4.1.1 优缺点 优点:充分利用多核CPU的计算能力。 缺点:会出现内存泄漏、上下文切换、线程安全、死锁等问题。 4.1.2并发编程三要素 1 可见性,一个线程对共享变量的修改,另一个线程能够立刻看到。(synchronized,volatile) 2 有序性,程序执行的顺序按照代码的先后顺序执行。(处理器可能会对指令进行重排序) 3 原子性,原子,即一个不可再被分割的颗粒。原子性指的是一个或多个操作要么全部执行成功要么全部执行失败。 出现线程原创 2022-05-28 20:17:00 · 79 阅读 · 0 评论 -
Java8流库
1 从迭代到流的操作 处理集合时,我们通常会用迭代遍历他的元素再进行某项运算,如求和、统计、获取元素等。当使用stream流时,我们不必扫描整个代码去查找或者过滤操作,方法名就可以直接告诉我们其代码完成什么操作。而且,循环需要非常详细地制定操作的顺序,而流却能够以其想要的任何方式来调用这些操作。 简单来说,流遵循了“想做什么而非怎么做”的原则。同时,仅将stream改为parallelStream就可以让流库以并行的方式进行过滤和技术。 1.1 流和集合的差异 1 流并不存储元素,这些元素可能存储在底层的原创 2021-08-27 15:26:48 · 149 阅读 · 0 评论 -
Java泛型
1 什么是泛型 java推出泛型前,程序员可以构建一个object类型的集合,但是在使用时需要明确知道每个元素的类型,否则容易造成ClassCastException。 Java泛型时JDK5中引入的一个新特性,泛型的本质就是参数化类型,也就是所操作的数据类型被指定为一个参数。 泛型的好处是,类型安全,消除了类型的强制转换。 2 泛型类、接口 2.1 泛型类 2.1.1 泛型类的定义语法 class 类名<泛型标识,泛型标识,...>{ private 泛型标识 变量名; ......原创 2021-08-22 23:54:45 · 115 阅读 · 0 评论