- 博客(184)
- 资源 (12)
- 收藏
- 关注
原创 Java Future理解
Java多线程 futrure的使用和理解Java Future源码解析Java Future使用Java 并发处理Java Future使用举例
2021-10-25 15:32:16 211
原创 算法课-计算器-力扣
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
原创 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
原创 归并查找 模板
归并查找 模板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
2016-10-07
chromeinstall6u31
2016-10-07
An Introduction to Statistical Learning with Applications in R
2016-07-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人