博客
分类
标签
归档
友链
关于
博客
分类
标签
归档
友链
关于
Alias的博客
文档
帮助
示例
社区
博客
源码
Redis的分布式锁
Redis的分布式锁集群下的线程并发问题我们在使用synchronized进行加锁时,由于每一个JVM有一个锁监视器,这就能够保证每次只有一个线程能获取这把锁。但是若在集群环境下(假设两台),那就会有两个JVM,也就会有两个锁监视器,就会有多个线程获取到锁,这样就没办法实现多JVM之间的互斥,就会产生线程并发问题 分布式锁实现一个在多个JVM外部的同一个锁监视器 分布式锁:满足分布式系统下或...
2022-11-23
java
redis
java
redis
阅读全文
缓存穿透、缓存雪崩和缓存击穿
缓存穿透、缓存雪崩和缓存击穿简述缓存穿透缓存穿透是指客户端请求的数据在缓存中和数据库中都不存在,这样缓存永远都不会生效,这些请求都会打到数据库。若不断发起这样的请求,就会带给数据库巨大的压力 常见的解决方案: 1、缓存空对象:在第一次请求缓存未命中,进而请求数据库也没查到数据时,我们可以在redis中缓存一个空对象,这样后续重复的请求就不会达到数据库。 优点:实现简单,维护方便 缺点:额外的...
2022-11-20
java
缓存
redis
java
缓存
redis
阅读全文
fail-fast和fail-safe
fail-fast和fail-safe什么是fail-fast在维基百科中,关于fail-fast的解释翻译如下: 在系统设计中,快速失效系统一种可以立即报告任何可能表明故障的情况的系统。快速失效系统通常设计用于停止正常操作,而不是试图继续可能存在缺陷的过程。这种设计通常会在操作中的多个点检查系统的状态,因此可以及早检测到任何故障。快速失败模块的职责是检测错误,然后让系统的下一个最高级别处理...
2022-11-15
java
java
阅读全文
关于Java中的Stream
关于Java中的StreamStream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象。 Stream API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。 这种风格将要处理的元素集合看作一种流,流在管道中传输,并且可以在管道的节点上进行处理,比如筛选,排序,聚合等。 Stream有以下特性及优点: 无存...
2022-11-12
java
集合
java
集合
阅读全文
关于Java中的集合(二)
关于Java中的集合(二)为什么HashMap默认容量设置成16什么是容量在Java中,保存数据有两种比较简单的数据结构:数组和链表。数组的特点是:寻址容易,插入和删除困难;而链表的特点是:寻址困难,插入和删除容易。HashMap就是将数组和链表组合在一起,发挥了两者的优势,我们可以将其理解为链表的数组。 在HashMap中,有两个比较容易混淆的关键字段:size和capacity ,这其中...
2022-11-11
java
集合
java
集合
阅读全文
关于数据库和缓存不一致问题
关于数据库和缓存不一致问题为什么会出现缓存一致性问题在非并发的情况首先,我们在非并发的场景中,出现不一致的问题大家都能比较容易的理解,因为缓存的操作和数据库的操作是存在一定的时间差的。 而且这两个操作是没办法保证原子性的,也就是说,是有可能一个操作成功,一个操作失败的。 所以,这就必然会存在不一致的情况。 但同时,因为我们的业务系统是开放给用户使用的,所以经常会出现各种各样的并发的场景,因为...
2022-11-08
java
java
阅读全文
关于Java中的集合(一)
关于Java中的集合(一)Collection和Collections区别Collection 是一个集合接口。 它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。是list,set等的父接口。 Collections 是一个包装类。 它包含有各种有关集合操作的静态多态方法。此类不能实例化,就像一个工具类,服务于Java的Collect...
2022-11-06
java
集合
java
集合
阅读全文
Springboot整合MongoDB
Springboot整合MongoDB导入依赖123<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> ...
2022-11-03
java
mongodb
java
mongodb
阅读全文
关于Java的类加载机制
关于Java的类加载机制什么是类加载类加载分为三个步骤:加载、连接、初始化 加载类加载指的是将class文件读入内存,并为之创建一个java.lang.Class对象,即程序中使用任何类时,系统都会为之建立一个java.lang.Class对象,系统中所有的类都是java.lang.Class的实例。类的加载由类加载器完成,JVM提供的类加载器叫做系统类加载器,此外还可以通过继承ClassL...
2022-11-01
java
java
阅读全文
关于序列化
关于序列化什么是序列化和反序列化序列化是将对象转换为可传输格式的过程,是一种数据持久化的手段。一般广泛用于网络传输、RMI、RPC等场景中。 反序列化是序列化的逆操作。 序列化是将对象的状态信息转换为可存储或传输的形式的过程。一般是以字节码或XML格式传输。而字节码或XML编码格式可以还原为完全相等的对象。这个相反的过程称为反序列化。 Java实现对象序列化和反序列化在Java中,我们可以通...
2022-10-31
java
序列化
java
序列化
阅读全文
1 / 4
下一页
粘贴文本
全选文本
剪切文本
复制文本
站内搜索
必应搜索
新标签页打开
复制链接地址
复制图片
谷歌识图
常见问题
示例博客
加入社区
本站源码
主题源码
暗黑模式
打印页面
阅读模式