- 博客(13)
- 收藏
- 关注
原创 gorountine和channel
使用channel作为通信方式的协程用途大致有以下几种。两种方法都是正确的,那么有什么区别呢?新建一个channel并且分配容量。新建一个channel。看函数名字也明白了吧。
2023-08-14 20:29:48
55
原创 数据库系统概论(第五版)期末复习
数据:描述事物的符号记录数据库:数据库是存储在计算机内的、可共享的、有组织的数据集合。数据库中的数据按照一定的数据模型进行组织、描述和存储,具有较小的冗余度、较高的独立性和易拓展性,并可以共享。数据库管理系统:数据库管理系统是位于用户与操作系统之间的一层数据管理软件。主要功能包括有数据定义功能,数据组织、储存和管理,数据操纵功能,数据库的事务管理和运行管理,数据库的建立和维护功能,和其他功能包括数据库管理系统与网络中其他软件系统的通信功能。数据库系统:据库系统是由数据库、数据库管理系统(及其应用开发工
2022-06-30 23:13:10
1381
原创 Go Slice
Golang Sliceslicego语言中的slice共有三个部分,data,len,cap,data是目前存放的数据,len是已经使用的长度,cap是slice总的容量,例如声明一个整型数组var a []int它就由下面三个部分组成datalencap因为只是声明,所以实际情况如下data = nillen = 0cap = 0如果使用make创建,make([]int,2,5),那么情况如下data = 0,0len = 2cap =
2022-05-31 17:45:11
74
原创 一个并行的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
94
原创 进程,线程和协程
进程进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础线程线程有时也被叫做轻量级进程,是程序执行流的最小单元。一个标准的线程由线程ID、当前指令指针(PC)、寄存器集合和堆栈组成。线程是进程中的一个实体,是被系统独立调度和分派的基本单位。线程自己不拥有系统资,只拥有一点在运行过程中必不可少的资源,但他可以与同属一个进程的其他线程共享进程所拥有的全部资源线程拥有自己独立的栈和共享堆,共享堆但不共享栈。线程的切换一般也由操作系统完成。线程具
2022-03-18 16:39:15
170
原创 3/17软件工程笔记
并发:两个以上的时间在同一段时间内发生并行:两个以上事件在统一时刻发生UMLUML可以对任何静态结构和动态动作进行解释,主要用于面向对象的编程发展过程UML的构成用例图:从外部参与者使用系统的角度去描述系统提供的服务,用来定义系统的功能需求。阅读时从参与者出发,按箭头读取。参与者:是与系统,子系统或类发生交互的外部用户,进程或其他系统。可以是人,另一个计算机或进程。用例:是一个外部可见的系统功能,功能由系统提供,通过参与者之间的消息交换来表达。用例一般被命名为能够说明目标的动
2022-03-17 09:51:54
72
原创 实现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
584
原创 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
875
原创 Go语言顺序链表实现
关于Go语言的链表package mainimport ( "fmt")const maxsize = 100type ElemType inttype 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
136
原创 Linux编程环境(Vim,gcc)02
Linux编程环境(Linux网络编程笔记)02GCC(续)生成动态链接库动态链接库时程序运行时加载的库,所有的程序都可以使用动态库来运行程序。动态链接库是目标文件的集合,库中函数和变量的地址是相对的,不是绝对地址,其真实地址在调用库的程序加载时形成的。动态链接库有别名,真名和连接名。别名前缀lib+库名+.so真名动态链接库真实名称连接名动态库安装时,复制文件到某目录下并用软链接生成别名生成动态链接库使用-fpic选项或者-fPIC选项。例如$gc
2021-05-10 20:05:17
73
原创 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
1544
10
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人