九鹤 九鹤
3年前
RabbitMq 的高级特性
消息可靠性当作为消息的投递着不希望,任何消息投递失败或者消息丢失rabbitmq提供了两种方式来复制投递失败,确保消息的可靠性confirm确认模式return退回模式消息从投递者到product到交换机(exchange)返回一个confirmCallback(不管投递是否成功)都会执行这个回调函数,只是返回的布尔值不一样)exchange到queue
九路 九路
4年前
4.2 手写Java PriorityQueue 核心源码
上一节介绍了PriorityQueue的原理,先来简单的回顾一下PriorityQueue的原理以最大堆为例来介绍1.PriorityQueue是用一棵完全二叉树实现的。2.不但是棵完全二叉树,而且树中的每个根节点都比它的左右两个孩子节点元素大3.PriorityQueue底层是用数组来保存这棵完全二叉树的。如下图,是一棵最大堆。
九路 九路
4年前
5 手写Java Stack 核心源码
Stack是Java中常用的数据结构之一,Stack具有"后进先出(LIFO)"的性质。只能在一端进行插入或者删除,即压栈与出栈栈的实现比较简单,性质也简单。可以用一个数组来实现栈结构。1.入栈的时候,只在数组尾部插入2.出栈的时候,只在数组尾部删除我们来看一下Stack的用法:如下publicstaticvoidmai
九路 九路
4年前
6 手写Java LinkedHashMap 核心源码
概述LinkedHashMap是Java中常用的数据结构之一,安卓中的LruCache缓存,底层使用的就是LinkedHashMap,LRU(LeastRecentlyUsed)算法,即最近最少使用算法,核心思想就是当缓存满时,会优先淘汰那些近期最少使用的缓存对象LruCache的缓存算法LruCache采用的缓存算法为LRU(LeastRe
九路 九路
4年前
2 手写Java LinkedList核心源码
上一章我们手写了ArrayList的核心源码,ArrayList底层是用了一个数组来保存数据,数组保存数据的优点就是查找效率高,但是删除效率特别低,最坏的情况下需要移动所有的元素。在查找需求比较重要的情况下可以用ArrayList,如果是删除操作比较多的情况下,用ArrayList就不太合适了。Java为我们提供了LinkedList,是用链接来实现的,我们
Wesley13 Wesley13
3年前
AWS 核心服务概述(二)
\TOC\AWS网络服务VPCVPC与虚拟网络是逻辑隔离的一个VPC只能属于一个区域,但可以属于多个可用区VPC主要属性:IP范围,路由,网关,安全设置DirectConnect用户数据中心到AWS的专用网络连接在高吞吐的情况下可以
Wesley13 Wesley13
3年前
JDK核心JAVA源码解析(7)
想写这个系列很久了,对自己也是个总结与提高。原来在学JAVA时,那些JAVA入门书籍会告诉你一些规律还有法则,但是用的时候我们一般很难想起来,因为我们用的少并且不知道为什么。知其所以然方能印象深刻并学以致用。本篇文章针对JAVA中集合类LinkedList进行分析,通过代码解释Java中的Failfast设计思想,以及LinkedList底层实现和与A
Stella981 Stella981
3年前
FastCFS核心组件及访问方式
  FastCFS是一款可以跑数据库的轻量级分布式存储系统,她为数据库和云平台提供后端存储,保证数据强一致性,解决大容量数据存储问题,做到了高可靠、高可用、高性能以及高扩展性。  FastCFS服务端两个核心组件是FastStore和FastDIR。FastStore是基于块存储的分布式数据存储服务,其文件block大小为4MB,
Stella981 Stella981
3年前
Redis cluster的核心原理分析
一、节点间的内部通信机制1、基础通信原理(1)rediscluster节点间采取gossip协议进行通信跟集中式不同,不是将集群元数据(节点信息,故障,等等)集中存储在某个节点上,而是互相之间不断通信,保持整个集群所有节点的数据是完整的维护集群的元数据用得,集中式,一种叫做gossip集中式:好处在于,元数据的更新和读取,时效性非常好,
Easter79 Easter79
3年前
Spring核心技术总结一
引言新人入社后,发现自己真的老了,和年轻人有代沟了,虽然暂时还没有迈入而立之年。Spring核心技术总结一最近一直在学习Spring为了不让自己忘记,就写点吧!说不定对别人也有一些帮助呢!那就更好啦!我是看了两本Spring电子书,还有很多其他资料才开始敲打的。所以很多内容是照搬的,这点我要说明一下,但是所有内容自认为还是理解之后才开始“忽悠”的。强