自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 gorountine和channel

使用channel作为通信方式的协程用途大致有以下几种。两种方法都是正确的,那么有什么区别呢?新建一个channel并且分配容量。新建一个channel。看函数名字也明白了吧。

2023-08-14 20:29:48 112

原创 golang的syncMap

只讨论sync.Map

2023-07-18 10:13:41 203 1

原创 数据库系统概论(第五版)期末复习

数据:描述事物的符号记录 数据库:数据库是存储在计算机内的、可共享的、有组织的数据集合。数据库中的数据按照一定的数据模型进行组织、描述和存储,具有较小的冗余度、较高的独立性和易拓展性,并可以共享。 数据库管理系统:数据库管理系统是位于用户与操作系统之间的一层数据管理软件。主要功能包括有数据定义功能,数据组织、储存和管理,数据操纵功能,数据库的事务管理和运行管理,数据库的建立和维护功能,和其他功能包括数据库管理系统与网络中其他软件系统的通信功能。 数据库系统:据库系统是由数据库、数据库管理系统(及其应用开发工

2022-06-30 23:13:10 1564

原创 Go语言的函数

Golang函数

2022-06-01 17:31:22 161

原创 Go Slice

Golang Slice slice go语言中的slice共有三个部分, data,len,cap,data是目前存放的数据,len是已经使用的长度,cap是slice总的容量,例如声明一个整型数组var a []int它就由下面三个部分组成 data len cap 因为只是声明,所以实际情况如下 data = nil len = 0 cap = 0 如果使用make创建,make([]int,2,5),那么情况如下 data = 0,0 len = 2 cap =

2022-05-31 17:45:11 119

原创 一个并行的go爬虫

1.使用get函数获取当前页面内容以string返回 func Get(url string)(result string,err error){ resp, err1 := http.Get(url) if err != nil { err = err1 return } defer resp.Body.Close() buf := make([]byte,4 * 1024) for true{ n,err := resp.Body.Read(buf) if err !=

2022-03-22 16:08:57 158

原创 进程,线程和协程

进程 进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础 线程 线程有时也被叫做轻量级进程,是程序执行流的最小单元。一个标准的线程由线程ID、当前指令指针(PC)、寄存器集合和堆栈组成。 线程是进程中的一个实体,是被系统独立调度和分派的基本单位。线程自己不拥有系统资,只拥有一点在运行过程中必不可少的资源,但他可以与同属一个进程的其他线程共享进程所拥有的全部资源 线程拥有自己独立的栈和共享堆,共享堆但不共享栈。线程的切换一般也由操作系统完成。 线程具

2022-03-18 16:39:15 229

原创 3/17软件工程笔记

并发:两个以上的时间在同一段时间内发生 并行:两个以上事件在统一时刻发生 UML UML可以对任何静态结构和动态动作进行解释,主要用于面向对象的编程 发展过程 UML的构成 用例图: 从外部参与者使用系统的角度去描述系统提供的服务,用来定义系统的功能需求。 阅读时从参与者出发,按箭头读取。 参与者: 是与系统,子系统或类发生交互的外部用户,进程或其他系统。可以是人,另一个计算机或进程。 用例: 是一个外部可见的系统功能,功能由系统提供,通过参与者之间的消息交换来表达。 用例一般被命名为能够说明目标的动

2022-03-17 09:51:54 166

原创 实现redis连接池以及管道

使用Pool结构建立连接池 初始化连接池 pool := &redis.pool{ MaxIdle: 16, MaxActive: 1024, IdleTimeout: 300, Dial: func() (redis.Conn,error) { return redis.Dial("tcp","localhost:6379") }, } MaxIdle:最大的空闲连接数,表示即使redis没有被使用时,依然可以保持16个空闲的连接,随时处于待命状态。 MaxActive: 最大的

2022-01-01 22:22:56 704

原创 Golang的MySQL预处理

Golang的MySQL预处理预处理执行过程为什么进行预处理Golang中的MySQL预处理 预处理执行过程 1.编译器将SQL语句分为两部分,命令部分与数据部分; 2.编译器把命令发送给MySQL服务端,MySQL服务端进行MySQL预处理; 3.编译器将数据发送给MySQL服务端,并进行占位符的替换。 为什么进行预处理 预处理避免了MySQL服务端的SQL语句重复执行的问题,提升服务器性能,同时,令编译器提前预处理节省后续编译成本,避免了SQL注入问题。 Golang中的MySQL预处理 //预处理查询

2021-12-28 11:28:28 1040

原创 Go语言顺序链表实现

关于Go语言的链表 package main import ( "fmt" ) const maxsize = 100 type ElemType int type SeqList struct { elem[maxsize] ElemType length int } //初始化链表 func InitList(list *SeqList) { list.length = 0 } //链表插入 func InsertList(L *SeqList,x ElemType,i int) bo

2021-10-09 21:58:00 193

原创 Linux编程环境(Vim,gcc)02

Linux编程环境(Linux网络编程笔记)02 GCC(续) 生成动态链接库 动态链接库时程序运行时加载的库,所有的程序都可以使用动态库来运行程序。动态链接库是目标文件的集合,库中函数和变量的地址是相对的,不是绝对地址,其真实地址在调用库的程序加载时形成的。 动态链接库有别名,真名和连接名。 别名 前缀lib+库名+.so 真名 动态链接库真实名称 连接名 动态库安装时,复制文件到某目录下并用软链接生成别名 生成动态链接库 使用-fpic选项或者-fPIC选项。例如 $gc

2021-05-10 20:05:17 129

原创 Linux编程环境(Vim,Gcc)01

Linux编程环境 Linux环境下的编译器 vim的使用简介: 1.vim的安装: 使用命令:apt-get install +软件包名 可以用来安装各种软件 2.vim编译器的模式: Vim主要分为普通模式和插入模式。普通模式是命令模式,插入模式是编辑模式。 再插入模式下可以进行字符的输入,输入的键值显示在编辑框中,这些文本可以用于编辑。普通界面是进行命令操作的,输入的值代表一个命令。 插入模式和普通模式的切换分别为按i键和Esc键。普通模式下按i键会进入插入模式。插入模式下按Esc键进入普通模式。 使

2021-04-25 21:24:34 1696 10

空空如也

空空如也

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

TA关注的人

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