深圳幻海软件技术有限公司 欢迎您!

  • java里面获取map的key和value的方法

    获取map的key和value的方法分为两种形式:map.keySet():先获取map的key,然后根据key获取对应的value;map…entrySet():同时查询map的key和value,只需要查询一次;两者的性能比较可以查看map.keySet()和map.EntrySet()的比较。

  • c++---哈希

    前言:    相信有些厉害的童鞋,已经刷在LeetCode,PTA,牛客时就经常看见有人用哈希表进行解决一些相应的题,那么这节就通过学习哈希来解决一些问题。哈希查找就是unordered系列关联式容器,它在c++11的时候才出现。在c++98的时候虽然红黑树作

  • 聊聊B-Tree的Golang实现

    这次准备出一个关于B树的合集。在第一部分,先来介绍下B树的基本概念。B树与bst等二叉树不同,B树是多叉树,而且B树是自平衡树。B树的Search、Insert、Remove算法时间复杂度都是O(logN)。B树常常用于数据库。数据库常常数据量巨大,因此不可能光放到内存中,需要放到硬盘中进行存储。而

  • 从源码层面理解 React 是如何做 Diff 的

    大家好,我是前端西瓜哥。今天带带大家来分析React源码,理解单节点diff和多节点diff的具体实现。React的版本为18.2.0reconcileChildFibersReact的节点对比逻辑是在reconcileChildFibers方法中实现的。reconcileChildFibers是C

  • KVC原理与数据筛选

    1、前言在技术论坛中看到一则很有意思的KVC案例:复制@interfacePerson:NSObject@property(nonatomic,copy)NSString*name;@property(nonatomic,assign)NSIntegerage;@endPerson*person=[

  • 面试官,ThreadLocal 你要这么问,我就挂了

    一、前言说到底,你真的会造火箭吗?常说面试造火箭,入职拧螺丝。但你真的有造火箭的本事吗,大部分都是不敢承认自己的知识盲区和技术瓶颈以及经验不足的自嘲。面试时:我希望你懂数据结构,因为这样的你在使用HashMap、ArrayList、LinkedList,更加得心应手。我希望你懂散列算法,因为这样的你

  • 分享一个网上搜不到的「Redis」实现「聊天回合制」的方案

    前言为什么说网上搜不到,因为关于聊天回合制的方案作者本人快把百度搜秃噜了也没找到,好在最终是公司一个关系不错的大佬帮提供了点思路,最终作者将其完整实现了出来。分享出来大家可以收藏,万一你哪天也碰到这样的需求,可不就节省大把时间了吗。场景先说下我这边的场景,读过我文章的同好都知道,我是做互联网医疗行业

  • ThreadLocal夺命11连问

    前言前一段时间,有同事使用ThreadLocal踩坑了,正好引起了我的兴趣。所以近期,我抽空把ThreadLocal的源码再研究了一下,越看越有意思,发现里面的东西还真不少。我把精华浓缩了一下,汇集成了下面11个问题,看看你能顶住第几个?1.为什么要用ThreadLocal?并发编程是一项非常重要的

  • 阿里二面:怎么实现两级缓存

    在上一篇文章​​Redis+Caffeine两级缓存,让访问速度纵享丝滑​​中,我们介绍了3种整合​​Caffeine​​​和​​Redis​​作为两级缓存使用的方法,虽然说能够实现功能,但实现手法还是太粗糙了,并且遗留了一些问题没有处理。本文将在上一篇的基础上,围绕两个方面进行进一步的改造:​​J

  • 一文带你了解什么是 LRU 算法?

    缓存是我们写代码过程中常用的一种手段,是一种空间换时间的做法。就拿我们经常使用的HTTP协议,其中也存在强缓存和协商缓存两种缓存方式。当我们打开一个网站的时候,浏览器会查询该请求的响应头,通过判断响应头中是否有Cache-Control、Last-Modified、ETag等字段,来确定是否直接使用

  • 真实案例说明 TypeScript 类型体操的意义

    TypeScript类型系统支持类型编程,也就是对类型参数做一系列运算产生新的类型。比如这样:复制typeisTwo<T>=Textends2?true:false;1.这种类型编程逻辑可以写的很复杂,所以被戏称为“类型体操”。它是TS中最强大也是最复杂的部分了,属于深水区的内容。很多同

  • Python字典:竟还有我不会的高阶玩法?

    通过序列生成字典我们将下面的序列转换为dict类型。复制lst=[('a',1),('b',2),('c',3)]1.普通的写法复制fork,vinlst:dic[k]=v1.2.更pythonic的写法利用字典推导式快速生成字典。复制{k:vfork,vinlst}1.key的默认值当指定key不

  • Redis 突然变慢了如何排查并解决?

    Redis通常是我们业务系统中一个重要的组件,比如:缓存、账号登录信息、排行榜等。一旦Redis请求延迟增加,可能就会导致业务系统“雪崩”。我在单身红娘婚恋类型互联网公司工作,在双十一推出下单就送女朋友的活动。谁曾想,凌晨12点之后,用户量暴增,出现了一个技术故障,用户无法下单,当时老大火冒三丈!经

  • 这篇文章为你 Redis 知识面来个查漏补缺

    Redis是什么Redis是开源,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。它支持多种类型的数据结构,如字符串strings,散列hashes,列表lists,集合sets,有序集合sortedsets与范围查询,bitmaps,hyperloglogs和地理空间(geospat

  • 手写简易前端框架:Patch 更新(1.0 完结篇)

    前面两篇文章,我们实现了vdom的渲染和jsx的编译,实现了function和class组件,这篇来实现patch更新。能够做vdom的渲染和更新,支持组件(props、state),这就是一个比较完整的前端框架了。首先,我们准备下测试代码:测试代码在上节的基础上做下改造:添加一个删除按钮,一个输入

  • 面试突击:说一下HashMap底层实现?及元素添加流程?

    HashMap是使用频率最高的数据类型之一,同时也是面试必问的问题之一,尤其是它的底层实现原理,既是常见的面试题又是理解HashMap的基石,所以重要程度不言而喻。HashMap底层实现HashMap在JDK1.7和JDK1.8的底层实现是不一样的,在JDK1.7中,HashMap使用的是数组+链表

  • SpringBoot整合分布式消息平台Pulsar

    大家好,我是君哥。作为优秀的消息流平台,Pulsar的使用越来越多,这篇文章讲解Pulsar的Java客户端。部署PulsarPulsar的部署方式主要有3种,本地安装二进制文件、docker部署、在Kubernetes上部署。本文采用docker部署一个单节点的Pulsar集群。实验环境是2核CP

  • 动手实现一个Localcache-实现篇

    前言哈喽,大家好,我是asong,经过了前面两篇的介绍,我们已经基本了解该如何设计一个本地缓存了,本文就是这个系列的终结篇,自己动手实现一个本地缓存,接下来且听我细细道来!!!本文代码已经上传到github:https://github.com/asong2020/go-localcache现在这一

  • 硬核干货!7600字带你学会 Redis 性能优化点

     在一些网络服务的系统中,Redis的性能,可能是比MySQL等硬盘数据库的性能更重要的课题。比如微博,把热点微博[1],最新的用户关系,都存储在Redis中,大量的查询击中Redis,而不走MySQL。那么,针对Redis服务,我们能做哪些性能优化呢?或者说,应该避免哪些性能浪费呢?Re

  • 漫画说算法之什么是一致性哈希?

     一年之前——未来两年内,系统预估的总订单数量可达一亿条左右。按Mysql单表存储500万条记录来算,暂时不必分库,单库30个分表是比较合适的水平分表方案。于是小灰设计了这样的分表逻辑:订单表创建单库30个分表对用户ID和30进行取模,取模结果决定了记录存于第几个分表查询时需要以用户ID作

推荐阅读