自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Zookeeper 编译环境安装

Java环境安装下载:Linux系统Java下载 这里解压:tar xvfjre-8u281-linux-x64.tar.gz -C /usr/local/ && mvjre-8u281-linux-x64 java1.8配置:# 写入配置cat >> /etc/profile << EOF#java environmentexport JAVA_HOME=/usr/local/jdk1.8export CLASSPATH=.:${..

2021-01-25 18:10:21 311 2

原创 业务流设计经验总结

长时间(时间大于5s)流程需要放在异步流程里输入参数全部写入到db里(方便后续恢复)异步流程函数实现里,参数只能从db获取(方便后续恢复,重试),且实现要做到幂等,可重入服务重启时,要将中间状态的任务要重新运行...

2021-01-05 16:06:56 206

转载 Docker 核心技术与实现原理

Namespaces命名空间(namespaces)是 Linux 为我们提供的用于分离进程树、网络接口、挂载点以及进程间通信等资源的方法。在日常使用 Linux 或者 macOS 时,我们并没有运行多个完全分离的服务器的需要,但是如果我们在服务器上启动了多个服务,这些服务其实会相互影响的,每一个服务都能看到其他服务的进程,也可以访问宿主机器上的任意文件,这是很多时候我们都不愿意看到的,我们更希望运行在同一台机器上的不同服务能做到完全隔离,就像运行在多台不同的机器上一样。Linux 的命名空间机制提

2020-12-03 11:58:05 115

原创 c++内存管理

内存管理是c++和其他OOP(面向对象)语言的根本区别,熟知c++的内存管理至关重要1.分配方式简介在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。栈,函数内局部变量,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。 堆,malloc分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个free。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。.

2020-12-01 17:28:35 116

原创 c++ STL 逻辑算子(Algorithm)

对于那些渴望在竞争性编程方面出类拔萃的人来说,只有了解STL的容器是没有多大用处的,直到你不知道STL提供了什么。STL有大量的算法,对于所有的<algorithm>库函数:请参阅这里。关于向量的一些最常用的算法和竞争编程中最有用的算法如下:sort(first_iterator, last_iterator)– 排序 reverse(first_iterator, last_iterator)– 倒序 *max_element (first_iterator, last_i..

2020-11-28 18:20:25 215

原创 c++ STL 二分查找(binary search)

二分查找是一种广泛使用的搜索算法,它要求在应用搜索之前对数组进行排序。该算法的主要思想是继续将数组分成两半(分而治之),直到找到元素,或者用尽所有元素。它通过将数组的中间项与目标进行比较来工作,如果匹配,则返回true;否则,如果中间项大于目标,则在左子数组中执行搜索。如果中间项小于目标,则在右子数组中执行搜索。函数原型binary_search(startaddress, endaddress, valuetofind)startaddress: 列表

2020-11-28 17:53:07 998

原创 c++ STL sort

排序是应用于数据的最基础的功能之一。这意味着以特定的方式排列数据,可以是增序也可以逆序。sort函数在内部使用IntroSort。更详细地说,它是使用快速排序、堆排序和插入排序依据默认情况下,它使用快速排序,但如果快速排序执行不公平的分区并占用N*logN时间,它将切换到堆排序,当数组大小变得非常小时,它将切换到插入排序。sort函数原型sort(startaddress, endaddress)startaddress: 列表起始地址endaddress: 列表末尾地址通用类型

2020-11-28 16:26:36 165

原创 C++ 标准模板库 (STL)

标准模板库(STL)是一组C++模板类,提供常见的编程数据结构和函数,如列表、堆栈、数组等。包含容器类、算法和迭代器。是一个通用库,因此,它的组件是参数化的。模板类的知识是使用STL的先决条件。STL 四大组件Algorithms Containers Functions IteratorsAlgorithmsAlgorithm Sorting Searching Important STL Algorithms Useful Array algorithms Pa.

2020-11-28 12:56:59 183

原创 c++ 构造函数

初始构造函数什么是构造函数?构造函数是初始化类对象的类的成员函数。在C++中,当对象(类实例)创建时,将自动调用构造函数。它是类的特殊成员函数。构造函数和普通的成员函数区别(member function)?构造函数有相同的名称,即类本身 构造函数没有返回类型 构造函数是在对象创建的时候自动被调用 如果不支持构造函数,C++编译器会生成一个默认的构造函数(没有参数,且实现为空)构造函数分类默认构造函数 ClassName(); 有参构造函数 ClassName(int); 复

2020-11-27 14:59:15 375

原创 golang channel

channel分两种, 一种是带缓冲的channel一种是不带缓冲的channel结构定义type hchan struct { //channel队列里面总的数据量 qcount uint // total data in the queue // 循环队列的容量,如果是非缓冲的channel就是0 dataqsiz uint // size of the circular queue // 缓冲队列,数组类型。 buf unsafe.

2020-10-18 20:13:59 94

原创 golang GC(垃圾回收机制

go的垃圾回收,官方形容为:非分代,非紧缩,写屏障,三色并发标记清理算法。非分代:不像java那样分为年轻代和老年代,滋润也没有minor和majo gc的区别非紧缩:在垃圾回收之后不会进行内存整理以清除内存碎片写屏障:在并发标记的过程中,如果应用程序修改了对象图,就可能出现标记遗漏的可能,写屏障是为了处理标记遗漏的问题。三色:将GC中的对象按照搜索情况分成三种:1.黑色:对象在这次GC中已标记,且这个对象包含的子对象也已标记2.灰色:对象在这次GC中已标记,但这个对象包含的子对象未标记3

2020-10-18 13:14:09 320

转载 Golang调度器GMP模型

G(Goroutine) :我们所说的协程,为用户级的轻量级线程,每个Goroutine对象中的sched保存着其上下文信息.// Go1.11版本默认stack大小为2KB_StackMin = 2048 // 创建一个g对象,然后放到g队列// 等待被执行func newproc1(fn *funcval, argp *uint8, narg int32, callergp *g, callerpc uintptr) { _g_ := getg() _g_.m.locks

2020-10-18 12:44:10 173

原创 golang 协程(goroutine)

A goroutine is a lightweight thread managed by the Go runtime.Goroutine可以认为是一个轻量级的线程, 创建一个Goroutine其较线程开销很小, 因此通常情况下可以并发运行数千个协程协程对比线程的优势与线程相比,goroutine非常cheap。它们的堆栈大小只有几kb,并且堆栈可以根据应用程序的需要进行扩展和收缩,而对于线程,则必须指定并固定堆栈大小Goroutines被多路复用到更少的操作系统线程。在具有数千个Goro.

2020-10-18 12:16:58 276

原创 排序

快速排序主要思想,就是第一个元素作为基准数据,将其他数据比较,分为左和右数组,递归func quickSort(arr []int) (ret []int) { if len(arr) <= 1 { return arr } left := []int{} right := []int{} mid := arr[0] for i:=1; i<len(arr); i++ { if arr[i] < mid { left = append(left, arr

2020-10-17 09:22:07 101 1

空空如也

空空如也

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

TA关注的人

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