自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(465)
  • 资源 (1)
  • 收藏
  • 关注

原创 数据库面试题

文章目录MySQL中InnoDB和MyISAM与的区别MySQL中InnoDB和MyISAM与的区别InnoDB支持事务,MyISAM不支持InnoDB支持外键,MyISAM不支持InnoDB支持行级锁和表级锁(默认行级锁),MyISAM支持表级锁InnoDB支持MVCC,MyISAM不支持InnoDB不支持全文索引,MyISAM支持...

2020-07-28 10:24:33 458

原创 【leetcode】Elegant Code

1.第168后面评论区里面的答案这道题类似于十进制转换成26进制。有个大神使用了一行的递归代码convertToTitle:class Solution { public String convertToTitle(int n) { return n == 0 ? "" : convertToTitle(--n / 26) + (char)('A' + (n % 26)...

2019-03-31 21:55:36 224

原创 【leetcode】笔记

JAVA初始化二维数组的方式:第一种:int a[][]={{1,2,3},{4,5,6}};第二种,先指明行数,再对每行的长度申请内存赋值:int[][] arr3 = new int[5][];//五行 for(int i=0; i<arr3.length; ++i){ arr3[i]=new int[i+1]; /

2018-11-19 14:54:52 188

原创 【leetcode】总结

1.Hash表的使用1.two sumhttps://blog.csdn.net/AXIMI/article/details/82729883

2018-11-19 14:54:26 447

原创 GO: command-line flag

backgroundcommand-line flag is used in command-line programs. For example, in wc -l the -l is a command-line flag. Go provides a flag package supporting basic command-line flag parsing.Basic flag declarations are available for string, integer, and boolea

2022-04-21 11:47:07 280

原创 GO: Design Pattern

文章目录BackgroundAbstract FactoryexampleBackgroundIn general, a pattern has four essential elements:pattern name, problem, solution, consequenceAbstract FactoryUsed when different objects have same behaviours. Also know as kitbenefitsexample

2022-04-06 16:09:51 458

原创 sqlx: batch insert operation

func BatchAdd(ctx context.Context, listData []*DataTab) (int64, error) { operation := "batch_add_shipment_group_audit_log" sqlStatement := fmt.Sprintf("INSERT INTO %s (%s) VALUES ", TableName, ColumnNames) var values []interface{} for _, row := range

2021-12-06 18:25:44 624

原创 Go: Map使用

文章目录创建创建package mainimport "fmt"type Vertex struct { Lat, Long float64}var m = map[string]Vertex{ "Bell Labs": {40.68433, -74.39967}, "Google": {37.42202, -122.08408},}func main() { fmt.Println(m)}

2021-11-11 23:40:46 146

原创 Operate System: Round Robin Scheduling

文章目录BackgroundProcessBackgroundRound Robin(RR) scheduling algorithm is mainly designed for time-sharing systems. In Round Robin(RR) scheduling, preemption is added which enables the system to switch between processes.Featuresone of the oldest, easiest

2021-11-04 17:45:25 150

原创 GO: Context使用

概念Context是一个Goroutine的上下文,用于保存一些执行状态。一般在goroutine执行之前将程序的运行状态封装在一个Context变量中,传递给要执行的协程。在网络编程场景下,有时候一个request需要经手多个goroutine,这个request的信息就可以通过context传递到不同的goroutine。context的核心是Context接口:type Context interface { Deadline() (deadline time.Time, ok bool

2021-09-25 21:43:40 1278

原创 GO: 字符类型(byte类型,rune类型)和字符串

概念go里面没有字符类型(char),而是使用byte和rune来代表字符。我们声明一个字符时,默认是rune类型,除非特别定义。var a = 'A' // rune typevar b byte = 'a' // byte typec:= byte('b') // byte type本质上,byte其实都是整型类型,其中byte是uint8的别称,rune是int32的别称。例如一个byte类型的字符'a'其实是整型数字97,对应ASCII码的字符a。var a = 'a'var

2021-09-19 16:11:48 3031

原创 GO: 输出(Print、Println 、Printf、Fprintf 、Sprintf的区别)

fmt.Print() // 打印输出fmt.Println() // 打印输出并换行fmt.FPrintf("打印这个字符串:%s ","string") // 格式化字符串并输出str := fmt.SPrintf("打印这个字符串:%s ","string") // 格式化字符串并返回,不会输出,可用于赋值...

2021-09-16 23:09:49 1831

原创 GO:channel

文章目录概念使用demo向channel发送一个数据并接收向channel连续发送数据并接收创建channel说明接收channel说明概念channel是goroutine之间的通信机制。每个channel都有一个数据类型,指定发送该类型的数据;同时同一时刻只有一个goroutine可以访问channel进行数据发送或访问;channel遵循FIFO原则。channel的数据传输有以下特点:channel的发送方和接收方是不同的goroutine(因为数据的发送和接收行为都会阻塞);chann

2021-09-15 23:58:08 160

原创 go: struct使用

字段设置struct中的*bool有时候会看到struct中的bool字段不是bool而是*bool即指针,这是因为初始化一个struct时,这个struct中的所有属性都是零值,bool字段会包含值False。但如果创建struct的时候,不想明确将默认值设置为True或False就可以将该字段的类型设置为*bool ,这样该字段的默认值就是nil。在这种场景下出于同样的原因,您不能直接将True或false分配给该属性,首先需要创建一个具有bool值的变量,并将该变量地址设置为该属性...

2021-09-08 09:34:54 514

原创 解决压测wrk报错:Socket errors

问题使用wrk压测的时候出现报错socket error: Socket errors: connect 251, read 0, write 0, timeout 0这里connection的错误指本地压测客户端无法连接服务器的报错有251个,本来应该是0的解决方式可以使用$ulimit -n检查当前用户支持的系统进程数,同时通过ulimit -n 8000更新系统支持的进程数...

2021-08-10 15:06:25 2637

原创 Go string包使用

strings.HasPrefix(str, "is") // 是否有前缀isstrings.ContainsAny("team", "e") // 是否包含子字符串,可以匹配unicode字符strings.Contains("team", "e") // 是否包含子字符串,不能匹配unicode字符strings.Index("Good Job", "Job") // 返回子字符串索引值,没有返回-1strings.LastIndex(str, "Yep") // 返回子字符串最后

2021-08-01 12:24:53 149

原创 GO:切片Slice的概念,使用及线程安全性

文章目录二维切片二维切片创建func main() { // 创建 res := make([][]int, row) for i := range res { res[i] = make([]int, column) } fmt.Println(res) // 遍历 for i, row := range res { for j, value := range res[i] { fmt.Print(res[i]][j]) } }}...

2021-07-29 17:46:17 2941 1

原创 go mod使用

使用进入到go project文件目录使用go mod init创建go微环境可以直接使用go run main.go,此时go mod会自动下载依赖注意点不能在$GOPATH下使用go mod复制其他项目的源代码时不要复制go.mod文件,要复制的话也要修改一下go.mod文件里面的package名称...

2021-07-29 12:08:53 407

原创 编码格式:UTF-8、Unicode、GBK、ANSI

文章目录Unicode和UTF-8GBKUTF-8和GBK对比字节数网页编码Unicode和UTF-8Unicode是一个符号集,规定了符号的二进制代码;而UTF-8是Unicode的实现方式。UTF-8是国际化标准文字编码,包含全世界所有国家需要用到的字符,不同的语言用到的字节数不同。英文1个字节,中文三个字节。GBK用于解决中文编码,包含中文和英文,中文和英文都用2个字节来编码。UTF-8和GBK对比字节数UTF-8不同的语言有不同的字节数,一个中文字由三个字节的编码来表示,一个中文由

2020-10-22 13:12:59 1087

原创 解决【goland安装了插件,但是用不了】的问题

问题背景我在goland里面安装了插件go linter,但就是用不了解决方式需要给这个插件可执行的权限才能使用。进入到这个目录,并给可执行的权限:再进到插件的目录页就可以使用了:

2020-09-27 21:33:58 2065

原创 Go: 解决import | go get 之后,导入的包还是显示unresolved

问题背景我在goland下创建了一个项目,但是导入包的时候命名用go get导入成功了,import的部分还是显示红色(没有导入成功):没导入成功的时候这里会标红,我这里因为导入成功了所以是绿色的。有时候其实已经导入成功了,也可以正常运行,但是引入的包就是会标红色。解决方式其实会标红色是因为在你的项目里面没有external libraries,所以go get或者go build引入的包没有办法在你当前的项目里面找到。解决方式如下:选择设置:然后勾选上这个选项就可以了:...

2020-09-04 18:33:39 5910

原创 GO:使用WRK对web系统做性能测试

负载测试、压力测试、性能测试负载测试:测试不同负载下系统的响应时间、数据吞吐量、系统占用资源等(CPU、内存),以发现系统可能存在的性能瓶颈、内存泄漏、不能实时同步等问题。压力测试:最大负载的负载测试,目标是为了发现系统的最大负载。性能测试:希望获得不同情况下的系统性能指标,可能是是在同样负载情况下改变系统的结构、改变算法、改变硬件配置等等来得到性能指标数据。例如web系统中的3/5/10原则。wrk做性能测试安装wrk(Mac)brew install wrk使用方式使用方法: wrk

2020-09-03 16:30:22 456

原创 goland: 同步代码到远程服务器

需求背景我本地goland有很多代码,需要同步到服务器。实现方式goland有同步代码的插件。安装sftp和同步代码的插件进入goland–preference–plugins:搜索sftp,安装这两个插件:映射本地路径到服务器路径选择菜单栏tools–deployment–configuration:在connection和mappings这两栏内填入服务器地址等信息:其中Local path为本地代码的路径,Root path+Deployment path是服务器的代码路

2020-08-24 15:55:41 4941

原创 GO: 字符串

文章目录分割/截取/拼接字符串替换字符串大小写转化判断前后缀分割/截取/拼接字符串 strs := strings.Split("this is a string", " ")str1 := "this is a string"strs := str1[0:5]strs = strings.Join(strs,"_")替换字符串str := strings.Replace("this is a string", " ", "_", -1)-1表示所有的空格都替换为下划线,如果是正数(

2020-08-23 14:55:33 184

原创 GO: 定义一个函数类型

文章目录函数类型函数类型函数类型指将函数定义为一种类型,一般用于实现类似"通用接口"的功能。例如下面代码中,实现了将数组中的奇偶元素分到不同切片的功能。将识别切片元素奇偶性的函数定义为函数类型processFunc,再通过一个函数filter使用isOdd和isEven函数即可。这里的filter就可以看做一个通用的接口函数。package mainimport "fmt"func main(){ slice := []int{1,2,3,4,5,6,7} odd := filter

2020-08-23 11:17:58 1358

原创 GO: defer的使用场景、特性及使用

对有名返回值和无名返回值的影响package mainimport "fmt"func main() { fmt.Println("f1 result: ", f1()) fmt.Println("f2 result: ", f2())}func f1() int { var i int defer func() { i++ fmt.Println("f11: ", i) }() defer func() { i++ fmt.Println("f12: ",

2020-08-20 17:47:42 463

原创 GO高阶函数:匿名函数、回调函数和闭包

概念闭包就是生成函数的函数。使用方式使用方式是先实现闭包对象(闭包生成对象是函数),再通过这个函数做其他的功能。例如我现在有100个用户,每个用户都需要生成对应的xlsx文件、json文件、txt文件用于保存相关的信息,可以先创建闭包来实现三个函数,这三个函数可以生成.xlsx, .json, .txt的文件后缀,然后再通过这三个函数创建这100个用户的对应文件。func MakeFile(suffix string) func(string) string { return func(c

2020-08-20 16:38:33 510

原创 GO: 获得post application/json格式的body数据

传给后端的格式类型传给后端的格式类型为application/json格式:前端content-type对应类型为application/json:后端获得body数据的方式go需要创建一个struct结构来获得对应的数据,例如我前端传给后端的数据格式为:{ "projects": ["project1", "project2"], "start_date": "2020-08-01", "end_date": "2020-08-02",}则后端获得该数据的方式为:packag

2020-08-18 15:54:07 4716

原创 操作系统面试题

进程,线程,协程进程是资源分配的最小单元,线程是CPU调度的最小单位。进程有独立的内存单元,单独的地址空间,而进程下的多个线程可以共享本进程的资源如内存、I/O、cpu等进程之间不会相互干扰,线程同步的方式临界区控制多线程的串行化来访问公共资源或一段代码,速度快互斥量某个时间点下只有一个进程的一个线程可以访问互斥对象,可以实现不同进程下不同线程的同步,创建时需要资源更多事件一个线程在处理完一个任务后,主动唤醒另外一个线程执行任务。比如在某些网络应用程序中,一个线程如A负责侦听通信端口,另

2020-08-12 22:23:39 225

原创 HTTP请求头X-Forwarded-For字段和X-Real-Ip字段

X-Forwarded-For在多级代理中,X-Forwarded-For用于记录从客户端地址到最后一个代理服务器的所有地址。X-Real-Ip用于记录请求的客户端地址。

2020-08-11 18:32:38 2983

原创 python面试题

文章目录1.深拷贝和浅拷贝的区别?2.列表和元祖有什么区别?3. *args和**kwargs区别?4. 如何随机打乱列表中的元素,不引用额外内存空间?5.什么是闭包?6. //和\** 是什么符号?1.深拷贝和浅拷贝的区别?浅拷贝是将一个对象的引用赋给另一个对象,如果修改被赋值对象的内容,会影响原对象;深拷贝是将原对象的内容复制给另外一个对象,如果修改被赋值对象的内容,不会影响原对象。2....

2020-07-30 17:27:12 171 1

原创 MySQL锁

表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低当表数据大部分时间只需要读取时,速度大于业级锁和行级锁有很多group by操作时没有写操作时,速度更快行级锁:开销大,加锁速度慢;会出现死锁,锁定粒度最小,发生锁冲突的概率低,并发度高缺点:比表级、页级锁占用更多内存当表数据被频繁使用时,比页级或表级锁定速度慢,因为需要获得更多锁如果经常使用group by或者必须扫描整张表,比其他锁慢页级锁:开销、加锁时间、锁定粒度、并发度介于两者之间,会出现死.

2020-07-27 21:42:18 196

原创 【MAC】环境变量

MAC的环境变量mac系统的环境变量加载顺序为:/etc/profile/etc/paths~/.bash_profile~/.bash_login~/.profile~/.bashrc其中前两个是系统级别的,系统启动就会加载,后面几个是当前用户级别的环境变量。后面3个按照从前往后的顺序读取,如果~/.bash_profile文件存在,则后面的几个文件就会被忽略不读了,如果~/...

2020-07-20 22:03:57 184

原创 浏览器的同源策略、跨域访问原因、解决原理及解决方式

浏览器的同源策略跨域访问的需求是浏览器的同源策略引起的。两个url地址如果请求的域名、端口 和 请求方法(http, https)都是一样,那这两个url地址同源。如果发起请求的域与这个请求指向的资源所在的域不同源,就会造成跨域访问失败。同源策略的功能同源策略可以避免跨站请求伪造的问题(csrf, cross-site request forgery).实现跨域访问原理可以使用cors(Cross-Origin Resource Sharing,跨资源共享)来实现跨域访问。cors标准会新

2020-07-14 19:57:54 512

原创 MySQL: 索引的使用,分类及模型

文章目录索引的分类分类方式1:普通索引,唯一性索引,全文索引,空间索引分类方式2:单列索引,多列索引分类方式3:主键索引,非主键索引索引的常见模型哈希表有序数组N叉树常见数据库引擎的索引模型InnoDB索引的分类分类方式1:普通索引,唯一性索引,全文索引,空间索引普通索引由KEY或INDEX定义的索引,可以创建在任何数据类型,其值是否唯一和非空由字段本身的约束条件决定。唯一性索引由UNIQUE定义的索引,该索引所在字段的值必须是唯一的。全文索引全文索引是由FULLTEXT定义的索引,只能创建

2020-07-07 12:44:14 199

原创 【leetcode】841. Keys and Rooms

提交代码class Solution { public boolean canVisitAllRooms(List<List<Integer>> rooms) { boolean[] access=new boolean[rooms.size()]; Arrays.fill(access, false); access[0] = true; Queue<Integer> next=new Linke

2020-06-18 09:21:53 222

原创 【leetcode】785. Is Graph Bipartite?

创建两个集合用于保存两组节点首先0放在集合1,0的邻节点放在集合21的邻节点是0和2,0已经在集合1里面了,把2也放到集合1里面去3的邻节点是0和2,都在集合1里面。所有节点都放在了集合1和2中,返回true(如果存放过程中出现矛盾返回false)提交代码class Solution { public boolean isBipartite(int[][] graph) { Set<Integer> g1=new HashSet<>(); S.

2020-06-16 22:38:58 179

原创 【leetcode】1482. Minimum Number of Days to Make m Bouquets

提交代码class Solution { public int minDays(int[] bloomDay, int m, int k) { int[] bd=bloomDay.clone(); Arrays.sort(bloomDay); int i=0,j=bloomDay.length-1,mid=(i+j)/2; while(i<j) { if(i==j-1) { if(hasBouquet(

2020-06-15 13:16:24 276

原创 【算法设计与分析】图:Djikstra算法

文章目录算法介绍算法过程Java实现例题算法介绍Djikstra算法是单源最短路径算法:用于计算有向图中某个节点到其他节点的最短路径,当然无向图也可以。该算法要求图中不存在负权边。算法过程求A到其他节点的最短路径:维护三个东西,从A到其他节点的路径长度队列Queue,数组visited用于记录已保存最短路径的节点,数组res用于记录节点A到其他节点的最短路径。开始时,Queue中只有A节点自己,三组数据如下:Queue:[(A, 0)] 起始节点为A,A到A的距离为0visited

2020-06-10 22:04:59 1045

原创 【算法分析与设计】图:bellman-ford算法

介绍Bellman-Ford 算法是一种用于计算带权有向图中单源最短路径(SSSP:Single-Source Shortest Path)的算法。该算法由 Richard Bellman 和 Lester Ford 分别发表于 1958 年和 1956 年,而实际上 Edward F. Moore 也在 1957 年发布了相同的算法,因此,此算法也常被称为 Bellman-Ford-Moore 算法。Bellman-Ford 算法和 Dijkstra 算法同为解决单源最短路径的算法。对于带权有向图 G

2020-06-09 21:21:06 608

javax.persistence.Entity 的jar包文件

这是一个javax.persistence.Entity 的jar包文件。有时候创建JPA工程导入EclipseLink库的时候会缺少这种文件,可以选择在库中加入这个jar包即可

2019-04-28

空空如也

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

TA关注的人

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