学习笔记
yuhushangwei
这个作者很懒,什么都没留下…
展开
-
Java Future理解
Java多线程 futrure的使用和理解Java Future源码解析Java Future使用Java 并发处理Java Future使用举例原创 2021-10-25 15:32:16 · 180 阅读 · 0 评论 -
golang代码提升
一:固定某几个函数参数二:使用闭包完成递归三:减少函数参数原创 2021-09-04 15:11:52 · 163 阅读 · 0 评论 -
算法课-计算器-力扣
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 · 200 阅读 · 0 评论 -
P2P通信 Gossip协议理解
https://zhuanlan.zhihu.com/p/41228196原创 2021-08-09 16:12:36 · 162 阅读 · 0 评论 -
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 · 80 阅读 · 0 评论 -
Actor理解 ProtoActor & AKKA
AKKA 介绍https://zhuanlan.zhihu.com/p/38662453https://cloud.tencent.com/developer/article/1165305Akka是一款高性能高容错性的分布式&并行应用框架。分布式 & 并行程序。这块很重要,之前介绍Actor的时候只提到了并行。...原创 2021-07-27 15:33:52 · 227 阅读 · 0 评论 -
内核线程 用户线程 线程池
内核线程 用户线程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 · 64 阅读 · 0 评论 -
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 · 97 阅读 · 0 评论 -
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 · 46 阅读 · 0 评论 -
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 · 1256 阅读 · 0 评论 -
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 · 299 阅读 · 0 评论 -
深度优先遍历模板
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 · 126 阅读 · 0 评论 -
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 · 65 阅读 · 0 评论 -
悲观锁 乐观锁理解
悲观锁: 读写锁、互斥锁等乐观锁:CAS、MVCC等原创 2021-06-26 14:18:50 · 66 阅读 · 0 评论 -
拦截器实现理解
https://zhuanlan.zhihu.com/p/80023990转载 2021-06-23 14:24:18 · 65 阅读 · 0 评论 -
归并查找 模板
归并查找 模板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 · 95 阅读 · 0 评论 -
搭建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 · 196 阅读 · 0 评论 -
系统为 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 · 294 阅读 · 0 评论 -
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 · 416 阅读 · 0 评论 -
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 · 131 阅读 · 0 评论 -
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 · 323 阅读 · 0 评论 -
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 · 203 阅读 · 0 评论 -
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 · 117 阅读 · 0 评论 -
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 · 314 阅读 · 0 评论 -
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 · 181 阅读 · 0 评论 -
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 · 3067 阅读 · 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 · 926 阅读 · 0 评论 -
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 · 667 阅读 · 0 评论 -
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 · 373 阅读 · 0 评论 -
Ubuntu能力提升&关键信息收集(不断更新....)
目录好的学习链接好的学习链接1: Ubuntu中文网; 根据它里面的内容,好好的在本地实践;原创 2020-05-15 10:03:33 · 143 阅读 · 0 评论 -
DOM4J的使用的好文章(转)
Dom4j的使用(全而好的文章)(转自)博客分类: 技术XMLluceneIDEA设计模式.net Dom4j 使用简介作者:冰云 icecloud(AT)sina.com时间:2003.12.15 版权声明:本文由冰云完成,首发于CSDN,未经许可,不得使用于任何商业用途。文中代码部分引用自DOM4J文档。欢迎转载,但请转载 2014-11-19 09:24:11 · 334 阅读 · 0 评论 -
修改eclipse的智能提示
eclipse智能提示今天有点时间,研究了一下MyEclispse的智能感知的功能。刚开始使用它时总是感觉如此不爽→智能感知功能太弱!与Visual Studio2008简直不是一个档次的!不过后来经过查看网上的资料发现它也并非如此的弱,就在上周我自己玩弄它时就发现可以通过如下设置来修改它的智 能感知的提示时间:Windows→Preferences→Java→Ed转载 2014-11-20 15:07:28 · 561 阅读 · 0 评论 -
运行的程序时,出现内存不足时的解决方式Exception in thread "main" java.lang.OutOfMemoryError: Java heap space(转)
【转摘】Exception in thread "main" java.lang.OutOfMemoryError: Java heap space解决方法博客分类: Java 摘自http://hi.baidu.com/619195553dream/item/88d5713b9315f445033edc8e 问题描述Exception in转载 2014-11-20 15:33:49 · 1909 阅读 · 0 评论 -
MYSQL导入过大文件时的解决办法
mysql在通过导入sql文件可能会出现下面二个问题: 1.如果sql文件过大,会出现"MySQL server has gone away"问题; 2.如果sql文件数据有中文,会出现乱码 www.2cto.com 解决问题: 问题1:出现MySQL server has gone away"问题,是因为mysql默认的"max_转载 2014-11-20 19:48:48 · 827 阅读 · 0 评论 -
一些基本的java技术的知识
转自:http://www.ibm.com/developerworks/cn/java/j-dao/高级 DAO 编程学习编译更好的 DAO 的技巧J2EE 开发人员使用数据访问对象(Data Access Object DAO)设计模式,以便将低级别的数据访问逻辑与高级别的业务逻辑分离。实现 DAO 模式涉及比编写数据访问代码更多的内容。在本文中,Jav转载 2014-12-29 10:02:48 · 480 阅读 · 0 评论 -
求利用邻接矩阵求多有节点最短路径的java程序 可运行
一:定义了邻接表的大小和要读取以及写入的文件位置;package algorithm;public class StaticVariable {public final static int MAXSIZE = ;public final static int edgeNum = ;public final static String filepathread = "";原创 2014-12-31 16:13:22 · 965 阅读 · 0 评论 -
利用邻接表求解所有节点的最短路径 java实现 可运行
一:节点的定义package tiger.yyh.practice;import java.util.ArrayList;import java.util.List;class Node { public int name; public List adjs = new ArrayList(); Node(int na原创 2014-12-31 16:22:18 · 687 阅读 · 0 评论 -
在win7环境下创建扩展分区,重装系统或者移动硬盘分区时能用到
1. 附件——“命令提示符”以管理员身份运行2.命令“diskpart”3.“select disk N” N 从0开始4.“create partition extended” 这个不用管剩下的都是扩展的了5.“exit” 可以关了命令提示符了已经试过了,管用——从百度上看的转载 2015-01-02 11:18:23 · 791 阅读 · 0 评论 -
不小心把移动硬盘设置为活动分区后的解决方法
1.搜索命令提示符,右键以管理员身份运行:2.输入DISKPART,打开diskpart窗口,输入LIST DISK命令确定你的移动硬盘的井号3.输入Select DISK 0,将你的移动磁盘设置成当前操作磁盘4.输入Select PARTITION 1将第一个分区设置成当前的操作分区 5.使用INACTIVE命令解除当前分区的活动状态。6.最后输入exit退出原创 2015-02-09 16:22:24 · 4796 阅读 · 0 评论 -
关于图的邻接表定义的解释
通常书中的邻接表定义为:typedef struct ArcNode{int adjvex; //与顶点连接的节点的编号;struct ArcNode *nextarc; //与顶点连接的下一个节点的指针;int info; //节点的其他信息,如权重; }Arc原创 2015-01-05 09:38:11 · 3576 阅读 · 0 评论