- 博客(104)
- 资源 (10)
- 收藏
- 关注
原创 LeetCode每日一练
LeetCode每日一练,欢迎有看到的朋友一起跟随练习2021/09/08【502. IPO】2021/09/09【68. 文本左右对齐】2021/09/08【502. IPO】题目链接:https://leetcode-cn.com/problems/ipo/2021/09/09【68. 文本左右对齐】题目链接:https://leetcode-cn.com/problems/text-justification/...
2021-09-09 11:09:59 359
转载 java中字符串拼接方式与效率分析(即+、concat、StringUtils.join、StringBuffer、StringBuilder区别)
由于String对象时不可变对象,因此在需要对字符串进行修改操作时(如字符串连接和替换),String对象总是会生成新的对象,所以其性能相对较差。String常量的累加操作:对于静态字符串的连接操作,Java在编译时会进行彻底的优化,将多个连接操作的字符串在编译时合成一个单独的长字符串。String变量的累加操作:底层使用了StringBuilder的功能。StringBuffer和StringBuilder的扩容策略:当字符串缓冲区容量不足时,原有容量将会加倍,以新的容量来申请内存空间,建立新的ch
2021-02-24 19:56:42 8377
原创 MyBatis和ORM的区别以及Mybatis和Hibernate的区别
ORM: 即Object Relation Mapping,即对象关联映射。所以ORM就是将Java中的对象和数据库中的表关联对应起来。思考一下Mybatis,Mybatis相当于将mapper中的入参和出参结果集封装到java的POJO类中,听上去好像就是ORM啊?!但是实际上Mybatis是半ORM,它鼓励开发人员自己去写sql,也正是因为sql语句要自己写,所以Mybatis是将java方法与sql语句关联起来,而没有将java对象与数据库关联起来。这样Mybatis的好处就是如果我们懂得sql
2021-02-07 18:04:05 1264 1
原创 CSDN-markdown编辑器的使用
没别的意思就是自己记录一下,以备自己的需要,,,,你可以右上角离开了emmm这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰...
2021-02-07 15:31:22 454
原创 【每天一个java题】(持续更新。。)
写了半年的go,又要转到java。java在我的世界里只有两个字“爱过”,但是缘分又让我们在此相遇。。废话不多说,开个文章,监督自己持续学习和更新。2021/02/04
2021-02-07 15:23:52 168
转载 终于有人把“TCC分布式事务”实现原理讲明白了!
转自:大神的文章——终于有人把“TCC分布式事务”实现原理讲明白了!之前网上看到很多写分布式事务的文章,不过大多都是将分布式事务各种技术方案简单介绍一下。很多朋友看了还是不知道分布式事务到底怎么回事,在项目里到底如何使用。所以这篇文章,就用大白话+手工绘图,并结合一个电商系统的案例实践,来给大家讲清楚到底什么是 TCC 分布式事务。首先说一下,这里可能会牵扯到一些 Spring Cloud 的原理,如果有不太清楚的同学,可以参考之前的文章:拜托!面试请不要再问我Spring Cloud底层原理业务场
2020-12-14 20:24:11 537
原创 [美化deepin终端]deepin安装配置zsh、zsh相关插件及zsh的卸载
这个事情还是要从我看到后面chen哥的电脑说起,总而言之,我在chen哥那发现了好用的插件,那么我们当然也要搞来耍耍啊。然后就这么突然,我按照chen哥给的方法,踩坑无数啊,然后昨天晚上还没搞成它的样子。今天早晨一来,我就一怒之下给它卸载了,然后重新安装的我一路顺畅emmm,没有吐槽chen哥的意思,chen哥超牛的。重点在于我发现了chen哥用的自己电脑人家mac系统,我个deepin当然踩坑无数啊,至于为啥成功?那当然是看了deepin安装的各位大神哥哥留下来的教程啊。各位看客别走啊,重点来了!!
2020-12-03 15:56:11 3793
原创 一些开发心得总结
在实际的开发中会慢慢地受到大家的一些指导以及问题的提出,希望自己可以在工作学习生活中不断的总结下这些问题。仅以此记录自己的经验教训(可能在其他人看起来很傻,很easy,但是进步就是由一点点的问题积累出来的,自己努力才是真,总可以从别人身上学习到什么,心态take easy ok?)缓存关于缓存过期时间的设定;我们在实际的开发中可以不用把缓存的key-value的过期时间写死,可以写成一个相对动态的概念。即比如我们在缓存中要存一个token,而这个token的value过期时间为一天24小时,那么正
2020-11-17 16:38:20 335 1
原创 php语言根据回车换行符来分割字符串
我们的生活中总会遇到各种问题,比如用php开发时,我们发送一个post请求,然后请求回来的结果输出的是这种class xxx{ public $res =>class xxx1 { private $xxx => array(){ ... } } public $data => string(376)"HTTP/1.1 200 OK Server:xxxx Date:Wed, 09 Sep 2020 xx:xx:xx Content-Len
2020-11-05 20:40:34 6062
原创 聊聊linux文件相关的三种时间
linux文件相关的三种时间modification time(mtime):文件的内容而非文件属性或权限发生改变时,就会更新这个时间。status time(ctime):文件的状态改变(如权限和属性被改变了)就会更新这个时间access time(atime):文件的内容被取用时就会更新这个读取时间(如我们用cat读了这个文件的时候)使用ls指令时候默认显示文件的mtime,即内容上次被改动的时间...
2020-10-22 20:05:53 107
原创 聊聊linux中的执行文件路径的变量$PATH
执行文件路径的变量$PATH来看一下下面这个操作可以发现查阅文件属性的指令ls就是/bin/ls指令,我们从指令的形式可以发现/bin/ls就是以绝对路径来执行指令,(这里提醒一下根目录下好像并没有bin文件夹,诶等等,仔细想想?没错根目录里虽然没有bin目录,但是有usr目录啊!所以/bin/ls实际上也是/usr/bin/ls指令,所以这里强调一下/bin是连结到/usr/bin当中嗷~)所以我们在任何目录下都可以执行/bin/ls指令,那么为啥我们在任何目录都可以输入ls指令来查看到文件路径
2020-10-20 14:35:47 584
原创 聊聊linux中的绝对路径和相对路径
绝对路径和相对路径绝对路径由根目录(/)开始写起的文件名或目录名,如/home/xxxx/.bashrc相对路径即相对于目前路径的文件名写法。如./home/xxxx/.bashrc。基本上当开头不是/的时候就属于相对路径的写法比如当前在/home路径下想进入/var/log目录时可以发现在根目录下存在home和var两个文件夹那么绝对路径的写法$cd /var/log这里展示了一下在/home/xxx/Downloads下通过绝对路径进入/var/log的情况,发现和在/home
2020-10-14 10:39:29 1172
原创 聊聊linux中的文件种类、文件名、文件扩展名
linux中的文件种类、文件名、文件扩展名详解在使用$ls -l指令后可以看到文件的类型,其中第一个字符就是代表的文件的类型,常见的文件类型是一般文件-和目录文件d文件的类型1.正规文件(regular file),即一般进行存取的类型文件,第一个字符为 - 。纯文本档(ASCII)这种是linux系统总最多的一种文件类型,因为其内容可以被我们直接读到,比如字母数字等等,所以被我们成为了纯文本档。二进制文件(binary)linux系统中的可执行文件,比如cat ~./bashrc中的cat指令
2020-10-12 17:37:40 1254
原创 聊聊linux中的chmod指令和文件权限
众所周知:chmod指令是用来改变文件权限的指令那么我们先来讨论一下文件权限文件权限的设定方式有两种方式先举例一个文件权限字符哈,比如这种-rwxrwxrwx,其中三个为一组,三组分别代表所有者、群组、其他人所持有的权限程度数字变更权限数字变更权限即用数字来代表各个权限,那么各个权限对应的数字权重分别为r:4 读w:2 写x:1 可执行那么上面提到的三组分别持有的权限级别就是这三种权限的相加和的级别,针对上面样例来说三组的权限都为7,所以在这种情况下三组的权限级别是相同的。比如
2020-09-29 18:09:39 484
原创 总结一下linux中重要热键
linux中重要热键[Tab]按键[Tab]具有命令补全、文件补齐的功能。使用[Tab]就可以避免我们在写指令的过程中输入错命令或者文件名那么我们啥时候用呢?我们记不清命令时,[Tab]按在一串指令的第一个词位置时;比如我想编写下文件,只记得vi,然后我蒙了,那么我输入vi,然后按两下[Tab],就会出现下面现象,然后你就选出来想用的那个命令吧。我们记不清文件全名或者想看看这个目录下我能查看的这个前缀的相关文件名时,[Tab]按在一串指令的第二个词位置时;比如我在这想看看我能编辑的以新
2020-09-27 16:40:55 281
原创 deepin系统下安装jdk、安装java环境、安装maven
linux系统安装java环境简直不要太爽第一步:打开下面的网址,下载个jdk,我这里下载的是jdk1.8.0_261https://www.oracle.com/cn/java/technologies/javase/javase-jdk8-downloads.html如果各位下载慢我就附赠一个我这个版本的链接因为我是deepin系统所以我下载的是jdk-8u261-linux-i586.tar.gz这个文件第二步:解压~其中参数-C后面的路径是解压缩的目标路径,记得看一下你这个压缩包所在的
2020-09-23 19:56:23 844
原创 Linux指令大全(持续更新中)
学习linux的过程,得学会用指令啊对吧,动起你的小手手敲一敲这些命令吧!!(本人也在不断的补充学习这些东西,持续更新ing。。可能对一些指令还会有深入的了解与学习会单独出文章,但是会在本文章里指路的,一起努力学习吧)纯文本界面下启动窗口界面的做法$ startx====>注:linux小常识~符号:代表用户的家目录嗷!root超管的家目录在/root下嗷!所以~ = /root那么用户小tianyu的家目录就在/home/tianyu嗷!那么root超管的提示符就很特殊!是 #
2020-09-23 09:57:57 678
转载 Golang 获取http状态码
golang语言在提交了get或post请求后,服务器会返回一个请求结果,那么想要获取http响应的状态码就可以使用res.StatusCode来获得一个整型的状态值package main//获取http状态码import ( "fmt" "net/http" "net/url")func main() { u, _ := url.Parse("http://www.baidu.com") q := u.Query() u.RawQuery = q.Encode() res,
2020-09-17 15:05:22 6415
原创 maven的pom出现:Failed to read artifact descriptor for org.springframework.boot:***及查找maven本地库在哪及jar包在哪
maven的pom文件出现:Failed to read artifact descriptor for org.springframework.boot:***问题对于有波浪线的dependency,将其从pom中删除,保存后,再撤销回来,一般这样都可以解决问题当上面方法不管用的时候,我这里出现的是Failed to read artifact descriptor for org.springframework.boot:spring-boot-starter-data-tomcat:jar 错误
2020-09-06 22:48:27 828
原创 Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as
今天想开始写个java的项目,在用maven生成项目跑的时候出现了这个问题:Whitelabel Error PageThis application has no explicit mapping for /error, so you are seeing this as a fallback.Sun Sep 06 22:22:42 CST 2020There was an unexpected error (type=Internal Server Error, status=500).Exc
2020-09-06 22:28:47 1867
原创 【go语言RPC编程】2.go语言实现rpc编程
RPC的官方库在go语言中,其官方网站的pkg说明中,提供了官方支持的rpc包,指路:官方提供的rpc完整包名为net/rpc,而rpc包主要是提供通过网络访问一个对象方法的功能。所以我们实现RPC的调用也是使用了这个rpc包。使用net/rpc库实现RPC调用编程Rpc调用的两个参与者分别为客户端(client)和服务器(sever)服务器就是提供方法暴露的一方。1.服务的定义及暴露实际编程过程中,服务器端需要注册结构体对象,通过对象所属方法暴露给调用者,从而提供服务,该方法称之为输出方法
2020-08-16 00:25:51 360
原创 【Golang】举例讲解golang中的defer关键字定义及用法
defer: “延迟”,“推迟”defer的作用:在go中,使用defer关键字来延迟一个函数或者方法的执行被延迟了。如果一个函数使用了defer关键字,那么就会等主函数中所有程序执行完,在执行这个函数内的程序。defer的用法:对象.close()一般来说defer常用于文件的读写,我们在打开文件的时候一般会使用文件.open(),但是我们可能很容易忘记close文件,那么我们可以在调用open函数时,用defer直接顺手调用好close()。go中关于异常的处理,通常使用panic()和r
2020-08-11 00:21:05 378
原创 【go语言RPC编程】1.RPC简介与原理
RPC框架与其他框架的不同传统的形式是所有的需求都集成在一起,各部分连接紧密,而RPC则是强调一种分布式的感觉,各个部分的需求分散处理,耦合性更低。RPC简介RPC: Remote Procedure Call Protocol缩写,简称RPC,即远程过程调用协议特点:这种调用的过程跨越了物理服务器的限制,在网络中完成,在调用远端服务器上的程序的过程中,本地程序等待返回调用结果,直到远端程序执行完毕,将结果进行返回到本地,最终完成一次完整的调用。所以远程过程调用就是调用远程服务器上的程序的方法整个
2020-08-09 23:51:08 273
原创 Docker容器的相关概念与Docker的使用
一、一些概念镜像docker支持随机创建、销毁,当任务需要创建一台实例时,只需要在设备池中虚拟化出一台资源机,挂载私有网络,遍完成了实例创建。当然,服务器除了硬件资源,还需要软件资源,包含操作系统、容器、中间件等配合,因此,实例化docker之后,我们还得创建操作系统、安装我们的容器配置。那么,若能把这些所需要的内容进行统一打包,然后顺势“解压”到服务器上,直接完成基本环境部署。这就需要镜像文件的协助。镜像(Mirroring)是冗余的一种类型,一个磁盘上的数据在另一个磁盘上存在一个完全相同的副本
2020-08-03 17:42:39 158
原创 【Golang】14.用代码形式总结go的并发
package main// go的并发// 需要通过go关键字来开启goroutine,goroutine属于轻量级线程,goroutine的调度是由Golang运行时进行管理的,这里可以参考我的第一篇关于go的文章func main() {}
2020-07-29 00:37:28 133
原创 【Golang】13.用代码形式总结go的错误处理
package mainimport “fmt”// go的错误处理// go中内置了错误接口,所以error类型是一个接口类型,定义如下/*type error interface {Error() string}*/// 编码中主要通过error接口来生成错误信息,在日常使用中通常在函数的最后返回值那里返回错误信息// 主要使用errors.New()来返回错误信息type DivideError struct {beichushu intchushu int}func (
2020-07-27 21:03:49 137
原创 【Golang】12.用代码形式总结go的接口interface
package mainimport "fmt"// go的接口// go的接口是把所有的具有共性的方法定义在一起,任何其他类型只要实现了这些方法就是实现了这个接口/* 定义接口 *//* type 接口名 interface { 方法1 [返回类型] 方法2 [返回类型] 方法3 [返回类型] ... 方法n [返回类型] }*//* 定义结构体 *//* type 结构体名 struct { }*//* 实现接口方法 *//* func (结
2020-07-27 09:38:36 130
原创 【Golang】11.用代码形式展示go的类型转换
package mainimport "fmt"// go类型转换// 类型转换用于将一种数据类型的变量转换为另外一种类型的变量。Go语言类型转换基本格式为 类型(表达式)func main() { var beichushu int = 17 var chushu int = 5 var ret float64 = float64(beichushu)/float64(chushu) fmt.Println(ret)}...
2020-07-27 09:18:12 125
原创 【Golang】10.用代码形式展示go的递归函数,go语言实现阶乘,go实现斐波那契数列
package mainimport "fmt"// Go的递归调用和类型转换// 递归,就是在运行的过程中调用自己。func Factorial(x int) (result int) { if x == 0 { result = 1; } else { result = x * Factorial(x - 1); } return;}func Fibonacci(n int) int { if n < 2 { return n } return Fib
2020-07-27 00:15:49 485
原创 【Golang】9.用代码形式总结go的切片Slice与范围Range与集合Map
package mainimport ( "fmt")// go语言的切片与范围Range与map// go语言的切片是对数组的抽象,所以切片就可认为是动态数组// go语言中的数组长度不可变,但是切片比较灵活,长度不固定,可以追加元素,追加元素后切片容量增大// go语言中的range关键字用于for循环中迭代遍历数组array、切片slice、链表channel和集合map的元素。/* 数组和切片中range返回值包含数组切片的元素下标以及元素值, 在集合map中返回key和
2020-07-27 00:03:01 352
原创 【Golang】8.用代码形式总结go的结构体
package mainimport "fmt"// go的结构体/* type 结构体名 struct { 变量名 变量类型 变量名 变量类型 变量名 变量类型 。。。。。。 }*///定义结构体变量 结构体变量名 := 结构体名 {变量1, 变量2, 变量3, 。。。}// 定义一个书的结构体type Book struct{ name string author string subject string bid int}// 结构体作为函数参数
2020-07-26 21:53:06 120
原创 【Golang】7.用代码形式总结go的指针
package mainimport "fmt"// go的指针// &:取地址符,放在变量前返回相应变量的内存地址//Go语言允许向函数传递指针,只需要在函数定义的参数上设置为指针类型即可func swap(num1 *int, num2 *int) { var temp int = *num1 //保存 num1 地址的值 *num1 = *num2 //将 num2的地址 赋值给 num1 *num2 = temp //将temp中保存的num1的地址赋值给n
2020-07-26 00:27:06 104
原创 【Golang】6.代码举例总结go的数组从定义、内部实现到功能
package mainimport ( "fmt")// 数组声明// var 数组名 [数组长度] 数组类型var a = [5]float32{0.0, 5.2, 15.0, 10.0, 5.1} // 初始化数组元素个数不能大于[]中规定的数组长度var b = []float32{0.0, 3.0, 5.2} //数组长度为3// 二维数组的声明// var 数组名 [x][y] 数组类型var a2 = [3][4]int{ {0, 1, 2, 3}, {4,
2020-07-26 00:19:22 115
原创 【Golang】5.用代码形式总结go的变量作用域、全局变量、局部变量、形参
package mainimport "fmt"//go语言变量作用域/* 函数内定义的变量->局部变量 作用域:函数体内 参数和返回值:局部变量 函数外定义的变量->全局变量 可以在整个包甚至外部包(被导出后)使用,可在任何函数中使用 函数中定义的变量->形式参数 类型 初始化默认值 int 0 float32 0 pointer nil*///全局变量的声明var g intfunc getSum(num1 int, num2
2020-07-24 16:59:08 297
原创 【Golang】4.用代码形式总结go的函数部分的知识及使用
package mainimport ( "fmt" "math")//go语言函数/* func 函数名 ([参数列表]) [返回值]{ 函数体 }*///单返回值, 此形式为值传递, 不影响下面a,b实际的值func getMax(num1, num2 int) int { if(num1 > num2){ return num1 }else{ return num2 }}//返回多个参数返回值, 此形式为值传递func swap(name1 str
2020-07-24 16:15:27 148
原创 【Golang】3.用代码形式展现go的循环语句的使用
package mainimport "fmt"//循环控制结构var num1 int = 10var num2 int = 20func main() { //1.类C语言for结构 //for 赋值语句; 关系表达式/逻辑表达式; 赋值表达式(自赠自减等控制变量表达式){} for i := 0; i < 10; i++{ fmt.Println("a的值为", i) } //2.类C语言while结构 //for 关系表达式/逻辑表达式{} for nu
2020-07-23 19:44:41 138
原创 【Golang】2.用代码形式归纳Go的基础语法、数据类型、变量、常量、运算符、条件语句
package mainimport ( "fmt" "unsafe")/* go的数据类型 布尔型:bool 数字类型:int float uint8-64 int8-64 float32-64 complex64-128 byte(uint8别称) rune是代表单个Unicode字符 字符串类型:string 派生类型:指针pointer 数组类型 结构化类型struct 联合体类型union 函数类型 切片类型 接口类型interface map类型 channe
2020-07-23 17:48:59 187
C语言大作业飞机订票管理系统
2020-07-07
C语言大作业学生成绩管理系统
2020-07-07
first_try.rar图书管理系统
2019-12-24
计算机组成原理与体系结构实验课的异或指令.zip
2019-12-24
Java实验课实现绘图软件
2018-12-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人