九路 九路
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,
绣鸾 绣鸾
1年前
Alfred 5快速启动和工作流自动化工具
Alfred是一款Mac电脑上的快速启动和工作流自动化工具,它可以帮助用户快速访问文件、应用程序、web搜索和系统工具,提高工作效率。以下是Alfred的特点:快速启动:用户可以通过Alfred快速启动应用程序、打开文件或执行系统命令,无需使用鼠标或触摸板
绣鸾 绣鸾
1年前
ConceptDraw PROJECT for Mac项目管理软件
是一款专业的项目管理工具,适用于MacOS平台。它提供了成功规划和执行项目所需的完整功能,包括任务和资源管理、报告和变更控制。这款软件可以与ConceptDrawoffice集成,利用思维导图和数据可视化的强大功能来改进项目管理。它具有多项目仪表板、甘特图
燕青 燕青
1年前
Macos专业的系统监视器:System Dashboard Pro Mac版
是一款功能强大的系统监控工具,专为Mac用户设计。它提供了一个直观的仪表板界面,让用户可以实时监控系统的各项指标,包括CPU使用率、内存使用情况、磁盘空间、网络状态等。SystemDashboardPro支持多种系统指标监控,包括CPU使用率、内存使用情况