自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(207)
  • 收藏
  • 关注

原创 redis-cluster搭建

1.redis配置文件config文件:protected-mode noport 7000daemonize yespidfile /var/run/redis_7000.pidcluster-enabled yescluster-config-file nodes_7000.confcluster-node-timeout 15000appendonly yesappendfilename "appendonly7000.aof”

2021-06-06 22:05:51 145

原创 golang协程池

package mainimport ( "fmt" "time")type Pool struct { work chan func() // 任务 size chan struct{} // 数量}func New(size int) *Pool { return &Pool{ work: make(chan func()), size: make(chan struct{}, size), }}func (p *Pool) worker(task .

2021-01-20 17:16:16 300

原创 mongodb数据同步到elasticsearch的中间件,支持全量,增量,实时同步等多种同步情景。(syncs MongoDB to Elasticsearch in realtime) (Mong

github地址:https://github.com/m-wl/mongo-sync-elasticmongo-sync-elastic 使用说明注:bin目录下的:mongo-sync-elastic是linux的可执行文件, mongo-sync-elastic.exe是windows的可执行文件1.快速开始linux: main -f config.json win...

2020-04-14 23:20:14 1146 1

原创 mongodb副本集搭建步骤

MongoDB的Docker集群(Replica set模式)的搭建步骤: Step1: 创建密钥文件 #在任一台服务器上面执行如下的命令,然后把密钥文件复制到其余两个服务器的同样的位置 $ sudo mkdir -p /usr/local/key && cd /usr/local/key $ openssl rand -base64 ...

2019-07-09 11:22:54 605 2

原创 zookeeper单机版和伪集群版的搭建

一.单机版1,下载: wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz2,解压: tar -zxvf zookeeper-3.4.10.tar.gz3,在  zookeeper-3.4.10/conf  下拷贝 zoo_sample.cfg 并命名为 zoo...

2019-01-27 02:12:50 268 1

转载 补码和原码的转化过程

在计算机系统中,数值一律用补码来表示(存储)。 主要原因:使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。另外,两个用补 码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃。 补码与原码的转换过程几乎是相同的。 数值的补码表示也分两种情况: (1)正数的补码:与原码相同。       例如,+9的补码是00001001。 (2)负数的补码:符号位为1,其余...

2018-12-13 00:40:26 15799 2

原创 Golang心跳包

server端  package mainimport ( "net" "fmt" "os" "time")func main() { server := ":7373" netListen, err := net.Listen("tcp", server) if err != nil{ LogC("connect error: &quot

2018-09-17 18:46:25 2682

原创 解决go语言访问网站编码不一致问题

package mainimport ( "net/http" "fmt" "io/ioutil" "golang.org/x/text/transform" "io" "bufio" "golang.org/x/net/html/charset" "golang.org/x/text/encoding")func mai

2018-07-24 14:28:51 2166

原创 go语言的走迷宫算法

package mainimport ( "os" "fmt" "strings" "strconv")func main() { arr := read("1.txt") ss := walk(arr, point{0, 0}, point{len(arr) - 1, len(arr[0]) - 1}) for _,v := range ss{ for _,vv ...

2018-07-24 13:58:04 453

原创 《Go程序设计语言》第五章总结

第五章:函数 ·当函数存在返回值的时候必须显式地以return语句结束,除非函数明确不会走完整个流程(比如一个for死循环) ·函数的类型 称为函数签名,当一个函数拥有相同的形参列表和返回列表时,认为这两个函数的类型或签名是相同的。形参和返回参数的名称不会影响函数的类型 ·实参是按值传递的,所以函数接收到的是没有实参的副本,修改形参的变量并不会影响到实参的值。 但是,如果提供的实...

2018-07-23 16:33:18 283

原创 实现grpc的unix通讯

server端//go:generate protoc -I ../helloworld --go_out=plugins=grpc:../helloworld ../helloworld/helloworld.protopackage mainimport ( "log" "net" "golang.org/x/net/context" "google.golang.or...

2018-07-23 11:13:15 1436

原创 go语言实现unix通讯

service端package mainimport ( "bufio" "fmt" "net" "time")func main() { var addr *net.UnixAddr addr, _ = net.ResolveUnixAddr("unix", "/tmp/unix_ss") unixListener, _ := net.ListenUni

2018-07-23 10:09:11 1953

原创 Golang中关闭管道channel需要注意的问题

当执行了 close(ch) ,那么就不能向 管道发送信息了,但是在关闭之前留在管道里面的消息还可以 被消费。当之前的消息被消费完了,那么继续消费不会阻塞了,而是返回零值  ...

2018-07-22 18:27:44 2205 4

原创 go语言的读写文件

以create方法写文件//以新建的方式打开,Create方法每次打开都会清空里面的内容f,err := os.Create("hah.txt")if err != nil { fmt.Println(err) return}defer f.Close()f.WriteString("hello,KingSoft")以open只读的方式打开//open是以只读的...

2018-07-22 18:10:15 306

原创 go语言中结构体,map与json和之间的转换需要注意的(持续更新)

type IT struct { Company string `json:"comp"` //在json中的别名 Subjects []string IsOk bool `json:",string"` //在json中 将bool类型转换为string类型 Price float64 `json:"-"` //在json中不输出该字段}结构体转json//结构体转jso...

2018-07-22 05:59:29 2053

原创 go的strings常用的对字符操作的api

func main() { //找到第一次出现该字符串的位置 fmt.Println(strings.Index("qwertyu","er")) //复制该字符串几次 fmt.Println(strings.Repeat("qwe",3)) //替换字符串 fmt.Println(strings.Replace("mkl mkl mkl","mk","mo",-1))

2018-07-21 22:18:35 414

原创 关于go语言的继承,封装和多态(持续更新)

对于继承,go语言没有继承,go是使用组合的形式实现了代码重用,当一个结构体包含了另一个结构体,那么外面的结构体就拥有里面结构体的所有 成员变量 和 方法 ,这就有点继承的味道了。外面的结构体就是里面结构体的子类,里面的是父类,子类拥有更加强大的功能。子类还可以重写父类的方法,这就有点多态的味道了(这里要主要的是里面的结构体一定要是匿名才可以,我也不知道为什么)接口: 定义一个接口:例如...

2018-07-21 21:34:02 4299

原创 对内置函数make和new的理解

make用于内建类型(map、slice 和channel)的内存分配。new用于各种类型的内存分配。new就是new ,跟所有语言的new一样的,make主要是用来处理chan 和数组切片和map对于new出来的结构体会进行初始化,但是如果new一个切片类型的: new([]int),那么这个切片是没有底层数组的支持是不能使用的如果new一个结构体里面有指针的话,那么这个指针类型初...

2018-07-21 20:04:15 301

原创 关于go的数组与切片

go语言的数组是切片的基础,切片是由一个底层数组提供元素的,切片可以理解为对底层数组的一个索引,对切片进行修改会影响底层数组,直接对底层数组进行更改,同样会对切片造成影响。一个数组可以有多个切片语法上,a := [5]int{} 这种写死元素个数的就是数组,像这样 b := []int{} 没有写死的是切片把数组传递给形参,形参的类型必须是与实参的元素个数一致,但是如果是切片的话,任何切片...

2018-07-21 16:53:16 206

原创 GO语言使用map的创建于要注意的

var m1 map[int]string m1[1] = "11" //还没有初始化,不能使用,这行代码会报错 fmt.Println(m1) m2 := make(map[int]string) //初始化,可以使用了 m2[2] = "12313" fmt.Println(m2) m3 := make(map[int]string,10) //指定初始化的容量(这里可以考...

2018-07-21 16:30:49 495

原创 Go语言产生随机数

func main() { //产生随机数,设置种子,种子参数一样,每次程序重新运行的随机数都一样 rand.Seed(666) for i := 0; i < 5 ; i++ { fmt.Println(rand.Int()) //产生很大的随机数 fmt.Println(rand.Intn(100)) //可以产生指定范围下的随机数 } //以当前的系统时间作为种...

2018-07-21 14:26:46 2494

原创 go语言数组的始化方式,swap()方法

func main() { var a [5]int = [5]int{1,2,3,4,5} fmt.Println(a) //使用自动类型推导 b := [5]int{1,2,3,4,4:999} //可以指定初始化数组中的第几个元素 fmt.Println(b) c := [...]int{1,2,3,4,5,6,7} fmt.Println(len(c)) ...

2018-07-21 13:57:12 4106

原创 《Go程序设计语言》第三,四章总结

第三章:基本数据 ·Go的数据类型分四大类: 基本类型,聚合类型,引用类型,接口类型 ·基本类型:数字,字符串,布尔 ·聚合类型:数组,结构体 ·引用类型:指针,map,函数,通道 ·接口类型:见第七章 ·字符串 ·内置的len(str),返回的是str的字节数(而不是字符的个数) ·字符串是不可变的,所以不允许修改,eg: s := "hello,wor...

2018-07-19 11:09:05 218

原创 GO的多协程程序,多个CPU执行,共享数据出现不一致的问题

首先,先看看这一段代码var x, y intfunc main() { go func() { x = 1 fmt.Println("y = ", y) }() go func() { y = 1 fmt.Println("x = ", x) }() time.Sleep(time.Second)}打印的结果又很多种y = 0 x = 1x =...

2018-07-18 15:54:42 2153 1

原创 《Go程序设计语言》第一,二章总结

第一章: ·必须精确导入需要的包,否则出现编译错误 ·GO不需要在语句或声明的后面加分号,除非有多个语言出现在同一行,换行符会被转化为分号 ·在doc下使用go fmt + 文件 可以格式化源代码(就是有的你后面加上分号,go fmt会帮你去掉) ·在go中,所有的索引都是半开区间,即是包含第一个索引,不包含最后一个索引。比如[m:n]表示第m个元素到第n-1个元素 ·os.Args可...

2018-07-15 14:40:40 408

原创 用Go语言写的一个多人聊天室

package mainimport ( "net" "fmt" "strings" "time")//保存在线用户var onlineMap map[string]Client = make(map[string]Client)var message = make(chan string)type Client struct { C chan string Na...

2018-07-11 17:06:04 596

原创 RabbitMQ的4钟交换机模式

package com.imooc.miaosha.rabbitmq;import org.springframework.amqp.core.*;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import jav...

2018-06-23 00:19:48 324

转载 内连接、左外连接、右外连接、交叉连接区别

在之前,我对MSSQL中的内连接和外连接所得出的数据集不是很清楚。这几天重新温习了一下SQL的书本,现在的思路应该是很清楚了,现在把自己的理解发出来给大家温习下。希望和我一样对SQL的连接语句不太理解的朋友能够有所帮助。(发这么菜的教程,各位大大们别笑话偶了,呵:D ) 有两个表A和表B。表A结构如下: Aid:int;标识种子,主键,自增ID Aname:varchar 数据情况,即用selec...

2018-06-08 16:01:05 156

转载 ip地址0.0.0.0与127.0.0.1的区别(转载)

最近在项目开发中发现一个奇怪的问题,当服务器与客户端在同一台机器上时,用服务器ip(本地主机ip)192.168.1.xxx、127.0.0.1以及0.0.0.0都能登陆服务器,于是找点资料研究一下。 其实,最开始是发现服务器ip填0能登陆成功,后来知道了系统自动补全ip地址,什么意思呢,就是如果你填0或0.0或0.0.0,系统都会自动补全ip为0.0.0.0。下面就简要介绍一下这三种ip的区

2018-04-13 16:28:52 1833

原创 linux命令大全

linux的目录结构有四个 home: 家,不同用户的家 root: 超级管理员root的家 etc: 存放配置文件 usr: 存放共享的资源命令格式 : 命令 [选项] [参数] ls 命令 -a 显示所有的文件,包括隐藏文件 -l 显示详细信息 -d 查看目录属性 -h 人性化显示文件大小 -i 显示i节点mkdir 命令 mkdir 文件夹

2018-04-11 16:16:50 215

原创 50道编程题之12:企业利润的计算

package com.demo2;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.math.BigDecimal;/** * Created by 莫文龙 on 2018/4/2. *///企业利润的计算public

2018-04-03 17:46:24 958

原创 50道编程题之11:有1,2,3,4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

package com.demo2;/** * Created by 莫文龙 on 2018/4/2. *///有1,2,3,4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少public class Demo1 { public static void main(String[] args) { int[] arr = {1,2,3,4};

2018-04-03 17:45:19 1235

原创 50道编程题之10:一球从100米高度自由落下,每次落地后反弹回原高度的一半; 再落下,求它在第10次落地时,共经过多少米?第十次反弹多高?

package com.demo;/** * Created by 莫文龙 on 2018/3/28. */import java.io.BufferedReader;import java.io.InputStreamReader;import java.math.BigDecimal;/** * 一球从100米高度自由落下,每次落地后反弹回原高度的一半; * 再落下,求

2018-04-03 17:44:10 2848

原创 使用BigDecimal进行运算

package com.demo;/** * Created by 莫文龙 on 2018/3/28. */import java.math.BigDecimal;public class Demo10 { public static void main(String[] args) { //这里尽量使用 BigDecimal(String str)的构造

2018-03-28 18:31:45 1692

原创 50道编程题之09:一个数如果刚好等于它的因子之和,这个数就称为"完数"。例如6 = 1+2+3,编程实现求[a,b]之间的所有完数

package com.demo;/** * Created by 莫文龙 on 2018/3/27. */import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.*;/** * 一个数如果刚好等于它的因子之和,这个数

2018-03-28 11:16:28 1118

原创 网易2018春招笔试编程题:牛牛找工作

import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.*;/** * Created by 莫文龙 on 2018/3/27. */public class Main { public static void main(String[] args) throws Exce

2018-03-27 21:53:07 443

原创 50道编程题之08:求s=a+aa+aaa+aaaa+aaaa...a的值,其中a是一个数字。几个数相加有键盘控制

package com.demo;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Scanner;/** * Created by 莫文龙 on 2018/3/27. *///求 s=a+aa+aaa+aaaa+

2018-03-27 15:39:57 1177

原创 50道编程题之07:输入一行字符,分别统计出其中的英文字母,空格,数字和其他字符的个数

package com.demo;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;/** * Created by 莫文龙 on 2018/3/27. *///输入一行字符,分别统计出其中的英文字母,空格,数字和其他字符的个数public cl

2018-03-27 14:35:09 2185

原创 50道编程题之06:输入两个正整数m和n,求最大的公约数和最小公倍数

package com.demo;import java.io.IOException;import java.util.ArrayList;import java.util.Collections;import java.util.Scanner;/** * Created by 莫文龙 on 2018/3/27. *///输入两个正整数m和n,求最大的公约数和最小公倍数

2018-03-27 14:33:29 1123

原创 50道编程题之05:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示 60-89分之间的用B表示,60分以下的用C表示

package com.demo;/** * Created by 莫文龙 on 2018/3/26. */import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Sc

2018-03-26 21:54:25 861

空空如也

空空如也

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

TA关注的人

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