有关 Map 的一些总结 (mp.weixin.qq.com)

【简介】

我们知道在Java中最常用的两种结构是数组和模拟指针(引用),几乎所有的数据结构都可以利用这两种来组合实现,HashMap也是如此。实际上HashMap是一个“链表散列”,如下是它数据结构:

点击查看原文 >>

@code小生 2019-08-04 23:53 / 0个评论
赞过的人: @IT技术博客大学习 @技术头条 @code小生
要不要再学学下面的文章?
美团RASP大规模研发部署实践总结 (tech.meituan.com)
RASP是Runtime Application Self-Protection(运行时应用自我保护)的缩写,是一种应用程序安全技术。RASP 技术能够在应用程序运行时检测并阻止应用级别的攻击。随着云计算和大数据的发展,应用程序安全越来越受到重视。RASP 技术作为一种新型的安全防护手段,正在逐渐被业界接受并广泛应用。
by @技术头条 2024-01-28 23:48 查看详情
美团RASP大规模研发部署实践总结 (www.cnxct.com)
RASP是Runtime Application Self-Protection(运行时应用自我保护)的缩写,是一种应用程序安全技术。RASP 技术能够在应用程序运行时检测并阻止应用级别的攻击。随着云计算和大数据的发展,应用程序安全越来越受到重视。RASP 技术作为一种新型的安全防护手段,正在逐渐被业界接受并广泛应用。其中Java RASP 是一种针对 Java 应用程序的 RASP 技术。通过在 Java 虚拟机(JVM)级别进行监控和防护,能够有效防止对 Java 应用程序的攻击。
by @技术头条 2024-01-17 23:15 查看详情
nginx 防火墙模块开发总结 (www.addesp.com)
那段时间我的站点有时会打不开,起初以为是网络问题,后来越来越严重,进入后台才发现数据库 IO 拉满了。看了看 nginx 的日志才发现站点被疯扫,于是打算做点什么。

然后在 Github 上看了几个防火墙模块,要不然功能不全,要不然使用复杂,于是萌生了自己写模块的想法。
by @技术头条 2023-12-26 22:24 查看详情
实现网页长截图的常见思路总结 (blog.yuanpei.me)
作为一个经常写博客的人,我有时会在微博上分享博客内容,可不知道从什么时候开始,国内互联网越来越丧失信仰,所有的厂商都在试图打造一个**“只进不出”的信息孤岛,进而达到增强“用户黏度”的目的。

既然外链注定要被屏蔽掉,那我就勉为其难地顺应潮流发“长截图”咯,所以,接下来我会为大家分享实现网页“长截图”**的常见思路,希望对有类似烦恼或者需求的小伙伴们有所帮助。
by @技术头条 2023-07-02 23:28 查看详情
一个泛型的有序Go Map实现 (colobu.com)
我们知道, Go内建的map类型对于插入的元素并没有保持它们的插入顺序,遍历的时候也故意设置成随机的。因此,如果我们想让map保持元素的插入顺序,需要借助第三方的库才行,今天就给大家介绍一个这样的库OrderedMap。

其实在其他编程语言中,也有类似的数据结构,比如java中的 LinkedHashMap, python中的OrderedDict。

本文介绍如何使用Go语言实现这样的一种数据类型。注意我们要实现的是OrderedMap, 不是SortedMap或者TreeMap,SortedMap遍历的时候是按照Key的排序顺序遍历的,我们可以通过先获取所有的key并排序,再逐个访问对应的值。

但是OrderedMap遍历的时候要是保持插入的顺序,这怎么办到的呢?
by @技术头条 2023-06-24 09:19 查看详情
让 sync.Map 支持泛型 (colobu.com)
渐渐地, Go泛型越来越多应用的Go的标准库中了。一些标准库的类型,比如container/heap、container/list、container/ring、math都是有机会支持泛型的,但是考虑到Go向下兼容的情况,这些包可能不会直接修改,最可能就是新建一些并发的包,或者放在扩展包中。

本篇文章将讲一个相对复杂的例子,也就是对sync.Map的修改,让它支持泛型。
by @技术头条 2023-06-24 09:19 查看详情
机智!生抠 map的哈希函数 (colobu.com)
我们经常会在一些场景,比如特定的数据结构、cache等场景中使用这样一个哈希函数,那么如何为任务类型实现一个优雅高效的hash函数呢?其实Go运行时中map中就实现了。回想一下内建的map是不是支持泛型的?它的key可以是comparable类型(包括接口类型),内部实现中会把此类型的key计算一个哈希值,能不能吧它的hash函数拿出来使用?很遗憾,Go官方并没有想暴露出来这样的hasher的想法,它的代码也是不容易抽取整理成一个hasher函数。
by @技术头条 2022-12-24 23:34 查看详情
Vue项目打包部署总结 (mp.weixin.qq.com)
使用Vue做前后端分离项目时,通常前端是单独部署,用户访问的也是前端项目地址,因此前端开发人员很有必要熟悉一下项目部署的流程与各类问题的解决办法了。
by @code小生 2022-08-07 09:40 查看详情
微服务API设计的实践与思考总结 (mp.weixin.qq.com)
随着微服务的越来越流行,越来的越多的公司开始实行微服务架构,相对于单一应用架构,微服务将复杂性拆分并且打散到一个个粒度更加细分的应用中,极大了减少了开发中单个服务的复杂性,开发人员只需要面向专注单一业务场景编程,从技术开发角度,单一服务代码量上减少很多,从业务角度上,业务复杂性的降低降低了需求的沟通成本,然而,整体业务复杂性依然存在,当我们需要接入或者依赖其他服务时,通常作为接入方来说,我们不需要深入了解服务提供方的业务,此时API成为了开发人员间的沟通语言。良好的API设计,能极大的减少沟通成本,甚至有时候可以代替文档,尤其是对于基础性服务来说,服务的可扩展性有时候体现在API的可扩展性,我曾经参与过一个基础业务微服务的业务升级,由于旧版本的API划分不够清晰,部分API存在重复性,后面不得不对大部分API进行重构(替换为新版本的API),仅仅在服务消费方升级这个阶段就持续1-2个月之久,在这个过程中也不断对API设计中存在的一些问题以及应该遵循哪些原则进行了一些思考。
by @code小生 2022-07-24 11:00 查看详情
使用Flex实现常见布局的思路总结 (mp.weixin.qq.com)
flex全称Flexible Box模型,顾名思义就是灵活的盒子,不过一般都叫弹性盒子,所有PC端及手机端现代浏览器都支持,所以不用担心它的兼容性,有了这玩意,妈妈再也不用担心我们的布局。
by @code小生 2022-07-24 10:59 查看详情