- 博客(162)
- 资源 (6)
- 收藏
- 关注
原创 redis数据类型:list
list 结构示意图,可参考 python 中的 list,特别是范围查找逻辑正序查找:如 0 到 5,从头开始算起,负序查找:如 0 到 -5,通常用于实现栈和队列栈:先进后出,使用 list 的 lpush 可以实现栈的功能,依次向前插入数据,按正序索引取值的时候,可以实现栈的功能。队列:先进先出,使用 rpush可以实现队列的功能,依次向后插入数据,按正序索引取值的时候,可以实现队列的功能。
2024-12-20 23:13:15
1422
原创 数据结构:B树与B+树
节点半满要求:除根之外的所有非叶子结点至少有。要求节点半满,保证B树不会退化成简单地二叉树。),一颗 m 阶(或度)的。只是连字符,并不读作。
2024-12-20 00:52:33
872
原创 数据结构:树
使用树结构存储的每一个数据元素都被称为。例如,图中,数据元素就是一个结点。(双亲结点):对于图中的结点 A、B、C、D 来说,A 是 B、C、D 结点的父结点(也称为“双亲结点”)。: B、C、D 都是 A 结点的子结点(也称“孩子结点”)。:对于 B、C、D 来说,它们都有相同的父结点,所以它们互为兄弟结点。:简称,每一个非空树都有且只有一个被称为根的结点。
2024-12-20 00:47:51
1026
原创 数据结构与算法:稀疏数组
在一个二维数据数组里,由于大量的元素的值为同一个值,比如 0或者其他已知的默认值,在存储此类数据的数据的时候,为了某种目的(如节省存储空间)而将 0 值或默认剔除方式,使用一个新数组来组织的剩余数据(此文称为存储有效数据,简称有效数),此时将该新数组称为稀疏数组。简而言之,存储原二维数组中有效数据信息的数组称为稀疏数组。如下图中的 0 值是最多的元素,可以将 0 值视为要剔除储存的值,此文称为剔除数。此处是压缩思想在数组上的应用,稀疏数组一般用于数据的压缩存储,已达到节省空间的目的。
2024-12-18 23:10:05
395
原创 Java 中的equals()与 ==的联系与区别
=号在比较时,无论变量是基本类型还是引用类型,比较的都是。默认情况下,从Object继承而来的 equals 方法与是完全等价的,因为底层调用的是号,但我们可以重写equals方法,使其按照我们的需求方式进行比较。
2024-12-15 01:08:02
250
原创 hashtable和 hashmap相关知识点
哈希表(Hashtable)在扩容时确实会重新计算所有元素的哈希值,并将它们重新插入到新的更大的数组中。哈希冲突(Hash Collision):不同的关键字通过同一个哈希函数可能得到同一哈希地址,即 key1 ≠ key2,而 Hash(key1) = Hash(key2),这种现象称为哈希冲突。当哈希表的负载因子达到阈值(例如0.75)时,哈希表会扩容到新的容量8。扩容完成后,查询操作会立即使用新数组,而不会影响原有的数据查询。常用的解决哈希冲突的方式有。
2024-12-14 21:18:33
341
原创 理解数据结构 hashtable的简易理解思路
为了方便演示,下图中分区算法为下标取模Hashtable的结构如图所示:是一个数组(元素为各个链表的表头)+ 多个链表组成,也就是说 hashtable 结合了数组和链表的优点。
2024-12-14 20:56:02
1011
原创 java 知识点:注解及使用
interface是 Java 中用于创建自定义注解的关键字。使用@interface可以定义一个新的注解类型,并在注解中声明自定义的元素。public @interface 注解名 {// 注解元素声明在@interface定义的花括号中,可以声明注解的元素。注解元素的定义类似于方法的定义,包括元素的类型、名称和可选的默认值。//星期。
2024-12-13 19:48:43
910
原创 gradle 镜像地址,解决 AS 下载缓慢或者下不下来的问题
为了解决Gradle下载过慢的问题,我们可以利用国内优秀的镜像站点来加速下载。以下是一些国内镜像站点提供的Gradle下载地址:官网地址:https://services.gradle.org/distributions/腾讯云镜像地址:https://mirrors.cloud.tencent.com/gradle/阿里云镜像地址:https://mirrors.aliyun.com/gradle/distributions/
2024-11-25 12:47:27
1239
原创 分布式算法中 2pc 与 3pc协议的差异化分析
在一个分布式系统中,每个节点有知道自己是否能力处理事务及事务处理结果,然而却无法直接获取其他节点的事务处理结果。当一个事务需要跨节点处理的时候,为了保证事务处理的 ACID 特性,就需要一个协调者的角色来统一调度所有分布式节点的执行逻辑。那些被调度的分布式节点则称为参与者。协调者负责调度参与者的行为,并最终决定这些参与者是否要真正地完成事务的提交。而基于以上思想,衍生出了二阶段和三阶段提交协议。
2024-11-23 16:51:44
743
原创 go函数传值是值传递?还是引用传递?slice案例加图解
值语义类型:参数传递的时候,就是值拷贝,这样就在函数中就无法修改原内容数据。引用语义类型:参数传递的时候,也是值拷贝,不过是这样就可以修改原内容数据。
2024-11-11 00:50:25
468
1
原创 go error接口
package mainimport "strconv"type MyError struct { s string code int}func MyErrorLog(code int, text string) error { return &MyError{ s: text, code: code, ...
2024-10-19 01:13:25
142
原创 go interface
interface在面向对象编程中,可以这么说:“接口定义了对象的行为”, 那么具体的实现行为就取决于对象了。在Go中,接口是一组方法签名(声明的是一组方法的集合)。当一个类型为接口中的所有方法提供定义时,它被称为实现该接口。它与oop非常相似。接口指定类型应具有的方法,类型决定如何实现这些方法。在 java 或者 C++这类 OOP 语言中,一个类型实现了某个接口,体现在代码层面的意...
2024-10-19 01:12:29
264
原创 go slice
// The append built-in function appends elements to the end of a slice. If// it has sufficient capacity, the destination is resliced to accommodate the// new elements. If it does not, a new underlyi...
2024-10-16 13:31:22
295
原创 go 导包
1、匿名导入包如果只希望导入包,而不使用任何包内的结构和类型,也不调用包内的任何函数时,可以使用匿名导入包,格式如下:import ( _ "path/to/package")其中,path/to/package 表示要导入的包名,下画线_表示匿名导入包。匿名导入的包与其他方式导入包一样会让导入包编译到可执行文件中,同时,导入包也会触发 init()函数调用。2、单行导入im...
2024-10-16 13:30:40
376
原创 go 交叉编译
go交叉编译交叉编译不支持 CGO 所以要禁用它,一般来说设置CGO_ENABLED=0GOOS:目标平台的操作系统(darwin、freebsd、linux、windows)GOARCH:目标平台的体系架构(386、amd64、arm)Mac 环境变量设置Linuxalias go_build_linux_amd64="CGO_ENABLED=0 GOOS=linux GOARC...
2024-10-15 16:22:55
484
原创 go 下划线 _
忽略返回值这个应该是最简单的用途,比如某个函数返回三个参数,但是我们只需要其中的两个,另外一个参数可以忽略,这样的话代码可以这样写:v1, v2, _ := function(...)v1, _, _ := function(...)如果没有产生新变量_, _, _ = function(...)_ = json.Unmarshal(...)用在函数定义中省略带名的参数func d...
2024-10-15 16:21:42
362
原创 M1系统安装 python 2.x
CONDA_SUBDIR=osx-64 conda create -n py27 python=2.7Channels: - defaultsPlatform: osx-64Collecting package metadata (repodata.json): doneSolving environment: done## Package Plan ## environmen...
2024-08-22 13:29:27
332
原创 node代码片段
/** * 变量交换 * 使用数组解构来直接交换值 * @type {number} */let a = 1, b = 2;[a, b] = [b, a];console.log(a, b)/** * 对象解构 * 通过结构访问对象属性,而不需要使用繁琐的 obj.property 语法 */const {name, age} = {name: '张三', age: 18...
2024-08-13 13:45:03
437
原创 M1 启动 nacos 报错 (mach-o file, but is an incompatible architecture (have 'x86_64', need ‘arm64')...
下载X86架构的 JDK944885B1-3596-4FA2-BCD9-4DF259F33088.png指定 JAVA_HOMEexport JAVA_HOME=/Users/xxxx/Downloads/jdk-17.0.1.jdk64/Contents/Home启动nacos(base) ➜ bin ./startup.sh/Users/xxxx/Downloads/...
2024-08-02 15:19:13
256
原创 eth 事件订阅
const Web3 = require("web3")async function abc() { let wss = 'ws://ws2.lingjingchain.cn' let web3Wss = new Web3(new Web3.providers.WebsocketProvider(wss)) const newBlockHeaders = web3Wss...
2023-09-22 13:35:02
49
原创 -bash: /usr/bin/passwd: Permission denied
进入服务器,修改密码,提示无权限,说明被锁定passwd root-bash: /usr/bin/passwd: Permission denied查看文件的权限ll /usr/bin/passwd-rw-r--r-- 1 root root 68208 Mar 14 2022 /usr/bin/passwd增加可执行权限,依旧报错。被锁定的情况下也是无法执行下面的命令...
2023-08-21 15:59:58
240
原创 pip切换清华源
之前使用的阿里源,也是很慢。后来试了清华源,很快。临时使用pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple全局设置打开终端或命令行窗口,输入以下命令:pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple...
2023-07-24 17:49:53
418
1
原创 pm2 -h
Usage: pm2 [cmd] appOptions:-V, --version output the version number-v --version print pm2 version-s -...
2023-07-11 12:57:26
74
原创 mysql 表锁死 lock
如果程序是串行的,那么不可能发生死锁。死锁只发生在并发的情况下,数据库就像一个并发进行着的程序,因此可能会发生死锁。在前面的文章里,我们已经知道,INNODB存储引擎有一个后台的锁监控线程,该线程负责查看可能的死锁问题,并自动告知用户mysql 表锁死通常是我们配置没配置好的同时网站流量也不小这样导致服务器或mysql处理不过来出现mysql 表锁死问题了select 一般不会锁表up...
2023-07-02 19:03:30
34
原创 mysql中某张表打不开解决方法
1、可能是针对这张表进行的某些操作导致表锁死了,使用命令查看进程show processlist;image.png查看status列有lock标识,表示被锁,info表示操作信息,id列表示进程id,杀死对应的进程即可2、检查表是否损坏CHECK TABLE hbbq_works_doubtful_clue;image.png...
2023-07-02 18:42:34
528
原创 Python ORM之SQLAlchemy查询笔记
查询过滤query.filter()根据关键字过滤query.filter_by()返回列表query.all()返回第一个元素query.first()有且只有一个元素时才正确返回query.one()类似one,但如果没有找到结果,则不会引发错误query.one_or_none()调用one方法,并在成功时返回行的第一列query.scalar()计数quer...
2023-06-29 14:23:05
70
原创 nohup
只输出错误信息到日志文件nohup ./program >/dev/null 2>log &什么信息也不要nohup ./program >/dev/null 2>&1 &知识补充,关于Linux的重定向Linux的3种重定向0:表示标准输入1:标准输出,在一般使用时,默认的是标准输出2:标准错误信息输出可以用来指定需要重...
2023-06-25 18:37:48
25
原创 python3 使用sqlalchemy 连接 mysql 数据库
pip3 install PyMySQLfrom sqlalchemy import create_enginefrom config import get_configfrom sqlalchemy import textif __name__ == '__main__': database = 'mysql' host = get_config(f'{databas...
2023-06-20 17:59:44
113
原创 python数据库操作之sqlalchemy逆向工程
[mysql]host = 172.16.40.67port = 3306password = 11111111username = rootdatabase = demoimport osfrom sqlalchemy import create_enginefrom sqlalchemy.engine import Enginefrom sqlalchemy.orm imp...
2023-06-20 17:57:15
144
原创 ./run.sh: /bin/bash^M: bad interpreter: No such file or directory 报错解决方法
sed -i "s/\r//" run.sh
2023-06-18 16:14:14
47
原创 Python找不到自定义的模块
在需要执行的py文件中,加上这段代码。就是在import模块文件前,先将模块路径,添加到sys.path,就能够正常引入模块。import osimport sys BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))sys.path.append(BASE_DIR) from 模块路径.模块文件...
2023-06-18 12:55:19
52
原创 Ubuntu 查看文件夹和文件大小
查看当前文件夹的总大小du -sh查看当前文件夹的每个文件大小(包含子目录的)du -hdu -h --max-depth=1 .查看当前文件夹下的每个文件大小du -d 1 -h查看当前磁盘的大小信息df -h查看文件大小的命令ls -l...
2023-06-06 11:33:36
40
原创 nodejs使用 mysql2 模块获取 mysql 中的 json字段,而不是 mysql
mysql 模块获取的 json 字段,是字符串mysql2 模块获取的 json 字段,是符合预期的 json 对象mysqlmysql2
2023-04-06 16:03:27
264
原创 mac 上启动nacos报错
我用的当前最新版 nacos-server-2.2.1.tar.gzConstructor threw exception; nested exception is java.lang.IllegalArgumentException: the length of secret key must great than or equal 32 bytes; And the secret key ...
2023-03-28 11:08:47
521
原创 docker 搭建 geth 私链
https://geth.ethereum.org/Docker containerhttps://geth.ethereum.org/docs/getting-started/installing-geth#docker-containerA Docker image with recent snapshot builds from our develop branch is mainta...
2023-03-24 11:53:42
32
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人