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

  • HashMap的数据结构

    1,HashMap集合简介HashMap基于哈希表的Map接口实现,是以key-value存储形式存在,即主要用来存放键值对。HashMap的实现不是同步的,这意味着它不是线程安全的。它的key、value都可以为null。此外,HashMap中的映射不是有序的。JDK1.8之前的HashMap由数

  • 前端枚举enum的应用(Element)封装

    什么是枚举Enum枚举Enum是在众多语言中都有的一种数据类型,JavaScript中还没有(TypeScript有)。用来表示一些特定类别的常量数据,如性别、学历、方向、账户状态等,项目开发中是很常用的。Text文字(界面显示)key编码(编码、存储使用)数字value值(存储使用)男male/m

  • 快速排序算法的深入分析

    前言之前,曾在本BLOG内写过一篇文章,快速排序算法普及教程,不少网友反映此文好懂。然,后来有网友algorithm__,指出,“快速排序算法怎么一步一步想到的列?就如一个P与NP问题。知道了解,证明不难。可不知道解之前,要一点一点、一步一步推导出来,好难阿?”其实,这个问题,我也想过很多次了。之前

  • 使用click创建完美的Python命令行程序

    Python程序员的主要工作是写命令行程序,即直接在终端运行的脚本。随着项目规模增长,我们希望创建有效的命令行接口,通过提供不同的参数,解决不同的问题,而不是每次都修改源代码。为了实现这一目标,我总结了四条原则,希望对大家有所帮助:命令行参数应提供默认值处理所有可能的参数错误,包括缺少参数,数据类型

  • Spring Boot加一个注解,轻松实现 Redis 分布式锁

    一、业务背景有些业务请求,属于耗时操作,需要加锁,防止后续的并发操作,同时对数据库的数据进行操作,需要避免对之前的业务造成影响。二、分析流程使用Redis作为分布式锁,将锁的状态放到Redis统一维护,解决集群中单机JVM信息不互通的问题,规定操作顺序,保护用户的数据正确。梳理设计流程 新

  • ThreadLocal的八个关键知识点

    前言大家好,我是捡田螺的小男孩。无论是工作还是面试中,我们都会跟ThreadLocal打交道,今天就跟大家聊聊ThreadLocal的八个关键知识点哈~ThreadLocal是什么?为什么要使用ThreadLocal一个ThreadLocal的使用案例ThreadLocal的原理为什么不直接用线程i

  • 面试官问:Vue3 对比 Vue2 有哪些变化?

    前言内容混杂用法+原理+使用小心得,建议收藏,慢慢看。区别生命周期的变化整体来看,变化不大,只是名字大部分需要+on,功能上类似。使用上Vue3组合式API需要先引入;Vue2选项API则可直接调用,如下所示。复制//vue3<scriptsetup>import{onMounted}f

  • 低代码平台的撤销与重做该如何设计?

    在上一篇文章《​​低代码平台的属性面板该如何设计?​​》中聊到了低代码平台的属性面板的设计,今天来聊一下画布区域的撤销、重做的设计。撤销、重做其实是我们平时一直在用的操作。对应快捷键一般就是⌘Z/Ctrl+Z、⌘⇧Z/Ctrl+Shift+Z。这个功能是很常见的,它可以极大的提升用户体验,提高编辑效

  • 一文了解如何发现并解决Redis热key与大key问题

    热Key问题什么是热key?热key是服务端的常见问题,指一段时间内某个key的访问量远远超过其他的key,导致大量访问流量落在某一个redis实例中;或者是带宽使用率集中在特定的key(例如,对一个包含2000个field的hashkey每秒发送大量的hgetall操作请求);又或者是cpu使用时

  • 聊聊Python的一个内置模块Collections

    1、模块说明collections是Python的一个内置模块,所谓内置模块的意思是指Python内部封装好的模块,无需安装即可直接使用。collections包含了一些特殊的容器,针对Python内置的容器,例如:list、dict、set、tuple,提供了另一种选择。namedtuple:可以

  • 不会一致性 Hash 算法,劝你简历别写搞过负载均衡

    本文转载自微信公众号「程序员内点事」,作者程序员内点事。转载本文请联系程序员内点事公众号。这两天看到技术群里,有小伙伴在讨论一致性hash算法的问题,正愁没啥写的题目就来了,那就简单介绍下它的原理。下边我们以分布式缓存中经典场景举例,面试中也是经常提及的一些话题,看看什么是一致性hash算法以及它有

  • 五个常见的JavaScript内存错误

    JavaScript不提供任何内存管理操作。相反,内存由JavaScriptVM通过内存回收过程管理,该过程称为垃圾收集。既然我们不能强制的垃圾回收,那我们怎么知道它能正常工作?我们对它又了解多少呢?脚本执行在此过程中暂停它为不可访问的资源释放内存它是不确定的它不会一次检查整个内存,而是在多个周期中

  • 一篇文章带你搞懂Map接口、HashMap集合

    一、Map接口1.在学校的每个学生都有唯一的学号,通过学号可以查询到这个人的信息,这两者属于一对一的关系。Map接口是一个双列集合,它的每个元素都包含一个键(key)和一个值(Value)的对象,这个键和值对象之间的关系是一种对应的关系,也叫做映射。在这个Map集合访问元素,指定key的值就可以直到

  • Java 8中Map骚操作之merge()的用法

    Java8最大的特性无异于更多地面向函数,比如引入了lambda等,可以更好地进行函数式编程。前段时间无意间发现了map.merge()方法,感觉还是很好用的,此文简单做一些相关介绍。首先我们先看一个例子。merge()怎么用?假设我们有这么一段业务逻辑,我有一个学生成绩对象的列表,对象包含学生姓名

  • Redis不是只有5种基本数据类型?

    面试官:我看你简历上说在你的项目中使用了Redis,并使用它做了缓存,你能给我介绍一下Redis的五种基本数据类型吗?于是说道:emmm,Redis中有string字符串,hash哈希,list列表,set无序集合,zset有序集合,这五种数据类型。面试官:除了这五种基本数据类型你还了解过其他Red

  • 千万级并发!如何设计一个多级缓存系统?

    什么是一个多级缓存系统?它有什么用?我们又如何设计一个多级缓存系统?图片来自Pexels所谓多级缓存系统,就是指在一个系统的不同的架构层级进行数据缓存,以提升访问效率。我们都知道,一个缓存系统,它面临着许多问题,比如缓存击穿,缓存穿透,缓存雪崩,缓存热点等等问题,那么,对于一个多级缓存系统,它有什么

  • 深入理解vue响应式原理

    【51CTO.com原创稿件】前言Vue最独特的特性之一,是其非侵入性的响应式系统。数据模型仅仅是普通的JavaScript对象。而当你修改它们时,视图会进行更新。这使得状态管理非常简单直接,不过理解其工作原理同样重要,这样你可以避开一些常见的问题。----官方文档本文将针对响应式原理做一个详细介绍

  • 【实战解析】基于HBase的大数据存储在京东的应用场景

    HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,适用于结构化的存储,底层依赖于Hadoop的HDFS,利用HBase技术可在廉价PCServer上搭建起大规模结构化存储集群。因此,HBase被广泛使用在大数据存储的解决方案中。为何使用HBase(1)HBase的优点:列可以动态增加

  • 深入浅出百亿请求高可用Redis(codis)分布式集群揭秘

    一、背景随着直播元年开启,越来越多的直播产品如春笋般出现,在拉动营收的过程中,产品竭尽全力思考着各种活动来刺激用户的消费欲望,而这类活动的基础形式就是榜单,在2016年我们基于cmem及扫描流水表的方式来实现榜单排名,2017开始,我们对原有系统进行重构,使用redis作为我们的榜单基础存储,在重构

  • 如何成为一名优秀的工程师(语义篇)

    好的语义表达是团队协作中高效迭代的润滑剂,好的语义表达是线上未知代码问题排查的指南针。本篇文章巨长,如果你比较“懒”,来我讲给你听(直播中有更多细节)回放地址看完这个还不过瘾?学习使你快乐?还想学习?快上车不要让其他人读不懂你的代码,其他人可能就是一周后的你。时刻以“如果你写的这段代码出现故障,一个

推荐阅读