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

  • 〖数据结构〗一棵有点自律的树——搜索二叉树

    文章目录💐专栏导读💐文章导读🌷搜索二叉树概念🌷二叉搜索树的构建🌺查找操作🌺插入操作🌺删除操作🌺遍历操作☘️测试🏵️拓展——递归实现🍃递归查找🍃递归插入🍃递归删除❄️完整源码🐙非递归版🐌递归版本💐专栏导读🌸作者简介:花想云,在读本科生一枚,致力于C/C++、Linux学

  • 一文带你全面深入了解TreeMap

    概述TreeMap是Map家族中的一员,也是用来存放key-value键值对的。平时在工作中使用的可能并不多,它最大的特点是遍历时是有顺序的,根据key的排序规则来,那么它具体是如何使用,又是怎么实现的呢?本文基于jdk8做一个讲解。TreeMap介绍TreeMap是一个基于key有序的keyval

  • C++哈希-使用/模拟/封装

    C++哈希-使用/模拟/封装零、前言一、unordered系列关联式容器1、unordered_map介绍及使用2、unordered_set的介绍及使用3、性能比较二、哈希表/哈希桶1、哈希介绍及概念2、哈希冲突及解决3、闭散列/哈希表的实现4、开散列/哈希桶的实现三、哈希封装实现unordere

  • Android源码进阶之Glide缓存机制原理详解

    本文转载自微信公众号「Android开发编程」,作者Android开发编程。转载本文请联系Android开发编程公众号。前言Android缓存机制:如果没有缓存,在大量的网络请求从远程获取图片时会造成网络流量的浪费,加载速度较慢,用户体验不好;今天我们就来聊聊Glide的缓存机制一、Glide中缓存

  • Redis在Java开发中的基本使用和巧妙用法

    Redis是一款高性能的内存数据结构存储系统,能够支持多种数据结构类型,如字符串、哈希、列表、集合、有序集合等,也能够支持高级功能,如事务、发布/订阅、Lua脚本等,具有高可用性、高并发性和可扩展性的优点。在Java开发中,Redis可以作为一个非常优秀的缓存和数据存储解决方案。本文将介绍Redis

  • Spring Framework&Spring Boot集成apollo源码分析

    引言为了在项目中用好框架,以及出现问题时候能够快速定位、分析、优化,文章尝试从源码角度分析Spring集成apollo的过程。期望文章能够把以下几个事情描述清楚:apollo通过使用Spring哪些扩展点,完成了与Spring的集成;apollo中的配置如何融入到SpringEnvironment;

  • 聊聊如何防止接口重复提交?

    ​一、摘要在上一篇文章中,我们详细的介绍了随着下单流量逐渐上升,为了降低数据库的访问压力,通过请求唯一ID+redis分布式锁来防止接口重复提交,流程图如下!每次提交的时候,需要先调用后端服务获取请求唯一ID,然后才能提交。对于这样的流程,不少的同学可能会感觉到非常鸡肋,尤其是单元测试,需要每次先获

  • 前端图形学实战: 从零开发几何画板(vue3 + vite版)

    前言hello,大家好,我是徐小夕,今天又到了我们的博学时间。本文是 100+前端几何学应用案例 专栏的第二篇文章,在第一篇文章几何学在前端边界计算中的应用和原理分析 中我介绍了几何学在前端领域里的应用,同时用 vue3 带大家一起实现了常见图形的边

  • 怎么把一个对象当做数组使用

    怎么把一个对象当做数组使用?我们知道在JS中对象和数组的操作方式是不一样的,但是我们可以通过封装,给对象加一层包装器,让它可以和数组拥有同样的使用方式。我们主要借助Object.keys()、Object.values()、Object.entries()、Proxy。Object.keys看一下M

  • 聊聊如何实现 LRU 缓存算法

    1.LRU缓存介绍LRU算法全称是最近最少使用算法(LeastRecentlyUse),是一种简单的缓存策略。顾名思义,LRU算法会选出最近最少使用的数据进行淘汰。那么什么是缓存呢?缓存专业点可以叫一种提高数据读取性能的技术,可以有效解决存储器性能和容量的矛盾,是一种空间换时间的设计思想,比如我们常

  • 一文搞懂 Vue3.0 为什么采用 Proxy

    Object.defineProperty()作用:在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回这个对象。1.基本使用语法:​​Object.defineProperty(obj,prop,descriptor)​​参数:要添加属性的对象要定义或修改的属性的名称或[​​Symbol

  • TS 类型体操:图解一个复杂高级类型

    之前我们零散地了解了一些TypeScript类型体操的套路,但是没有综合练习下,今天就来做个高难度的体操,它会综合运用模式匹配、构造、递归等套路,对提升类型编程水平很有帮助。我们要实现的高级类型如下:它的类型参数是参数字符串querystring,会返回解析出的参数对象,如果有同名的参数,会把值做合

  • 硬核!8个类手写一个配置中心!

    配置中心是我们平常使用微服务架构时重要的一个模块,常用的配置中心组件也比较多,从早期的SpringCloudConfig,到Disconf、Apollo、Nacos等,它们支持的功能、产品的性能以及给用户的体验也各有不同。虽然说功能上有不少差异,但是它们解决的最核心问题,无疑是配置文件修改后的实时生

  • 面试突击:为什么ConcurrentHashMap不允许插入null值?

    作者:磊哥来源|Java面试真题解析(ID:aimianshi666)转载请联系授权(微信ID:GG_Stone)在Java语言中,ConcurrentHashMap和Hashtable这些线程安全的集合是不允许key或value插入null值的,而HashMap又允许key或value插入null

  • 你说,Redis如何实现键值自动清理?

     Redis缓存作为提高系统性能最好的方式相信大家对其一定不陌生,各位秃头老码农不仅需要掌握Redis的基础用法还得了解Redis的相关原理,比如Redis过期策略和内存淘汰机制。大家都知道,Redis缓存使用的是内存资源,虽然缓存服务器会配置比较高的内存资源,但如果对于Redis中的缓存

  • 我司用了 6 年的 Redis 分布式限流器,可以说是非常厉害了

     一、什么是限流?为什么要限流?不知道大家有没有做过帝都的地铁,就是进地铁站都要排队的那种,为什么要这样摆长龙转圈圈?答案就是为了限流!因为一趟地铁的运力是有限的,一下挤进去太多人会造成站台的拥挤、列车的超载,存在一定的安全隐患。同理,我们的程序也是一样,它处理请求的能力也是有限的,一旦请

  • 不可错过的 vue 开发技巧

    【51CTO.com原创稿件】前言本文主要介绍日常项目开发过程中的一些技巧,帮助大家规避错误的同时还能提高应用的性能。以下是我总结的一些平时工作中的经验。在v-if/v-if-else/v-else中使用key如果一组v-if与v-else的元素类型相同,最好使用属性key。这是因为Vue2.0引入

  • 用Pygame使你的游戏角色移动起来

    在本系列的第四部分,学习如何编写移动游戏角色的控制代码。在这个系列的***篇文章中,我解释了如何使用Python创建一个简单的基于文本的骰子游戏。在第二部分中,我向你们展示了如何从头开始构建游戏,即从创建游戏的环境开始。然后在第三部分,我们创建了一个玩家妖精,并且使它在你的(而不是空的)游戏世界内生

  • 吃透了这些Redis知识点,面试官一定觉得你很NB

     是数据结构而非类型很多文章都会说,redis支持5种常用的数据类型,这其实是存在很大的歧义。redis里存的都是二进制数据,其实就是字节数组(byte[]),这些字节数据是没有数据类型的,只有把它们按照合理的格式解码后,可以变成一个字符串,整数或对象,此时才具有数据类型。这一点必须要记住

  • HashMap和Hashtable的6个区别,最后一个没几个人知道!

    HashMap和Hashtable是Java开发程序员必须要掌握的,也是在各种Java面试场合中必须会问到的。但你对这两者的区别了解有多少呢?现在,栈长我给大家总结一下,或许有你不明朗的地方,在栈长的指点下都会拨开迷雾见晴天。1、线程安全Hashtable是线程安全的,HashMap不是线程安全的。

推荐阅读