自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(242)
  • 资源 (7)
  • 问答 (1)
  • 收藏
  • 关注

原创 ZooKeeper参考文档

1、W3C Schoolhttps://www.w3cschool.cn/zookeeper/zookeeper_installation.html2、我的收藏

2021-05-30 17:18:20 517

原创 ETCD Install

1、Install pre-built binaries(1)从github上下载压缩文件:etcd-v3.4.16-linux-amd64.tar.gz(2)解压缩tar xzvf etcd-v3.4.16-linux-amd64.tar.gz(3)拷贝etcd、etcdctl sudo cp etcd /usr/local/bin sudo cp etcdctl /usr/local/bin(4)查看版本$ etcd -versionetcd Version: 3.4.16Git

2021-05-30 10:41:45 575

原创 ETCD参考文档

1、ETCD官网https://etcd.io/2、ETCD官方文档中文版https://www.bookstack.cn/read/etcd/README.md3、Githubhttps://github.com/etcd-io/etcd4、Giteehttps://gitee.com/cddssgl/etcd

2021-05-30 10:31:12 927

原创 Neutron常用命令

列出当前所有网络neutron net-listNeutron命令参考

2021-04-12 20:06:48 1189

原创 Neutron 架构

1、架构1)位于最上层的Neutron Server充当一个门派中的“掌门人”角色(RESTful Server),负责接受来自外部门派(项目)的API请求,比如Nova API创建网络的请求。2)位于中间层的Neutron plugin充当一个门派中的“信使”角色,负责传达最高层指令给下面的人。3)位于下层的Neutron Agent充当一个门派中“干活”角色,负责执行一些具体的任务和操作。...

2021-04-12 20:03:45 697

原创 Nova常用命令

1、查看nova版本nova-manage version

2021-04-12 19:32:46 183

原创 Nova

1、架构Nova组件由Nova-API,Nova-scheduler,Nova-conductor,Nova-compute以及提供消息传递的消息队列(message queue)和数据裤模块(database)组成Nova-API:主要提供了统一风格的REST-API接口,作为Nova组件的入口,接受用户的请求Nova-scheduler:负责调度将实例分配到具体的计算结点Nova-conductor:主要负责与Nova数据库进行交互Nova-compute: Nova-compute的结点

2021-04-12 19:24:41 840

原创 Hystrix

参考文档:Hystrix官方文档本文对Hystrix的配置参数的覆盖优先级,可配置参数的种类、配置项进行详细的介绍。Hystrix可以配置属性的有以下类型:Command PropertiesExecution:控制HystrixCommand.run() 的如何执行Fallback: 控制HystrixCommand.getFallback() 如何执行Circuit Breaker: 控制断路器的行为Metrics: 捕获和HystrixCommand 和 HystrixObservab

2021-04-07 15:46:54 191

原创 Openstack学习网站推荐

Openstack学习网站推荐

2021-04-06 17:03:40 249

原创 Hibernate架构

1、架构1)架构视图2)体系结构视图2、工作原理参考:https://blog.csdn.net/Huozhiwu_11/article/details/89025828

2021-03-15 17:50:28 112

原创 Docker架构

参考官网:https://docs.docker.com/get-started/overview/#docker-architectureDocker架构图:Docker使用了C/S体系架构,Docker客户端与Docker守护进程通信,Docker守护进程负责构建,运行和分发Docker容器;Docker客户端和守护进程可以在同一个系统上运行,也可以将Docker客户端连接到远程Docker守护进程;Docker客户端和守护进程使用REST API通过UNIX套接字或网络接口进行通信;D

2021-03-07 17:24:30 151 1

原创 Docker学习网站推荐

1、Docker官方文档https://docs.docker.com/2、Docker中文社区https://www.docker.org.cn/index.html3、DockerInfo中文文档http://www.dockerinfo.net/document

2021-03-07 16:48:13 507

原创 Ubuntu安装docker

参考官网:https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository1、Ubuntu版本要求:Ubuntu Groovy 20.10Ubuntu Focal 20.04 (LTS)Ubuntu Bionic 18.04 (LTS)Ubuntu Xenial 16.04 (LTS)2、若安装有旧版本docker,先卸载: sudo apt-get remove docker docker-engine

2021-03-06 18:27:26 897

原创 VirtualBox设置连接SecureCRT

打开VituralBox 的设置中的网络设置,如下图所示:设置网卡1的连接方式为桥接网卡,混杂模式为全部允许。开启SSH服务(若无先安装),SecureCRT连接。

2021-03-06 18:11:34 710

原创 Eclipse的Maven

具体参考:https://www.cnblogs.com/Marydon20170307/p/9928241.html

2021-01-14 17:53:51 56

原创 Samba

1、更新源列表sudo apt-get update2、安装Sambasudo apt-get install samba3、编辑 samba 配置文件sudo vi /etc/samba/smb.conf#在配置文件最后添加如下配置:[share] path = /home/andy valid users = share available = yes browseable = yes writable = yes pu

2021-01-14 17:47:01 81

原创 Lombox问题

1、Eclipse不识别Lombox的Set/Get方法解决:(1)下载Lombox的jar包:https://projectlombok.org/download(2)双击jar包,jar包内的安装器会自动运行寻找eclipse,如若找不到,手动查找,Specify location;(3)选择需要安装的eclipse,然后点击安装(Install/Update),下一步会提示安装成功。这就完成了安装,具体看下安装过程,分为两部分:第一,把jar包复制到了eclipse安装目录;第二,在

2021-01-14 17:33:09 76

原创 Maven编译问题

1、JDK问题描述:执行maven install,显示未找到JDK。[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project openstackdemo: Compilation failure[ERROR] No compiler is provided in this environment. Perhaps yo

2021-01-14 17:23:29 115

原创 SSH

1、安装SSH2、注意事项

2021-01-13 09:13:47 62

原创 空指针和野指针

空指针:指针变量置空,初始化为NULL,使它不指向任何内容;野指针:指针变量表不为空,地址值为随机值,可能指向任何地方;未初始化的指针:若指针未被初始化,所以指针所指向的也是随机的,他是个野指针,如果你引用指针,并修改这个指针所指向的内容,而如果这个指针所指向的内容恰好是另外一个程序的数据的话,你将其进行修改了,就会导致另外一个程序可能不能正常运行了.所以使用前一定要进行初始化;地址回收后的指针:free之后,指针地址被回收,相当于未初始化的指针,此时应该再次置空;空指针:指针变量置空,.

2020-11-23 09:51:58 802 1

原创 IO复用-Select

函数原型:nt select(int maxfdp,fd_set *readfds,fd_set *writefds,fd_set *errorfds,struct timeval *timeout);经典的Unix select系统调用:for( ;; ){ tv.tv_sec = 30; tv.tv_usec = 0; FD_ZERO( &rfds ); FD_SET

2020-08-04 19:45:08 87

原创 Mysql索引失效原因详解(1)

一、联合索引为什么要遵循“最左前缀匹配原则”?ALTER TABLE `table_name` ADD INDEX (`col1`,`col2`,`col3`);1.1 建立联合索引(col1,col2,col3),相当于建立了三个索引:(col1)(col1,col2)(col1,col2,col3)1)创建索引的时候,先按第一列排序,第一列相同再按第二列排序,第二列相同再按第三列排序(排序:建立b+树的过程,B+树是有序结构);2)如果没有前一列的参考,则后一列无法继续搜索,所以要“最

2020-07-27 20:23:10 597 2

原创 网络技术积累(易混淆)

1、255.255.255.255是广播地址,一定用于广播吗?不一定,例如DHCP中,服务器的回包都是广播地址,但都是单播;Tip:DHCP报文中有一个flag字段,用于表明该报文是广播还是单播:flag = 1,广播;flag = 0, 单播;具体参考:DHCP offer 报文到底是单播还是广播?2、client和server进行socket通信的端口一定是相同的吗?不一定;DHCP客户端68口和服务器端的67口进行DHCP报文交互;...

2020-07-07 17:00:18 107

原创 【Leetcode-209】长度最小的子数组

方法一、遍历元素,逐项寻找子数组方法二、双指针法i,j开始都指向0;j开始右移,若s(i,j)的和大于等于target,则减去arr[i],i右移,直至s(i,j)小于target;j继续右移,同样操作,直至最后;int minSubArrayLen(int s, int *nums, int numsSize) { if (numsSize == 0) { return 0; } int ans = INT_MAX; int start = 0

2020-06-28 20:13:25 109

原创 C判断字符串为空

#define MAX_LEN 32char ch[MAX_LEN]={0};(1)判断首字符是否为空字符if(ch[0] != '\0'){}(2)长度是否为0if(strlen(ch)!=0){}(3)判断字符串是否为空if(!strcmp(ch,"\0")){}

2020-06-12 14:12:46 5180 1

原创 八大内存排序算法

类型一、选择排序(1)冒泡排序:a.每趟排序,最大沉底;b.排列元素个数逐渐(从尾)减一,因为每趟排序,最后一位已确定;c.每次冒泡序列:0 ~ i-1TimeCost:O(N^2)SpaceCost:O(N)代码:void BubbleSort(int[] nums){ int i,j; for(i=nums.length; i>0; i--){ for(j=0; j<i; j++){ if(nums[j] > nums[j+1]) swap(

2020-06-02 20:24:40 2793

原创 包装数据类的valueOf()方法

Byte.valueOf(byte b) public static Byte valueOf(byte b) { final int offset = 128; return ByteCache.cache[(int)b + offset]; } private static class ByteCache { private ByteCache(){} static final Byte cache[] = new By

2020-06-01 18:48:22 956

原创 【Leetcode】连续子数组的最大和

思路:(1) dp[i]:以第i项结束的最大和,答案是dp[i]中的最大值,所以要求两次最值!!!(2) dp[i] = max(dp[i-1] + nums[i], nums[i]);dp[i-1] < 0时,dp[i] = nums[i];dp[i-1] > 0时,dp[i] = dp[i-1] + nums[i];所以如上(3) dp[0] = nums[0];代码: public int maxSubArray(int[] nums) { int[]

2020-06-01 13:59:36 441

原创 求最值

思路:开始第一项赋为最值,后面一次比较,替换最值,一轮遍历即可;Time:O(N)Space:O(1)代码: public int maxValue(int[] nums) { int max = nums[0]; for(int i = 0;i < nums.length; i++) { max = max > nums[i] ? max : nums[i]; } return max; }

2020-06-01 11:34:56 245

原创 Mysql存储引擎

2020-05-30 09:46:51 109

原创 【LeetCode】动态规划合集

leet.198 打家劫舍思路:(1)定义:dp[i]表示前i家的最大效益;(2)关系式第i家的收益,分两种情况<1> 偷第i家,由于不能偷相邻两家:则dp[i] = nums[i] + dp[i-2];<2> 不偷第i家,则dp[i] = dp[i-1];所以,收益dp[i] = max{nums[i] + dp[i-2], dp[i-1]}(3)初值dp[0] = nums[0]; // 只有一家的收益dp[1] = max{nums[0]

2020-05-29 16:12:59 138

原创 【Leetcode】刷题总结 plus

1、链表双指针:首尾指针、快慢指针2、数组3、字符串子串问题:前缀和4、队列5、栈6、哈希表7、二叉树8、排序9、搜索10、动态规划

2020-05-29 14:49:47 190

原创 【Leetcode】字符串解码

思路:(1)借助Stack,遇到’]'出栈,往前扫描,记录子串:“数字[字母]”;(2)子串翻倍处理,处理完毕再入栈,栈中从低到高的顺序,就是答案的顺序;(3)借助StringBuilder,显示处理完毕的字符串;代码: public String decodeString(String s) { if(s.length() == 0) return s; char[] ch = s.toCharArray(); S

2020-05-29 14:44:17 395

原创 Thread类方法解析

1、静态方法static void sleep(long millis) //睡眠线程static void yield()   //礼让线程(“就是客气客气,不一定真让”)代码示例:void main(){ Thread.sleep(1000); /* 当前线程(main线程)进入阻塞状态,让出CPU时间片给其他线程,时间到期,当前线程继续执行;在同步代码中,不会释放当前线程持有的锁; */ Thread.yield(); /* 当前线程返回就绪状态,让出CPU时间片

2020-05-26 16:49:40 177

原创 【Leetcode】青蛙跳台阶问题

(1)思路:DP问题:(1)确定数组含义:dp[i]表示跳到第i阶的方法数;(2)找出数组元素间的关系:跳到第i阶,可以一步跳上来,也可以两步跳上来,所以dp[i]=dp[i-1]+dp[i-2];(3)找出初始值:dp[0]=1,dp[1]=1;代码:class Solution { public int numWays(int n) { if(0 == n) return 1; int[] dp = new

2020-05-21 20:15:35 461

原创 【Leetcode】两两交换链表中的节点

思路:p、q操作链表;必须保证每次操作有两个节点;考虑形成新的链表,不单单只是交换两个元素;代码:struct ListNode* swapPairs(struct ListNode* head){ if(head == NULL || head->next == NULL) return head; struct ListNode* p = head; struct ListNode* q = head->next; struct ListNode* newHead

2020-05-20 10:56:31 119

原创 【Leetcode】验证回文字符串 Ⅱ

思路:创建首尾指针i,j,向中间移动比较,出现第一次不同字符时:舍弃i指向的字符,比较(i+1,j);舍弃j指向的字符,比较(i,j-1);以上两种情况,只要其中一种满足要求即可。代码1:bool validPalindrome(char * s){ bool flag1 = true, flag2 = true; int low = 0, high = strlen(s) - 1; while(low<high){ if(s[low] != s[high]){ f

2020-05-20 09:35:37 99

原创 Java反射

参考:Java反射理解1Java反射理解2

2020-05-19 19:10:12 108

原创 i++和++i的联系和区别

1、单独的++i和i++等效int i = 0;while (i < 10) {i ++;}int i = 0;while (i < 10) {++ i;}经过运算后,i的值都是10。在while和for循环中的 ++i 和 i++ 是没有区别的。2、区别在赋值运算中int i,x;i = 1;x = 1;x = i ++;      //先让x变成i的值1,再让i加1print("%d", x); //x=1print("%d", i);

2020-05-19 10:55:26 448

原创 【LeetCode】和为K的子数组

方法1:前缀和+哈希表pre[j - 1] = pre[i] - k如若目标子数组的下标为(j ~ i),则前i项和与K的差必然为前(j-1)项和,因此用前n项和为key,前n项和出现的次数为value,运用Hash算法,快速得出答案。复杂度分析:时间复杂度:O(n)空间复杂度:O(n)代码: public int subarraySum(int[] nums, int k) { HashMap<Integer,Integer> map = new H

2020-05-18 19:20:49 159

Linux网络编程代码

Linux网络编程包含了文本资料和代码,文档十分全面,对新手非常合适,代码很详细

2019-05-07

eclipse_cpp

Eclipse用语开发C/C++的IDE,轻量级,便于使用,尤其适用于Linux下C/C++开发

2019-01-05

R语言实战(第2版)pdf完整版

R语言 R语言实战(第2版)_完整版带目录.pdf R语言实战(第2版)_完整版带目录.pdf R语言实战(第2版)_完整版带目录.pdf

2017-07-11

图书馆管理系统代码

C语言编写的图书馆管理系统,适合大一大二的课程设计

2015-04-13

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

TA关注的人

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