Wesley13 Wesley13
3年前
Java多线程之线程安全队列Queue
在Java多线程应用中,队列的使用率很高,多数生产消费模型的首选数据结构就是队列。Java提供的线程安全的Queue可以分为阻塞队列和非阻塞队列,其中阻塞队列的典型例子是BlockingQueue,非阻塞队列的典型例子是ConcurrentLinkedQueue,在实际应用中要根据实际需要选用阻塞队列或者非阻塞队列。注:什么叫线程安全?这个首先要明确。
Wesley13 Wesley13
3年前
Javashop 电商系统sso登录实现
业务需求嵌入到三方原有系统中,用户数据不留存在本系统中,而是调取三方的接口实现登录判断架构一.登录的时序图对方提供了登录页面,对面会员详细数据不存在本系统内。对方提供了4个接口,用来嵌入。以下为时序图二.数据结构Member|字段名|类型|备注||||||memberI
Stella981 Stella981
3年前
Dubbo 支持哪些序列化协议?
面试题dubbo支持哪些通信协议?支持哪些序列化协议?说一下Hessian的数据结构?PB知道吗?为什么PB的效率是最高的?面试官心理分析上一个问题,说说dubbo的基本工作原理,那是你必须知道的,至少要知道dubbo分成哪些层,然后平时怎么发起rpc请求的,注册、发现、调用,这些是基本的。接着
Stella981 Stella981
3年前
ArrayList源码分析(JDK1.8)
概述ArrayList底层是基于 数组实现的,并且支持 动态扩容 的动态数组(变长的集合类)。ArrayList允许空值和重复的元素,当向ArrayList中添加元素数量大于其底层数组容量时,会通过 扩容机制 重新生成一个容量更大的数组。另外,由于ArrayList底层数据结构是数组,所以保证了在O(1)复杂度下完成随机查
Wesley13 Wesley13
3年前
ES6之数组常用方法
数组是js中常用的一个数据结构,熟练掌握和使用数组的方法更有利于快速开发,有些方法可以实现相同的功能,但是语义不一定适合。数组新增元素push尾部加入,返回修改后的数组长度。非常常见的数组追加方法。1,2,3.push(5)//尾部插入51,2,3,5//reutrn4u
Stella981 Stella981
3年前
Redis的正确使用姿势
!(https://oscimg.oschina.net/oscnet/fce6a916371ff12e208a168eb4c27e665ca.jpg)前言说到分布式缓存,可能大多数人脑海浮现的就是redis了,为什么redis能够在竞争激烈的缓存大战中脱颖而出呢?原因无非有一下几点:性能好,丰富的特性跟数据结构,api操作简单。但是用的
Wesley13 Wesley13
3年前
Java进阶:基于TCP的网络实时聊天室(socket通信案例)
目录开门见山一、数据结构Map二、保证线程安全三、群聊核心方法四、聊天室具体设计0、用户登录服务器1、查看当前上线用户2、群聊3、私信4、退出当前聊天状态5、离线6、查看帮助五、聊天室服务完整代码六、效果演示:基于TCP的网络实时聊天室结语开门见山最近一个月记
智多星V+TNY264278 智多星V+TNY264278
9个月前
两分钟教你如何高效的编写一个电商API接口?
一、需求分析首先要明确这个API接口的用途和要实现的功能。比如,是用于获取商品列表、用户订单信息,还是进行购物车操作等。例如,如果是创建一个获取商品列表的API,需要确定要返回的商品信息字段,如商品名称、价格、库存、图片链接等。二、设计数据结构数据库设计根
深度学习 深度学习
2星期前
链表栈实现指南:从基础到实践
一、简介和特点链表栈是一种使用链表实现的栈数据结构,遵循后进先出(LIFO)原则。本文实现的链表栈通过动态内存分配节点,避免了数组实现的固定大小限制。‌主要特点‌:1.动态大小:无需预先分配固定空间2.高效操作:入栈和出栈都是O(1)时间复杂度3.内存效率