• 2024-07-02【hash】hash算法、hash函数、哈希表、布隆过滤器、一致性哈希
    哈希函数的基本性质函数定义域是无穷的,值域相对有限(但也很大,比如2的64次方)输入同样样本一定得到同样的输出输入不同样本可能得到相同输出,此时叫哈希碰撞输入大量不同的样本,得到大量输出值,会几乎均匀的分布在整个输出域上布隆过滤器通过几个不同哈希函数计算哈希值,对位
  • 2024-07-02【0299】Postgres内核之哈希表(Hash Tables)
    0.哈希表(HashTables)哈希表是一种用于存储键值对的数据结构。与使用索引号访问元素的基本数组不同,哈希表使用键来查找表条目。这使得数据管理对于用户来说更易于管理,因为按属性对数据条目进行分类比按它们在一个巨大的列表中的数量更容易。在C++中,我们将哈希表实现为
  • 2024-07-02webpack概念
    总体简单来说:Webpack通过内部的事件流机制,保证了插件的有序性Webpack底层利用了发布订阅模式,在运行过程中会广播事件Webpack插件只需要监听它所关心的事件,在特定的时机对资源做处理站在代码逻辑的角度:Webpack在编译过代码程中,会触发一系列Tapable钩子事件插件需
  • 2024-06-30hash
    #include<bits/stdc++.h>usingnamespacestd;#defineintlonglong#defineall(a)(a).begin(),(a).end()typedef__int128_ti128;typedef__uint128_tu128;constintN=1e5+7;vector<int>c[200];vector<int>d[200];u128h[26][N];u128
  • 2024-06-24nginx配置负载均衡,nginx负载均衡404错误
    nginx在nginx.conf配置文件中通过upstream模块和server模块的配合使用,就可以实现负载均衡。在http的upstream模块中,可以通过server指令指定后端服务器的IP地址和端口,同时还可以设定每个后端服务器在负载均衡调度中的状态。常用的状态有:weight:服务访问的权重,默认是1。down:表示当
  • 2024-06-23域渗透学习(一)Windows认证机制
    windows认证机制何谓域渗透,域渗透就是基于windows域环境的渗透,而域渗透涉及到的技术,如哈希传递(PTH)票抵传递(PTT)委派攻击等,都是基于域环境下的认证机制来实现的,这也是为什么要了解windows认证机制的原因之一。windows的认证包括三个部分,用户直接操作计算机登录账号(本地认证),远程连
  • 2024-06-23Rabin Karp 算法
    RabinKarp算法RabinKarp算法,简称RK算法,是由MichaelOserRabin和RichardManningKarp在1987年提出的字符串搜索算法。该算法主要用于在文本中搜索单个模式串的位置,其基于哈希函数的原理,将字符串和模式都映射为一个整数值,并通过比较这些整数值来确定它们是否匹
  • 2024-06-23nginx架构&&基本数据结构&&配置&&模块&&请求详解
    初探nginx架构众所周知,nginx性能高,而nginx的高性能与其架构是分不开的。那么nginx究竟是怎么样的呢?这一节我们先来初识一下nginx框架吧。nginx在启动后,在unix系统中会以daemon的方式在后台运行,后台进程包含一个master进程和多个worker进程。我们也可以手动地关掉后台模式,让ng
  • 2024-06-23[Java并发]ConcurrentHashMap
    ConcurrentHashMapHashMap和ConcurrentHashMap的区别主要区别就是hashmap线程不安全,ConcurrentHashMap线程安全HashMap线程不安全,有以下两个问题put覆盖问题比如有两个线程A和B,首先A希望插入一个key-value对到HashMap中,首先计算记录所要落到的桶的索引坐标,然后获取到该桶
  • 2024-06-22java面试题--基础上
    一、说说&和&&的区别?作为运算符:&将二进制的每一位进行与运算作为逻辑运算符:两者都是与,&&如果左边为假则终止右边运算,即短路运算。&则需要把两边的比较执行完。二、int和Integer的区别int是Java的基本数据类型,而Integer是int的包装类int直接存储整数值,而Integer是一个对象,包含
  • 2024-06-22Map集合之HashMap细说
            最近在看面试题,看到了hashmap相关的知识,面试中问的也挺多的,然后我这里记录下来,供大家学习。Hashmap为什么线程不安全jdk1.7中,在扩容的时候因为使用头插法导致链表需要倒转,从而可能出现循环链表问题或者数据丢失的问题jdk1.8中,在put方法中,假设A,B两个线
  • 2024-06-22ConcurrentHashMap(并发工具类)
    并发工具类在JDK的并发包里提供了几个非常有用的并发容器和并发工具类。供我们在多线程开发中进行使用。5.1ConcurrentHashMap5.1.1概述以及基本使用在集合类中HashMap是比较常用的集合对象,但是HashMap是线程不安全的(多线程环境下可能会存在问题)。为了保证数据的安全性我
  • 2024-06-22[字符串专题] KMP、Hash、Trie
    KMP核心思想:在每次失配时,不是把p串往后移一位,而是把p串往后移动至下一次可以和前面部分匹配的位置,这样就可以跳过大多数的失配步骤。而每次p串移动的步数就是通过查找next数组确定的。KMP主要分两步:求next数组、匹配字符串,其难点在于如何求next数组for(inti=1,
  • 2024-06-21java object多大 java对象内存模型 数组有多长(九)多线程2
    背景:多线程与单线程byte模式有误差,而且多线程每次跑出来不一样 发现:set多线程单线程没有误差,意味着除了byte那一块代码,其他的代码是可被信任的单线程5000以下byte没有hash冲突时==单线程set==apache==理论值;基本证明了这套cas在单线程下没问题;hash冲突是导致单线程set和单线
  • 2024-06-21文本预处理1--去除#和句号之间内容
    1.针对文本里特定两个符号之间内容的中文进行去除,本次选取#和句号之间的内容进行去除。2.大家可以根据自己的实际需求修改代码实现自己的文本内容的整理。3.下面是去除#和句号之间内容的python代码:其中读取的是txt文本,处理后的内容写回原txt文件。importosdefremove_cont
  • 2024-06-20HMAC与Hash算法——C语言实现
    hash算法是HMac的Mac hmacsha256.h1/**2*@filehmacsha256.h3*@authoryourname([email protected])4*@brief5*@version0.16*@date2024-06-207*8*@copyrightCopyright(c)20249*10*/1112#ifndef_HMAC_SHA_256_H_13#
  • 2024-06-19面试官:你讲下如何设计支持千万级别的短链?
    前言前几天面试遇到的,感觉比较有趣。第一次面试遇到考架构设计相关的题目,挺新奇的,开始向国外大厂靠拢了,比天天问八股文好太多了,工作5年左右的,问八股文,纯纯的不负责任偷懒行为。感觉此问题比较有趣,这几天简单的实现了一版本,和大家分享一下具体的细节,也欢迎大家交流讨论,代码gith
  • 2024-06-18哈希查找(按个位取余的方式)
    步骤:1.构建哈希表进行分类2.进行哈希查找(算法)处理冲突:按个位取余发现有两个或多个数重复,如:会发现15,25,55,重叠了,对此进行冲突处理,冲突处理有三种:1.地址偏移法以上图为例,将和25按个位取余后重复的数填到25后面的位置,如果相邻的位置满了,在向后填。2.再哈希法 再次使
  • 2024-06-18现代分布式数据库 数据分布方式 Round-Robin、Range、List 和 Hash
    现代分布式数据库中,常见的数据分布方式有如下几种:Round-Robin、Range、List和Hash。如下图所示: 数据分布|StarRockshttps://docs.starrocks.io/zh/docs/table_design/Data_distribution/StarRocks的数据分布方式​StarRocks支持单独和组合使用数据分布方式。说明除
  • 2024-06-17[Day 13] 區塊鏈與人工智能的聯動應用:理論、技術與實踐
    區塊鏈的去中心化特性引言區塊鏈技術以其去中心化的特性聞名。去中心化是指不依賴單一中心化實體來管理和控制系統,而是通過分布式網絡中的多個節點共同維護數據和執行交易。這種特性賦予區塊鏈技術高可靠性、安全性和抗審查性。本文將深入探討區塊鏈的去中心化特性,包括其工作
  • 2024-06-16emojiCTF2024
    看到一个新生赛,来打打,发现自己还是太菜了连最正常的hash扩展一开始都没看出来,丢大脸这次就巩固了一下hash扩展密码其他的都是常规题了其他方向基本不会,新生赛都打不了,(哭crypto签到0111001001111010011000100111011101110110010100000100011101010011011110110011000101100
  • 2024-06-16Java集合类源码
    Java集合类源码(粒度:方法层面)ArrayList构造方法,有三种publicArrayList(intinitialCapacity)/*初始化容量>0,分配空间初始化容量=0,赋值空数组否则抛IllegalArgumentException异常*/publicArrayList()//直接赋值空数组publicArrayList(Collection<?extendsE>c)
  • 2024-06-16域渗透之初识LM&NTLM认证过程
    目录前言LMHashNTLMHashWindows本地认证LSASS进程Mimikatz抓取明文密码Windows网络认证NetNTLMNTLMv1&NTLMv2Hash传递攻击前言LANManager和NTLANManager认证是Windows系统中的一种挑战-响应身份验证机制。LM认证是早期Windows版本中使用的一种认证协议,而NTLM是LM的改
  • 2024-06-16redis常用5种数据类型及其常见问题(缓存穿透,缓存击穿,缓存雪崩)
    1.字符串(String)2.哈希(hash):redishash是一个string类型的字段和value的映射表,hash特别适合存储对象3.列表(List):字符串列表,按照插入的顺序。可以添加一个元素到列表的头部或尾部4.集合(set):String类型的无序集合。集合成员不可重复,redis中集合通过哈希表实现的,添加,删除,查找复杂度
  • 2024-06-15Unity 利用Cache实现边下边玩
    现在手机游戏的常规更新方案都是在启动时下载所有资源更新,游戏质量高的、用户粘性大的有底气,先安装2个G,启动再更新2个G,文件小了玩家还觉得品质不行不想玩。最近在做微信、抖音小游戏,使用他们提供的资源缓存方案,现在要转成AndroidAPP,也想用这种边下边玩的机制把首包做小。其实