自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

开心就好的专栏

如果你总是轻言放弃, 那么你将会一事无成.

原创 区间合并问题(merge-intervals)

这是leetcode上的一道题目, 原题目表述如下: 给定一组区间,合并所有有重叠的区间. 例子1: Input: [[1,3],[2,6],[8,10],[15,18]] Output: [[1,6],[8,10],[15,18]] 解释: 由于[1,3] 和 [2,6] 有重叠区域, 合并为 ...

2018-10-31 22:41:19

阅读数 2566

评论数 0

原创 golang之排序使用

golang标准库实现了许多常用的排序方法,比如对整数序列排序:sort.Ints(), 那么如果对自定义的数据结构排序怎么做呢? 比如对一个用户列表,按他们的积分排序: 首先定义数据结构,为了能清楚说明问题,只给两个字段。 type User struct { Name string Sc...

2018-10-31 20:30:01

阅读数 1206

评论数 2

原创 golang之defer理解

defer调用是一个栈结构 defer会在函数退出前执行,而且满足后进先出,类似栈. 直接调用deferCommon会输出:9,8,…,0, done. func deferCommon() { for i := 0; i < 10; i++ { defer f...

2018-10-29 20:57:31

阅读数 645

评论数 0

翻译 go test打印无输出

有一个测试文件: cat utils/utils_test.go package utils import ( "fmt" "testing" ) func TestGetProjAbsP...

2018-10-29 10:45:31

阅读数 3695

评论数 0

原创 topK问题

topK问题:给定一批数,如n个, 然后从中找出k个最大(小)的数。 具体一个场景,比如给出1000w个数,找出最大的100个。 思路有以下几个: 先排序,取出最大的几个,伪代码如下: sort(arr, 1, n) return arr[1, k] 时间复杂度可以达到O(n*logn) ...

2018-10-24 17:47:54

阅读数 1873

评论数 0

原创 golang并发求和

使用golang并发求和,作为对golang并发的一个练习. 为了验证结果的正确性,要给出最传统的版本: func sum1(data []int) int { s := 0 l := len(data) for i := 0; i < l; ...

2018-10-24 11:27:02

阅读数 817

评论数 0

原创 golang之map并发访问

golang中的map不是并发安全的,并发对map读写可能会有问题,如: // N太小时不会(比如10),因机器而异 // fatal error: concurrent map read and map write func mapDemo1() { m := make(map[string]...

2018-10-23 23:00:34

阅读数 2656

评论数 1

原创 golang判断系统是大端还是小端存储

在看goim源代码时看到这样一段代码: func IsLittleEndian() bool { var i int32 = 0x01020304 u := unsafe.Pointer(&i) pb := (*byte)(u) b := *pb retu...

2018-10-23 11:24:34

阅读数 881

评论数 0

原创 golang之jsonrpc

rpc, 个人理解就是调用不在一个机器上的方法。 jsonrpc就是调用过程中使用json格式的数据通信。 golang对jsonrpc有相应的标准库支持,记录一下如何使用。 代码结构 测试代码结构(请根据自己实际目录调整): [root@gl jsonrpc]# tree . ├── clien...

2018-10-22 18:24:39

阅读数 1025

评论数 0

原创 判断一个数是否为2的N次方

在阅读goim源代码的时候, 在ring.go中看到这句代码: // 2^N if num&(num-1) != 0 { // ... } 原来这是判断2的N次方。 然后总结了下, 判断一个数n是否为2的N次方的办法(要求n>0): 第一种:笨办法, 2^i,...

2018-10-22 11:21:24

阅读数 998

评论数 0

原创 kafka启动报错记录:Connection to node 0 could not be established. Broker may not be available.

环境说明: CentOS Linux release 7.4.1708 (Core) Linux内核:3.10.0-693.el7.x86_64 java: openjdk version “1.8.0_181” kafka: kafka_2.11-2.0.0 zookeeper: zookee...

2018-10-19 11:50:25

阅读数 6565

评论数 0

原创 Java并发编程之CyclicBarrier

CyclicBarrier可以控制这样的场景: 对多个线程,他们执行自己代码(运行run方法)的时间不一样; 比如有3个线程,其run方法执行时间分别为1s, 2s, 3s。如果我们想在三个线程都完成自己的任务时执行操作时,CyclicBarrier就用上了。 写了一个简单的测试类,方便理解: p...

2018-10-17 19:24:28

阅读数 50

评论数 0

原创 shell校验IP地址

接上文 写一个判断校验IP地址的方法 #!/bin/bash function isValidIp() { local ip=$1 local ret=1 if [[ $ip =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]...

2018-10-16 18:13:46

阅读数 1212

评论数 0

原创 shell将字符串分割为数组

找到有两种方法: 使用内置的分割符IFS str="192.168.31.65" OLD_IFS="$IFS" #保存旧的分隔符 IFS="." array=($str) IFS="$OLD_IFS" # 将IFS...

2018-10-16 17:54:57

阅读数 8569

评论数 0

原创 docker推送自己的镜像到docker hub

环境: CentOS Linux release 7.4.1708 (Core) Linux内核:3.10.0-693.el7.x86_64 Docker: Client: 18.06.1-ce Server: 18.06.1-ce 构建自己的镜像 # 创建一个单独的目录 $ mkdir fi...

2018-10-16 10:26:25

阅读数 1975

评论数 0

原创 golang判断平台是32位还是64位

在看go语言圣经时, 文中提到可以利用下面的表达式获取系统是32位还是64位的. bit := 32 << (^uint(0) >> 63) 开始看到这式子, 感觉很奇怪, 后面自己找了些资料, 搞明白了. ...

2018-10-09 17:30:01

阅读数 1352

评论数 1

原创 golang利用反射设置结构体变量的值

如果需要动态设置struct变量field的情况下, 可以利用reflect来完成. 代码如下: package main import ( "fmt" "refle...

2018-10-08 12:58:45

阅读数 1954

评论数 0

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