22 22
4年前
【数据结构之队列】详细图解!在学习队列?看这一篇就够了!
提要钩玄:本文主要介绍队列的结构、基本原理及操作,涉及到两种实现:顺序队列和链队列。1.什么是队列?先举一个日常例子,排队买饭。大家按先来后到的顺序,在窗口前排队买饭,先到先得,买完之后走开,轮到下一位买,新来的人排在队尾,不能插队。可见,上面的“队”的特点是只允许从一端进入,从另一端离开。这样的一个队,放在数据结构中就是“队列”。首先,队列是一个,所以
Wesley13 Wesley13
4年前
Java多线程之线程安全队列Queue
在Java多线程应用中,队列的使用率很高,多数生产消费模型的首选数据结构就是队列。Java提供的线程安全的Queue可以分为阻塞队列和非阻塞队列,其中阻塞队列的典型例子是BlockingQueue,非阻塞队列的典型例子是ConcurrentLinkedQueue,在实际应用中要根据实际需要选用阻塞队列或者非阻塞队列。注:什么叫线程安全?这个首先要明确。
Wesley13 Wesley13
4年前
Javashop 电商系统sso登录实现
业务需求嵌入到三方原有系统中,用户数据不留存在本系统中,而是调取三方的接口实现登录判断架构一.登录的时序图对方提供了登录页面,对面会员详细数据不存在本系统内。对方提供了4个接口,用来嵌入。以下为时序图二.数据结构Member|字段名|类型|备注||||||memberI
Stella981 Stella981
4年前
Dubbo 支持哪些序列化协议?
面试题dubbo支持哪些通信协议?支持哪些序列化协议?说一下Hessian的数据结构?PB知道吗?为什么PB的效率是最高的?面试官心理分析上一个问题,说说dubbo的基本工作原理,那是你必须知道的,至少要知道dubbo分成哪些层,然后平时怎么发起rpc请求的,注册、发现、调用,这些是基本的。接着
Stella981 Stella981
4年前
ArrayList源码分析(JDK1.8)
概述ArrayList底层是基于 数组实现的,并且支持 动态扩容 的动态数组(变长的集合类)。ArrayList允许空值和重复的元素,当向ArrayList中添加元素数量大于其底层数组容量时,会通过 扩容机制 重新生成一个容量更大的数组。另外,由于ArrayList底层数据结构是数组,所以保证了在O(1)复杂度下完成随机查
Stella981 Stella981
4年前
Scrapy框架全
架构介绍Engine:引擎,处理整个系统的数据流处理,触发事物,是整个框架的核心Item:项目,他定义了爬取结果的数据结构,爬取的数据会被赋值成该Item对象Scheduler:调度器,接受引擎发过来的请求并将其加入到队列中,在引擎再次请求的时候将请求提供给引擎Downloader:下载器,下载网页内容,并将网页内容返回给spider
Wesley13 Wesley13
4年前
ES6之数组常用方法
数组是js中常用的一个数据结构,熟练掌握和使用数组的方法更有利于快速开发,有些方法可以实现相同的功能,但是语义不一定适合。数组新增元素push尾部加入,返回修改后的数组长度。非常常见的数组追加方法。1,2,3.push(5)//尾部插入51,2,3,5//reutrn4u
Stella981 Stella981
4年前
Redis的正确使用姿势
!(https://oscimg.oschina.net/oscnet/fce6a916371ff12e208a168eb4c27e665ca.jpg)前言说到分布式缓存,可能大多数人脑海浮现的就是redis了,为什么redis能够在竞争激烈的缓存大战中脱颖而出呢?原因无非有一下几点:性能好,丰富的特性跟数据结构,api操作简单。但是用的
Stella981 Stella981
4年前
Python之使用eval()函数将字符串的数据结构提取出来
datainput('请输入你要修改的对象:').strip()'''输入下面的字典列表{'backend':'www.oldboy1.org','record':{'server':'2.2.2.4','weight':20,'maxconn':3000}},{'backend':'www.oldboy1.or
Wesley13 Wesley13
4年前
Java进阶:基于TCP的网络实时聊天室(socket通信案例)
目录开门见山一、数据结构Map二、保证线程安全三、群聊核心方法四、聊天室具体设计0、用户登录服务器1、查看当前上线用户2、群聊3、私信4、退出当前聊天状态5、离线6、查看帮助五、聊天室服务完整代码六、效果演示:基于TCP的网络实时聊天室结语开门见山最近一个月记