自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 redis的缓存穿透和雪崩效应

缓存穿透:在redis中一般用key去缓存中查询所对应的value值,如果不存在则去后端系统(入DB),一些恶意的请求会故意查询不存在的key,请求量很大,对后台系统的造成很大的压力,这就是缓存穿透;如何避免:1.对查询结果为null的key进行缓存,缓存时间稍短了一些,或者该key对应的数据insert后再进行清理缓存;2.对一定不存在的key进行过滤,把所有可能存在的key放到一个大的b...

2019-07-30 22:15:55 93

原创 Redis为什么能实现分布式锁

1.redis对于多实例的分布式服务应用程序,它是可共全局的,每个实例都可以访问同一个redis服务;2.redis的操作都是原子性的;3.redis的setnx;命令指定的key不存在时,则key设定值。如果key存在,则查询该key所对应的value返回剩余的时间;...

2019-07-30 17:04:49 474

原创 java虚拟机内存模型

java虚拟机内存模型总共有5个区域:1.程序计数器,2.java堆,3.虚拟机栈,4.本地方法栈,5.方法区。虚拟机栈:线程的私有空间,它是和java线程同时创建,它保存了局部变量,部分结果,并参与方法的调用和返回。本地方法栈:本地方法栈用于管理本地方法的调用,本地方式是C实现的。java堆:所有的对象和数组都在java堆中分配内存。方法区:类信息(即加载类时需要加载的信息,包括版本、f...

2019-07-29 22:07:47 55

原创 Map的实现类

1.Map的实现类有HashMap,LinkedHashMap,TreeMap。2.HashMap是无序的,LinkedHashMap,TreeMap是有序的(LinkedHashMap记录了添加数据的顺序,TreeMap默认是自然升序)3.LinkedHashMap的底层数据结构是哈希表+链表,链表记录了添加数据的顺序。4.TreeMap的底层实现是从过二叉树,二叉树的中序遍历保证了数据的...

2019-07-29 20:36:38 475

原创 dubbo和Zookeeper总结

dubbo调用在重试次数上,不配置则默认2次(不算第一次调用)总共调用3次

2019-07-29 19:29:55 119

原创 多线程占用锁情况

@多线程占用锁情况在对象加锁的过程中,调用的notify 或者 notifyall 不会释放锁;在调用wait()会释放锁以方便其他线程调用;import java.util.List;public class HelloWorld { static Object object=new Object(); public static void main(String[] a...

2019-07-22 20:55:21 204

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除