算法 标记 原理 垃圾

白话解析:一致性哈希算法 consistent hashing

在了解一致性哈希算法之前,最好先了解一下缓存中的一个应用场景,了解了这个应用场景之后,再来理解一致性哈希算法,就容易多了,也更能体现出一致性哈希算法的优点,那么,我们先来描述一下这个经典的分布式缓存的应用场景。 场景描述 假设,我们有三台缓存服务器,用于缓存图片,我们为这三台缓存服务器编号为0号、1 ......
一致性 白话 算法 consistent hashing

负载均衡算法: 简单轮询算法, 平滑加权轮询, 一致性hash算法, 随机轮询, 加权随机轮询, 最小活跃数算法(基于dubbo) java代码实现

直接上干活 /** * @version 1.0.0 * @@menu <p> * @date 2020/11/17 16:28 */ public class LoadBlance { static Map<String, Integer> serverWeightMap = new HashMa ......
算法 一致性 代码 dubbo hash

什么是gil锁、python的垃圾回收机制是什么样的?解释为什么计算密集型用多进程,io密集型用多线程

[toc] ## 1 什么是gil锁 ### -全局解释器锁: 它的本质就是一个大的互斥锁,它是cpython的一个机制,gil只存在于cpython解释器,它限制了一个线程只有获取到了gil锁,才能执行,如果没有拿到gil锁,线程是不能执行的 -解释器不仅仅只有cpython,pypy,jpyth ......
密集型 线程 进程 机制 垃圾

PHPJSON解析 原理与用法

PHPJSON解析 原理与用法 在现代编程语言中,JSON已经成为最流行的数据交换格式之一。而PHP作为一门流行的服务器端编程语言,自然也提供了一套完整的JSON解析库。本文将介绍PHPJSON解析的原理与用法,以帮助PHP开发者更好地使用JSON格式数据进行开发。 什么是JSON? JSON代表“ ......
原理 PHPJSON

算法题目

# 第一章 动态规划 ## 数字三角形模型[线性DP] 1. [摘花生](https://www.acwing.com/problem/content/1017/) 2. [最低通行费](https://www.dotcpp.com/oj/problem3054.html) 3. [数字三角形](h ......
算法 题目

TSINGSEE青犀视频AI算法引擎中台在渣土车智慧管控场景中的应用

渣土车AI视频监控智慧管控系统可对渣土车进行实时检测,无须人工控制,一旦监测到破损车牌,未按照规定遮盖篷布时,再次进行告警,告知上级管理,提醒相关负责人及时去处理;同时将告警截图和视频保存到数据库产生报表,可以根据时间段对告警记录和告警截图、视频查询点播,方便进行事后车辆的运动轨迹回溯,实现全面监管... ......
渣土 算法 TSINGSEE 场景 智慧

Hybird 技术讨论:热更新原理解析

原生应用 VS 混合应用 大家对于原生应用和混合应用已经非常熟悉了,这里就不再进行详细的介绍,用通俗易懂的话解释下他们的一些特点。 1、原生应用 在 Android、iOS 等移动平台上利用提供的开发语言、开发类库、开发工具进行 App 软件开发。比如 Android 是用 Java、Eclipse ......
技术讨论 原理 Hybird 技术

渗透-01:DNS原理和HTML字符编码-HTML实体编码

# 一、DNS概念 DNS (Domain Name System 的缩写)就是根据域名查出IP地址(常用) DNS分类: - 正向解析:已知域名解析IP - 反向解析:已知IP解析对应的域名 # 二、查询过程 工具软件`dig`可以显示整个查询过程 ```bash [root@node01 ~]# ......
编码 HTML 实体 字符 原理

什么是散列函数?HashMap 的实现原理是什么?

散列函数(Hash Function)是一种将输入数据(通常是任意大小的数据)映射为固定大小散列值(哈希值)的函数。散列函数的目标是将数据均匀地映射到哈希值域,以便在哈希表等数据结构中高效地查找、插入和删除数据。好的散列函数应该尽可能避免冲突(即不同的输入映射到相同的哈希值),并具有良好的性能特性, ......
函数 原理 HashMap

限流算法

Token bucket algorithm 令牌桶算法 该算法用具有预定义令牌容量的桶进行类比,这个桶会定期以恒定速率填充令牌。令牌可以被视为某种特定大小的数据包。 因此,每次我们收到请求时,算法都会检查存储桶中的令牌,每个请求应该至少有一个令牌才可以被转发以进一步处理。 令牌桶的算法流程如下: ......
算法

基于Aidlux平台的人脸关键点检测以及换脸算法

第一步:安装APP 手机应用市场下载AidLux 手机和电脑连接同一个Wifi 第二步:配置APP 赋予AidLux各种系统权限,包括:媒体和文件、相机、麦克风、后台弹窗 手机-设置-关于手机-点击操作系统版本号多次,打开开发者模式 重启AidLux,按照提示完成配置 第三步:获取手机IP地址 在手 ......
人脸 关键点 算法 关键 Aidlux

JVM02_垃圾回收

# GC 的相关 VM 参数 | 含义 | 参数 | | : : | | | 堆初始大小 | -Xms | | 堆最大大小 | -Xmx 或 -XX:MaxHeapSize=size | | 新生代大小 | -Xmn 或 (-XX:NewSize=size + -XX:MaxNewSize=size ......
垃圾 JVM 02

数据结构(算法)

算法: 数据结构中的算法,指的是数据结构所具备的功能 解决特定问题的方法,学习的是前辈的优秀的经验总结 五个特征: 1、有穷性 2、确定性 3、可行性(有结果) 4、输入(0个或者多个) 5、输出(1个以上) 如何评价一个算法: 时间复杂度: 由于计算机的性能不同,无法准确地确定一个算法的执行时间 ......
数据结构 算法 结构 数据

script的加载方式标记

在 HTML 中,可以通过以下几种方式来指定 JavaScript 脚本的加载方式: <script> 标签的 async 属性:async 属性用于指定脚本的异步加载。当指定了 async 属性时,脚本将会在加载时不阻塞 HTML 解析,并在加载完成后立即执行。多个异步脚本的执行顺序是不确定的。 ......
标记 方式 script

强制缓存和协商缓存以及栈溢出的垃圾清理问题

强制缓存和协商缓存是HTTP中常用的缓存机制,用于优化网页加载速度和减少服务器负载。 强制缓存:通过设置响应头信息中的Expires(过期时间)或Cache-Control(缓存控制)字段,客户端可以将服务器返回的资源缓存在本地,直到一定时间或过期时间到达。当再次请求该资源时,客户端可以直接从缓存中 ......
缓存 垃圾 问题

跳表的原理--Golang 实现一个简单跳表

## 前言 最近在看《Redis 设计与实现》这本书,书中简单描述了跳表的性质和数据结构,但对它的具体实现没有多讲。 书里对跳表结构的描述是这样的: ![image](https://img2023.cnblogs.com/blog/3120527/202308/3120527-2023080111 ......
原理 Golang

简单算法程序-C和C++

快速幂算法C++:用于以 log(n) 的复杂度求幂 $x^n$。 #include<iostream> using namespace std; long long fast_power(long long a, long long b){ long long ans = 1; while(b){ ......
算法 程序

SnowFlake算法

package util; public class IdUtils { private static IdWorkerUtils idWorkerUtils=new IdWorkerUtils(1,1,1); public static Long nextId(){ return idWorker ......
算法 SnowFlake

排序算法---快速排序

#### 什么是快速排序? 快速排序(Quick Sort)是一种高效的排序算法,它使用分治法来将一个数组分成两个子数组,然后对这两个子数组分别进行排序,最后将它们合并成有序的数组。 #### 快速排序的基本步骤: 1. 选择一个基准元素(pivot):从数组中选择一个元素作为基准元素。通常选择数组 ......
算法

SSL原理与实践(三)国密TLS

## 主页 - 个人微信公众号:密码应用技术实战 - 个人博客园首页:https://www.cnblogs.com/informatics/ ## 引言 TLS作为保证`网络通信安全`的关键技术和基石被广泛应用,但目前主流国内外网站仍然使用国际TLS协议,即:`TLS1.2`和`TLS1.3`。随 ......
原理 SSL TLS

代码随想录算法训练营第五天|力扣242.有效的字母异位词、力扣242.两个数组的交集、力扣202.快乐数、力扣1.两数之和

# 哈希表 ## 哈希表理论基础 哈希表,又称为散列表(Hash Table),是根据关键码的值而直接进行访问的数据结构 其中,数组就是一张哈希表;表中关键码就是数组的索引下标,然后通过下标直接访问数组中的元素 - 哈希表解决的问题:一般哈希表都是用来快速判断一个元素是否出现在集合中 - 哈希函数: ......
随想录 之和 训练营 数组 交集

代码随想录算法训练营第三天| LeetCode 242.有效的字母异位词 349. 两个数组的交集 1. 两数之和

242.有效的字母异位词 卡哥建议: 这道题目,大家可以感受到数组用来做哈希表给我们带来的遍历之处。 题目链接/文章讲解/视频讲解: https://programmercarl.com/%E5%93%88%E5%B8%8C%E8%A1%A8%E7%90%86%E8%AE%BA%E5%9F%BA%E ......
随想录 之和 训练营 数组 交集

Sychronized 原理,锁升级优化

Java 对象头 以 32 位虚拟机为例 普通对象 所以以 Integer 和 int 为例子 Integer 8字节对象头 + 4字节 int 值,所以大小是 int 的 3 倍 int 4字节 int 值 数组对象 如 Student[] s = new Student[8],还包括数组长度 l ......
Sychronized 原理

RocketMq消费原理及源码解析

消费原理概览 先简单说下常见的rocketMq的部署方式,上图中broker为真正计算和存储消息的地方,而nameServer负责维护broker地 图中右侧consume message部分即是本文重点描述的部分,主要分为ConsumerGroup和Consumer,consumerGroup可以 ......
源码 RocketMq 原理

数据结构与算法(三):单向链表

# 链表定义 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑是通过链表种的指针链接次序实现的。链表由一系列节点组成,每个节点包括两部分:一个是存储数据元素的数据域,一个是存储下一个节点地址的指针域。单向链表从头节点(也可以没有头节点)开始,指针指向下一个节点的位置,只能由上一个节点 ......
数据结构 单向 算法 结构 数据

排序算法

**时间复杂度:** 由于计算机的性能不同,无法准确地确定一个算法的执行时间 因此使用执行算法的次数来代表算法的时间复杂度 一般用O(公式)来表示 **空间复杂度:** 执行一个程序(算法)所需要的内存空间的大小,是对一个算法在运行过程中临时占用存储空间大小的衡量 通常来说,只要这个算法不涉及动态分 ......
算法

深入理解Java虚拟机(JVM):原理、结构与性能优化

1. 介绍 Java虚拟机(JVM)是Java程序的核心执行引擎,负责将Java源代码编译成可执行的字节码,并在运行时负责解释执行字节码或将其编译成本地机器代码。本文将深入探讨JVM的原理、结构以及性能优化的相关技术。 2. JVM原理与结构 2.1 JVM运行时数据区域 JVM运行时数据区域由以下 ......
原理 性能 结构 Java JVM

NET/C#中SM2/SM3国密加密算法

using Org.BouncyCastle.Asn1; using Org.BouncyCastle.Asn1.GM; using Org.BouncyCastle.Asn1.X9; using Org.BouncyCastle.Crypto; using Org.BouncyCastle.Cry ......
算法 SM NET SM2 SM3

8.5 垃圾收集

垃圾收集器(garbage collector)是一种动态内存分配器,它自动释放程序不再需要的已分配块。这些块被称为垃圾(garbage)(因此术语就称之为垃圾收集器)。自动回收堆存储的过程叫做垃圾收集(garbage collection)。在一个支持垃圾收集的系统中,应用显式分配堆块,但是从不显 ......
垃圾 8.5

[计算几何] 2 二维凸包/笨蛋(我)也能看懂的二维凸包算法

二维凸包,这篇博客已经说得够好了,介绍了**斜率逼近法、Jarvis算法,Graham算法,还有Andrew算法**。我这篇博客只会非常详细的介绍**Andrew算法**。 [数论小白都能看懂的平面凸包详解 - ShineEternal的笔记小屋 - 洛谷博客 (luogu.com.cn)](htt ......
凸包 几何 算法 笨蛋