自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

厚积薄发的博客

一个热爱技术的程序员

  • 博客(581)
  • 资源 (1)
  • 收藏
  • 关注

原创 ceph 单节点 ceph-deploy安装部署

链接:https://pan.baidu.com/s/180zM5gPcXN5gVkeTLEhYuw。# 配置 hosts 解析,IP地址根据实际调整。#把配置文件和密钥拷贝到管理节点和Ceph节点。2.使用自定义镜像源,默认镜像源地址(可选)10.ceph进程删除和目录卸载 (可选)给ceph单节点配置免密,一台机器也要。替换baseurl路径为本地路径。11.格式化osd (可选)# 设置 hostname。# 关闭 selinux。#初始化monitor。# 权限设置 644。8.开始安装ceph。

2023-05-26 09:44:26 1156

原创 channel 源码解析(5问)

1.从sendq队列头部取一个元素,如果元素不为空,环形队列缓存区已满,说明buffer已满,大量的send goroutine在发送数据,阻塞了,rece从循环队列读取一个元素,,把goroutinue元素放在循环队列中,从sendq队列中唤醒goroutinue。1.检查 recvq 双向链表 是否为空,如果不为空,说明recvq缓存队列不为空,buffer为空,有大量的recvq在等待,则从 recvq 头部取一个 goroutine,将数据发送过去,并唤醒对应的 goroutine 即可。

2023-04-13 00:58:43 1755 1

原创 redis持久化(13问)

AOF阻塞主线程是因为随着数据量的增多,操作的频繁,AOF文件会越来越大,导致写磁盘越来越慢,故redis使用AOF的重写机制解决AOF文件过大的问题,AOF的重写机制是redis对AOF文件的压缩和优化,将对一个key的多条命令合并为一条命令和命令优化,比如将多个set命令合并为一个mset命令。在较短的时间进行一次redis进行一次RDB的持久化,可以减少数据的丢失,但是rdb的次数不是越短越好,频繁进行rdb,有2方面的影响。redis的持久化是为了解决redis 宕机后,数据的恢复问题。

2023-04-08 23:32:15 517

原创 优先级队列(java版)

poll 方法 删除堆顶的元素,把最后一个元素放在堆顶,调整堆结构。父节点是i,左子节点是2*1+1,右子节点是2*i+2。insert 方法 新增节点,从下往上调整堆结构。如果子节点是i,父节点是(i-1)/2。peek方法 获得堆顶的的元素。

2023-04-06 20:53:51 502

原创 fate-serving-server增加取数逻辑并源码编译

FATE-Serving 是一个高性能、工业化的联邦学习模型服务系统,专为生产环境而设计,主要用于在线推理。1.找到MockAdapter.java中的getData方法(取数逻辑)/**/@Override@Overridetry {默认的取数逻辑是一个x0-x10的一个默认值,替换旧的取数逻辑重新打包fate-serving-extension服务并替换对应的jar包。

2023-04-06 00:41:04 426

原创 动态规划之钢条切割问题(java)

问题分解:将长度为n的钢条分解为左边一段和剩余部分,左边一段不再进行分割,剩余部分继续分割(子问题相同,递归处理)给定一段长度为n英寸的钢条和一个价格表pi(i=1,2,...n),求切割方案,使得销售收入r()最大。使用path[] 记录分割点位置 while循环输出分割点。复杂度 : 时间复杂度 O(n^2) 空间复杂度O(n)4.3 自顶向下的递归实现。4.2 自底向上迭代实现。4.3 输出切割方案。

2023-04-04 20:37:50 488

原创 正向代理与反向代理

http代理分为两种包括正向代理和反向代理。正向代理代理的是客户端,隐藏客户端。反向代理代理的是服务端,隐藏服务端。反向代理典型应用是nginx,同时nginx也可以做正向代理。2.正向代理是基于客户端架构,在自己的电脑安装正向代理软件。3.正向代理中服务端不知道真正的客户端,反向代理中国客户端不知道真正的服务端。4.正向代理主要解决访问限制问题,反向代理主要解决负载均衡和安全防护等。两个服务端相互访问,代理既做正向代理也做反向代理架构图。1.正向代理代理客户端,反向代理代理服务端。

2023-02-15 23:26:54 1778

原创 正向代理实战

正向代理是客户端代理,实现隐藏客户端真实的ip,访问客户端无法访问的资源比如google.经典正向代理应用是vpn.

2023-02-15 23:11:06 833

原创 mysql中mvcc实现机制和原理

mvcc全称是多版本并发控制,是数据库管理过程中的一种并发控制方式。数据库库中的并发控制一般是加锁。线程在操作共享资源时,需要加锁解决并发访问控制。锁又分为乐观锁和悲观锁。悲观锁:一上来,认为数据库会发生并发冲突,先锁住数据,不允许其他事物操作,直到本事务提交为止。乐观锁:在不锁定的情况下,更新数据,如果发现版本不一致,不更新数据,通过增加版本号比对来实现,还有cas等方式。mvcc本质是一种乐观锁的实现方式。

2023-02-12 16:22:22 488

原创 如何实现LFU缓存(最近最少频率使用)

LFU缓存是一个具有指定大小的缓存,随着添加元素的增加,达到容量的上限,会最先移除最少使用频率的值。如果最少使用频率的值有多个,按照插入的先后顺序移除。要求put/get操作的时间复杂度O(1)

2023-02-11 08:33:55 753

原创 公平洗牌算法--Knuth 洗牌算法

公平洗牌算法--Knuth 洗牌算法

2023-01-16 00:23:59 518

原创 golang defer相关知识点

golang defer知识点

2022-12-26 17:14:55 552

原创 golang slice面试题

golang slice 面试题

2022-12-22 15:12:07 164

原创 数独游戏底层算法

数独游戏底层算法

2022-12-04 16:59:25 362

原创 交换两个变量的值

交换两个变量的值

2022-11-09 14:27:05 156

原创 k8s master节点去除污点和增加

k8s master节点去除污点和增加

2022-10-28 14:49:33 1731

原创 expect自动应答工具

go-expect实现命令自动应答

2022-06-09 19:41:04 1019

原创 NFS安装

目录1.什么是NFS?2.NFS服务端安装?3.nfs客户端安装4.umount卸载5.nfs 挂载时注意事项1.什么是NFS? NFS全称Network File System,即网络文件系统,NFS同时也是一种网络协议,主要功能是通过网络让不同的主机系统之间可以共享文件或目录。在NFS中,本地NFS客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。2.NFS服务端安装?1.nfs 安装yum install -y nfs-u..

2022-04-29 16:40:59 8932 1

原创 深入理解XGBoost

1.什么是XGBoost?XGBoost是一种基于boosting的提升树模型,是一个k个模型的加法模型,与GDBT的区别在于目标函数的不同,目标函数如下:加法模型如下目标函数如下:目标函数左侧是损失函数,右边是正则项。正则项如下:正则项如下:T是叶子节点的个数,第j个叶子节点的权重,2.XGBoost与GDBT的区别?1.正则项 不同,GBDT 目标函数没有正则项,XGboost有正则项2.导数信息不同 GBDT 在优化模型的参数时使用了一阶导数,...

2022-04-16 11:14:52 1594

原创 深度理解梯度提升树GBDT

1.什么是提升树 提升树是使用残差使损失函数最小,每一次使用树模型拟合残差。最终预测值y是M个树模型的累加和提升树模型如下提升树通用算法过程如下:2.什么是GBDT? GBDT是一种提升树模型,基学习器采用决策树,使用boosting思想+一阶梯度下降的方法。GBDT公式模型 GBDT=决策树+boosting思想+一阶梯度下降(gradient) boosting思想是基模型是有序的,上一个基模型的输出是下一个及模型的输入。第M个树模型...

2022-04-13 21:49:23 1849

原创 idea/goland go1.17 版本不识别问题

解决方案1.进入go sdk的src/runtime/internal/sys目录2.编辑zversion.go文件// Code generated by go tool dist; DO NOT EDIT.package sysconst StackGuardMultiplierDefault = 1const theVersion = `go1.17`参考1.https://youtrack.jetbrains.com/issue/GO-11588#focus=Comm

2022-03-31 10:37:37 1236

原创 中国余数定理

1.什么是中国余数定理及其应用?中国余数定理也叫孙子定理,解决的是一元同余方程组问题。参考1.https://zh.wikipedia.org/wiki/%E4%B8%AD%E5%9B%BD%E5%89%A9%E4%BD%99%E5%AE%9A%E7%90%862.

2022-03-24 09:11:04 1740

原创 动态规划---最长公共子序列和最长公共子串

问题1. 给定两个字符串,求最长公共子序列。例如问题2. 给定两个字符串,求最长公共子串解题方法:动态规划最长公共子序列转移方程dp[i][j]代表以尾巴字符结尾的最长的公共子序列最长公共子串状态转移方程dp[i][j]代表以尾巴字符结尾的最长的公共子串代码如下/** @Description: 参考博客 1.https://writings.sh/post/algorithm-longest-common-substring-and-longest-co

2022-03-22 09:04:37 870

原创 ceph 分布式文件存储部署

1.什么是ceph rook是云原生的存储编排器,为各种云原生存储解决方案提供平台 ceph是一个高度可扩展的分布式存储解决方案,用于块存储、对象存储和共享文件系统2.ceph的安装步骤git clone --single-branch --branch v1.8.0 https://github.com/rook/rook.gitcd rook/deploy/exampleskubectl create -f crds.yaml -f common.yaml -f ope...

2021-12-15 23:07:57 1444

原创 K8S高可用技术调研

1.现在的k8s高可用技术方案有哪些? 市面上的k8s高可用技术方案有:sealos,rke,kuoperator等,主要介绍这三种2.

2021-12-15 22:26:14 1001

原创 ElasticSearch面试相关问题

1.ElasticSearch为什么是近实时搜索的? Elasticsearch检索不是实时的,是因为 插入不是实时的,数据不会实时写入磁盘。写入file system cache有1s是延迟2.ElasticSearch写数据的流程是什么样子的?写数据的过程,数据----->memory buffer -->file system cache--->disk第一个阶段 memory buffer -->file sy...

2021-10-01 17:49:17 186

原创 Boyer-Moore 投票算法及其应用

1.什么是Boyer-Moore 投票算法,BM算法的应用在什么地方? BM算法包括两个阶段,第一个阶段是投票阶段,第二个阶段是计数阶段 投票阶段是从第一个数候选值开始,相同则c+=1,不同则c-=1,如果c为0,则替换候选值为新的候选值。 统计阶段是对候选值进行验证,判断候选值是否符合条件,因为不是所有的候选值都符合条件。 主要的应用场景:求解众数,寻找超过n/3的所有的数2.具体案例 1.求解众数 要求时间复杂...

2021-09-26 09:15:47 282

原创 双向循环链表及其实现

1.什么是双向循环链表? 双向循环链表结构是两个指针,一个头指针(指向链表的头部),一个尾指针(指向链表的尾部),当前循环链表的长度size. 每个节点LinedNode由一个前向的指针,一个后向的指针,一个当前节点的值。2.双向循环链表的具体实现方法有哪些? int get(int index) 获得指定的元素 intaddAtHead(int val) 头结点新增元素 intaddAtTail(int val)尾节点新增元素...

2021-09-25 23:59:33 388

原创 数组算法专题

常见思想1.数组原地替换---把数字i放在数组索引i的位置,比如0放在arr[0]的位置,1放在arr[1]的位置☆☆☆☆☆题目1.无序数组包含正数,负数和0,计算数组中从0开始缺失的自然数,要求时间复杂度O(n),空间复杂度O(1) 比如:[1,2,3,-6.0] 输出:4 [-3,1,2,3,8] 输出:0代码如下//无序数组 正数 负数 0 //寻找从0开始缺失的自然数 //[-3,2,3,5] 0 //[-3,0,3,5] 1...

2021-09-24 19:54:27 143

原创 图论相关问题

1.图表示相关的数据结构有哪些? 1.邻接表 2.邻接矩阵2.图相关的问题有哪些? 1.拓扑排序 2.最小生成树 3.最短路劲3.什么是拓扑排序,拓扑排序的流程是什么?拓扑排序有什么用1.拓扑排序是序列中,对于任意的两点都存在一条路径且在的前面。 2拓扑排序的流程:三步核心(不断寻找入度为0的点)1.找到图中所有入度为0的点,加入队列2.把入度为0的点从队列...

2021-09-23 21:40:21 466

原创 leetcode 二叉树中和为某一值的路径

1.题目:二叉树中和为某一值的路径力扣2.解决方案递归+回溯代码如下 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } .

2021-09-22 16:58:26 179

原创 红黑树实现

1.什么是红黑树 红黑树是一颗二叉搜索树(左子树的元素都小于根节点,右子树的元素都大于根节点),每条路径下的黑色节点个数相同(黑高),即红黑平衡性。2.红黑树的性质有哪些? 1.根节点是黑色节点 2.最下层的叶子节点是黑色节点,包含NIL节点 3.每个节点节点只可能是两种颜色:红色或者黑色 4.不能出现红色节点与红色节点相连。 5.每一条路径上黑色的节点个数相同即红黑平衡性。3.红黑树中的基本...

2021-09-18 10:59:22 272

原创 Leetcode 1017. 负二进制转换

题目输入:2输出:"110"解释:(-2) ^ 2 + (-2) ^ 1 = 2解决方案1.r=-22.s=p*r+q3.q<0 q=q-r p=p+14.q>0 q,p保持不变代码如下public static void main(String[] args) { String s = baseNeg2(2); System.out.println(s); } // r=-2 //s=p.

2021-09-16 20:44:42 197

原创 AtomicLong与LongAdder比较

1.什么是AtomicInteger与LongAdder? AtomicInteger和LongAdder都是解决对数字的累加的原子操作,底层都使用到了cas结束,但是LongAdder在多线程的情况下,性能比AtomicLong性能要高。2.为什么LongAdder的性能比AtomicLong的性能要高? AtomicLong底层实现 public final long getAndAddLong(Object var1, long var2, long...

2021-09-16 01:02:42 391

原创 两个线程交替打印字符串(6种实现)

java实现方案有六种1.使用LockSupport的pack与unpack2.使用while(true)+volatile3.使用object的signal和wait4.使用lock的condition5.使用Automic6.使用ArrayBlockQueue代码如下import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.atomic.AtomicInteger;impor

2021-09-15 12:44:59 1284

原创 线段树原理与应用

目录1.什么是线段树?线段树解决什么样的问题?2.线段树的怎么构造?3.线段树完整代码4.线段树案例1.什么是线段树?线段树解决什么样的问题? 线段树是一种二叉树,数据存储的指定范围的和,最大值,最小值,最大公约数,最小公倍数的树。它可以实现范围查找,范围新增,范围修改,时间复杂度O(log(n))2.线段树的怎么构造? 使用数组构造线段树,递归构造,从节点1开始,父节点与子节点的关系,参考堆排序,父节点编号是i,左节点编号是2*i,右节点...

2021-09-12 23:07:47 195

原创 分布式Id架构设计

目录1.分布式id的设计原则是什么?2.分布式Id的生成方式推荐使用方式有哪些?2.1 snowflake及其各种变种2.2 redis2.3 号段模式3.参考1.分布式id的设计原则是什么? 5个原则 1.全局唯一2.高性能3.高可用4.好接入5.趋势递增2.分布式Id的生成方式推荐使用方式有哪些?2.1 snowflake及其各种变种...

2021-09-12 11:28:05 402 1

原创 manacher算法

1.manacher算法解决什么样的问题? manacher算法解决最长回文串的时间复杂度O(n)2.manacher算法的思路是什么? 11

2021-09-11 23:28:59 147

原创 最长上升子序列与最长上升递增序列解题思路

1.最长上升递增子序列 题目:674. 最长连续递增序列 方法:动态规划 定义dp数组 dp[i]是以i结尾的最长递增子序列 dp[0]=1 dp[i]=dp[i-1]+1 arr[i]>arr[i-1] dp[i]=1 arr[i]<arr[i-1] num=max(dp[i]) 0<=i<=n 时间复杂度O(n) 空间复...

2021-09-11 23:08:35 173

原创 leetcode 5. 最长回文子串

题目给你一个字符串s,找到s中最长的回文子串。s = "babad" 输出:"bab"解决方案1.动态规划2.中心扩展法 中心扩展法时间复杂度O(N^2),核心思想:把每一个节点作为中心节点,向两侧进行扩展。有个重要的预处理操作是每个字符中插入一个#,这样就不用区分处理奇数长度的回文串和偶数长度的回文串代码如下 //中心扩展法 public static String longestPalindrome(String s) { ...

2021-09-11 12:22:32 143

matlab入门

matlab基础在线性代数中的运用,很有价值。

2015-07-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除