自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(184)
  • 资源 (12)
  • 收藏
  • 关注

原创 Java Future理解

Java多线程 futrure的使用和理解Java Future源码解析Java Future使用Java 并发处理Java Future使用举例

2021-10-25 15:32:16 211

原创 golang代码提升

一:固定某几个函数参数二:使用闭包完成递归三:减少函数参数

2021-09-04 15:11:52 196

原创 算法课-计算器-力扣

func calculate(s string) int { dataStack := []int{} opStack := []byte{} for i := 0; i < len(s); i++ { b := s[i] if b == ' ' { continue } if judgeNum(b) { v := 0 for ; i < len(s) && s[i] >= '0' && s[i] <= '

2021-08-11 16:44:38 231

原创 P2P通信 Gossip协议理解

https://zhuanlan.zhihu.com/p/41228196

2021-08-09 16:12:36 193

原创 memcached理解

https://blog.csdn.net/qq_15457239/article/details/48490271https://www.cnblogs.com/gattaca/p/6929361.htmlhttps://blog.csdn.net/h2604396739/article/details/89160426https://blog.csdn.net/liziyun537/article/details/6735279?utm_medium=distribute.pc_relevant_

2021-08-08 23:38:32 106

原创 Actor理解 ProtoActor & AKKA

AKKA 介绍https://zhuanlan.zhihu.com/p/38662453https://cloud.tencent.com/developer/article/1165305Akka是一款高性能高容错性的分布式&并行应用框架。分布式 & 并行程序。这块很重要,之前介绍Actor的时候只提到了并行。...

2021-07-27 15:33:52 270

原创 内核线程 用户线程 线程池

内核线程 用户线程https://www.cnblogs.com/feng9exe/p/7890934.htmlJava线程池 可以借鉴出来Golang协程池https://blog.csdn.net/weixin_49343190/article/details/115249588https://markdowner.net/article/142328369902858240https://zhuanlan.zhihu.com/p/92632090...

2021-07-26 20:10:05 81

原创 react epoll select模型

https://blog.csdn.net/u010412301/article/details/115900351https://cloud.tencent.com/developer/article/1066334https://zhuanlan.zhihu.com/p/69341619

2021-07-13 10:49:50 127

原创 docker&k8s学习笔记

一: docker 安装二:minikube 安装2.1 问题解决2.1 拉取镜像失败minikube学习 暂时放这里https://minikube.sigs.k8s.io/docs/start/https://minikube.sigs.k8s.io/docs/start/https://minikube.sigs.k8s.io/docs/handbook/controls/minikube dashboard 问题解决https://segmentfault.com/a/119000

2021-07-12 23:16:19 144 1

原创 Mysql 学习专题

1:Mysql 写一致性1)redo log 、bin log => WAL 顺序写 & 组提交2) MVCC3) undo log4) double write & insert bufferhttps://opensource.actionsky.com/20200409-mysql/2:Mysql 读一致性隔离机制4种1)读未提交2)读已提交3)可重复读4)可串行化解决:脏读、幻读、不可重复读3:索引1)聚簇索引2)非局促索引3)覆盖索引4)联

2021-07-12 11:11:19 70

转载 firewalld开放端口

转自:https://blog.csdn.net/weixin_46106069/article/details/1147002171.启动firewalld服务systemctl start firewalld.service2.关闭firewalld服务systemctl stop firewalld.service3.重启firewalld服务systemctl restart firewalld.service4.查看firewalld状态systemctl status fi

2021-07-11 21:42:01 1536

原创 WAL概念 及 redolog undolog binlog理解

https://zhuanlan.zhihu.com/p/190886874https://www.jianshu.com/p/f242bc1e95ffhttps://www.geeksforgeeks.org/shadow-paging-dbms/https://zhuanlan.zhihu.com/p/137512843

2021-07-07 17:24:59 330

原创 深度优先遍历模板

func numWays(n int, relation [][]int, k int) (ans int) { edges := make([][]int, n) for _, r := range relation { src, dst := r[0], r[1] edges[src] = append(edges[src], dst) } var dfs func(int, int) dfs = func(x, step int) { if step == k { if x

2021-07-06 14:12:16 148

原创 Memcached理解

一:基本教程:https://www.w3cschool.cn/memcached/二:select相关https://blog.csdn.net/zi_jin/article/details/4214359https://my.oschina.net/fileoptions/blog/911091https://blog.csdn.net/zhougb3/article/details/79792089三:epoll相关

2021-06-28 23:51:00 84

原创 etcd 集群搭建

https://developer.aliyun.com/article/623228修改点:子节点的status 设置为 new查看是否成功:etcdctl member listetcdctl cluster-health问题解决:https://www.jianshu.com/p/85803026a9a1

2021-06-27 14:59:51 99

原创 悲观锁 乐观锁理解

悲观锁: 读写锁、互斥锁等乐观锁:CAS、MVCC等

2021-06-26 14:18:50 80

转载 拦截器实现理解

https://zhuanlan.zhihu.com/p/80023990

2021-06-23 14:24:18 91

原创 归并查找 模板

归并查找 模板func mergeSort(nums []int) []int { if len(nums) < 2 { return nums } i := len(nums) / 2 left := mergeSort(nums[:i]) right := mergeSort(nums[i:]) result := merge(left, right) return result}func merge(left, right []int) []int { resu

2021-06-15 10:28:15 116

原创 搭建gitlab/k8s/ceph等环境,Ubuntu18.04虚拟机配置

一: ubuntu18.04 server os install安装的过程中不要指定安装任何其他工具,因为跟正常的安装路径可能有点不太一致。参考链接1 参考链接2二: 设置虚拟机上网1:先切换到net网络, 然后安装ifupdown apt install ifupdown2:然后编辑/etc/network/interfaces 这个文件, 添加一下内容: Note: Ubuntu18.04 之后推荐使用netplan 管理上网, 不在推荐ifupdown,如果需要支持的话,就

2020-09-06 06:54:43 210

原创 系统为 ubuntu 18.04的docker中omnibus 方式安装 gitlab

一:拉镜像1:拉镜像docker pull ubuntu:18.042:启动镜像:这里必须加上-p,即端口号的映射,否则访问不到。 最好用桥接模式联网,默认的就行。docker run -itd -p 443:443 -p 80:80 -p 222:22 --name gitlab_omnibus_ubuntu ubuntu:18.043:进入镜像docker exec -it gitlab_omnibus_ubuntu /bin/bash二:安装必要的工具,并更换源docker pu

2020-08-19 07:39:03 318

原创 golang 算法课 大顶堆模板

func findKthLargest(nums []int, k int) int { heapSize := len(nums) buildMaxHeap(nums, heapSize) for i := len(nums) - 1; i >= len(nums) - k + 1; i-- { nums[0], nums[i] = nums[i], nums[0] heapSize-- maxHeapify(nums, 0, heapSize) } return nums[0

2020-07-16 16:09:09 438

原创 golang 算法课 翻转单链表

type ListNode struct { Next *ListNode Value int}func Reverse(node *ListNode) *ListNode { if node == nil { return nil } if node.Next == nil { return node } var preNode *ListNode curNode := node for curNode != nil { curNode.Next, curNo

2020-07-11 10:49:16 157

原创 golang 算法课 排列组合模板

func ans(num, cond, sum int,str string) { if num == sum { fmt.Println(str) return } if num < cond{ if condition('a', str, 4){ ans(num+1, cond,sum, str+ "a") } if condition('b', str, 4){ ans(num+1,cond, sum, str+ "b") } if condit

2020-07-11 10:47:01 347

原创 golang 算法课 非递归前序&中序遍历模板

func inorder_preorder(root *TreeNode) { stack := make([]*TreeNode, 0, 0) for len(stack) != 0 || root !=nil{ for root != nil{ //TODO 先序遍历 DO stack = append(stack, root) root = root.Left } root = stack[len(stack) -1] stack = stack[:len(st

2020-07-11 10:37:22 225

原创 golang 算法课 二分查找模板

func binarySearch(arr []int, l, r, x int) int { if r < l { return -1 } mid := l + (r-l)/2 if arr[mid] == x { return mid } if arr[mid] > x { return binarySearch(arr, l, mid-1, x) } return binarySearch(arr, mid+1, r, x)}

2020-07-11 10:34:35 137

原创 golang 算法课 按层打印树

type Node struct { Val int Children []*Node}func levelOrder(root *Node) [][]int { result := make([][]int, 0, 0) if root == nil { return result } queue := make([]*Node, 0, 0) queue = append(queue, root) for len(queue) != 0 { length :=

2020-07-11 10:31:52 345

原创 golang 算法课 给定20个一样的球放到10个不一样的桶,每个桶最多放10个 有多少种放法 暴力搜索法

这样的题一般有DP的解法,感兴趣的同学自己想想;// 这里给byte类型的切片排序type result struct{ value []byte}func (r *result) Len() int{ return len(r.value)}func (r *result) Less(i,j int) bool{ return r.value[i] > r.value[j]}func (r *result) Swap(i,j int) { r.value[i] ,

2020-07-11 10:14:34 202

原创 golang 算法课 给定乱序的0, 1 输出前0 后1

解题思路:1:暴力法:循环一遍,统计0的个数,然后设置前面为0,后面为1;2:使用golang的自带的排序接口,面试的话肯定不让用,不过可以说一下,其实就是排序;3:使用类似快排的方法, 直接见代码:func zeroOne(nums []int) []int { if len(nums) == 0 { return nums } l, r := 0, len(nums)-1 for l <= r { for l <= r && nums[l] == 0

2020-07-03 09:25:19 3092 1

原创 Go / Golang 五子棋 胜利

关键点:同一个方向连续五子,获得胜利普通做法:var qipan [][]intfunc luozi(x, y, color int) bool { qipan[x][y] = color for i := range direct { count := 0 for j := 0; j < 5; j++ { if judgeValid(x+direct[i][0], y+direct[i][1], color) { count++ continue

2020-06-23 10:38:14 963

原创 goland debug不好用解决方法

背景:这两天刷题的时候,发现goland的debug不好用; 查找了半天原因, delve下载后gobuild总是失败。 查找原因,delve不支持32位系统。定位我的电脑是64位的呀, 然后就想到了go环境变量的事情。 查了一下 GOARCH=“386”; 不知道什么意思,在互联网上查询之后,go在64位系统上编译32位运行程序用的。 这样就明白了, go debug的时候需要go build ,gobuild的时候整成32位的自然不能用了。解决GOARCH改成AMD64后,goland的god

2020-06-12 12:37:52 1897

原创 Vim&Vi&Gedit&NANO等常见linux编辑工具使用(不断更新中)

目录vimvigeditnanovim1: :%s/EVP_CIPHER_CTX_cleanup/EVP_CIPHER_CTX_reset/g 替换文件中的字符串vigedit如果能用这个命令的时候, 用这个命令打开文本文档 进行复制 粘贴 删除 操作很方便;nano如果使用VNC等工具进行远程链接的时候, 使用vim/vi 比较卡的时候,可以尝试用这个命令; 平时也可以用 挺方便的....

2020-05-16 10:32:17 723

原创 Ubuntu18.04 git&github使用优化

git使用优化显示分支名异常处理其他参考文章显示分支名链接在Ubuntu的~/.bashrc添加代码,用于在终端显示git的分支名# 显示git分支force_color_prompt=yescolor_prompt=yesparse_git_branch() { git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'}if [ "$color_prompt" = yes ]; then PS1='${

2020-05-16 10:18:54 403

原创 Ubuntu能力提升&关键信息收集(不断更新....)

目录好的学习链接好的学习链接1: Ubuntu中文网; 根据它里面的内容,好好的在本地实践;

2020-05-15 10:03:33 161

原创 Ubuntu使用过程中遇到的坑记录

Ubuntu使用笔记系统安装后,没有引导进Ubuntu系统关闭Thinkpad 的手写板系统安装后,没有引导进Ubuntu系统The'grub-efi-amd64-signed' package failed to install into / target/. Without the GRUB boot loader, the Installed system will not boot.遇到这种情况一般是看下你的电脑U盘启动的时候用的是不是EF开头的,如果是的话,就需要在分区的时候单独分一个/

2020-05-09 23:41:33 545

转载 win10下右键菜单添加“打开cmd”

亲测有效 首先,在桌面新建一个文本文档。Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\cmd_here] @="在此处打开命令行" "Icon"="cmd.exe" [HKEY_LOCAL_MACHINE\SOFTW...

2018-04-05 10:17:28 366

原创 C语言多线程实例之pthread的应用(在windows下的应用(win7))

Pthread是由POSIX提出的一套通用的线程库,在linux平台下,它被广泛的支持,而windows平台下,却并不被支持,而pthreads-w32为我们提供了解决方案,本文我们准备在我们的windows平台下进行pthread-w32的安装,在网络上有类似的文章,但是讲的都是比较老的平台,在windows8下支持并不全面,不过可以作为参考。我们在这里贴出几个网址,供参考使用。 Win

2018-01-16 23:20:15 3349 1

原创 C Primer Plus 第16章复习题14

memcpy 应用练习;#include #include #include void show_array(const double *datas, int n);double * init_array(int n, double default_value);int main(){ double * datas1; double * datas2;

2018-01-14 15:12:07 281

原创 C Primer Plus 16章 编程练习第7题

C语言可变参数 stdarg.h学习;#include #include #include void show_array(const double ar[], int n);double * new_d_array(int n, ...);int main(){ double * p1; double * p2; p1 = new_d_array(

2018-01-14 14:35:31 497

转载 C语言scanf返回值

scanf 函数是有返回值的,它的返回值可以分成三种情况 1) 正整数,表示正确输入参数的个数。例如执行 scanf(“%d %d”, &a, &b); 如果用户输入”3 4”,可以正确输入,返回2(正确输入了两个变量); 如果用户输入”3,4”,可以正确输入a,无法输入b,返回1(正确输入了一个变量)。 2) 0,表示用户的输入不匹配,无法正确输入任何值。如上例,用户如果输入”

2018-01-14 14:32:40 4987 4

转载 关于堆栈的讲解(我见过的最经典的)

这是一篇转发的文章,我对他进行了格式化而已,原文出处不详。一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒

2017-08-22 23:26:27 1055

chromeinstall.6u31

老版本chrome 的java环境,因为新的 8u或者7u把安全系数设置的比较高,所以有很多的老网站的java applet打不开了,所以可以临时的用一下。

2016-10-07

chromeinstall6u31

2016-10-07

chrome, V41.0.2

由于这个版本之后的新版本chrome已经把java applet给封锁掉了(不安全),所以一些老网站的java applet打不开了。

2016-10-07

An Introduction to Statistical Learning with Applications in R

An Introduction to Statistical Learning with Applications in R 英文原版材料,不错,入门必备

2016-07-19

统计学习基础 -数据挖掘,推理与预测

统计学习基础 -数据挖掘,推理与预测 讲的还行,入门手册。

2016-07-19

血腥大地、适合程序员的键盘练习训练

程序员的键盘练习、训练游戏。适合程序员的键盘练习

2016-06-10

Chrome印象笔记插件

Chrome版本的印象笔记插件,可以方便的截取网页信息,已经亲自试过,很好用,值得下载,,

2016-03-13

wlsvm,weka和libsvm的融合,非常好用的资源

weka和libsvm的融合,非常好用的资源

2015-11-28

数据挖掘-使用的机器学习技术(第二版)

数据挖掘与机器学习入门的好书,初学者必看,,不过现在最新的已经有了第三版,,

2015-06-10

java操作excel的Jar

excel的创建,修改等要用到的jar包,留着以后自己用。

2015-04-11

org.apache.crimson.tree.XmlDocument

JAVA解析XML要用的jar,这个jar实在写XML的时候用的,

2015-04-11

空空如也

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

TA关注的人

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