自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据库ACID和隔离级别

其实说来说去也就三方面的概念四大隔离级别:串行化、可重复读、读已提交、读未提交;四大特性(ACID):原子性、一致性、隔离性、持久性;三个问题:脏读、不可重复度、幻读;事务的隔离级别由低到高依次为Read uncommitted(未授权读取、读未提交)、Read committed(授权读取、读提交)、Repeatable read(可重复读取)、Serializable(序列化),这四个级别可以逐个解决脏读、不可重复读、幻读这几类问题。Read uncommitted(未授权读取、读未提

2021-03-03 22:51:13 336 1

原创 计算机网络的知识点(一)

客户端:像这种通过发送请求获取服务器资源的Web浏览器等就叫做客户端。Web浏览器作为客户端,一个为服务器,Web浏览器通过指定的访问地址获取服务器上的资源,服务器使用HTTP协议的通信返回到Web浏览器。什么是HTTP协议呢?HTTP叫做超文本传输协议,它是TCP/IP协议的一个应用层协议,用于定义Web浏览器与Web服务器之间的交换数据的过程。客户端连上web服务器后,若想获得web服务器中的某个web资源,需要遵循一定的通讯格式,HTTP协议用于定义客户端和web服务器端通讯的格式。HTML

2021-03-01 18:43:52 150

原创 为什么StringBuilder线程不安全

StringBuilder相比StringBuffer效率更高,但多线程不安全;在单线程中字符串的频繁拼接使用StringBuilder效率更高,对于多线程使用StringBuffer则更安全;字符串简单操作时没必要使用上述两者,还是用String类型提高速度;@HotSpotIntrinsicCandidatepublic StringBuilder append(String str) { super.append(str); return this;}/** * A.

2021-01-11 13:05:48 118

原创 深入理解Volatile

Volatile的原理:volatile变量修饰的共享变量进行写操作时会在汇编代码前加上lock前缀,lock前缀的指令在多核处理器下会引发两件事情:将当前处理器缓存行的数据写回到系统内存该写回内存的操作会使在其他CPU里缓存了该内存地址的额数据无效Volatile特性之一:保证线程之间的可见性保证变量在线程之间的可见性。可见性的保证是基于CPU的内存屏障指令,被JSR-133抽象为happens-before原则。Volatile特性之二:禁止指令重排阻止编译时和运行时的指令重排。编译时J

2021-01-11 12:48:16 108 1

原创 Response StatusType

OK(200, “OK”),CREATED(201, “Created”),ACCEPTED(202, “Accepted”),NO_CONTENT(204, “No Content”),RESET_CONTENT(205, “Reset Content”),PARTIAL_CONTENT(206, “Partial Content”),MOVED_PERMANENTLY(301, “Moved Permanently”),FOUND(302, “Found”),SEE_OTHER(303.

2021-01-07 14:38:34 108

原创 git rebase/ git commit --amend

git commit --amend --no-edit 合并提交git push -fgit rebase -I [commit id]# Commands:# p, pick = use commit# r, reword = use commit, but edit the commit message# e, edit = use commit, but stop for amending# s, squash = use commit, but meld into previous

2021-01-07 14:29:47 332

原创 GET 和 POST请求的本质区别是什么?

Conclusion First: 到最后,问起来,get和post的最核心区别是什么?我可能会回答:在用法上,一个用于获取数据,一个用于修改数据;在根本上,没有啥区别在细节上,有一些区别,需要展开讲嘛?1. 常见区别最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。可以看到一些常见的标准答案GET在浏览器回退时是无害的,而POST会再次提交请求。GET产生的URL地址可以被Bookmark,而POST不可以。GET请求会被浏览器主动cache,

2021-01-07 12:01:53 140

转载 git merge 和 git rebase 小结

1. git mergegit merge是用来合并两个分支的。git merge b将b分支合并到当前分支同样 git rebase b,也是把 b分支合并到当前分支他们的 原理 如下:假设你现在基于远程分支"origin",创建一个叫"mywork"的分支。$ git checkout -b mywork origin假设远程分支"origin"已经有了2个提交,如图现在我们在这个分支做一些修改,然后生成两个提交(commit).$ vi file.txt$ git com

2021-01-05 19:37:14 76

原创 高质量SQL的30条建议

文章目录前言1、查询SQL尽量不要使用select *,而是select具体字段。2、如果知道查询结果只有一条或者只要最大/最小一条记录,建议用limit 13、应尽量避免在where子句中使用or来连接条件4、优化limit分页5、优化你的like语句6、使用where条件限定要查询的数据,避免返回多余的行7、尽量避免在索引列上使用mysql的内置函数8、应尽量避免在where子句中对字段进行表达式操作,这将导致系统放弃使用索引而进行全表扫描9、Inner join 、left join、right jo

2021-01-04 16:32:44 244

空空如也

空空如也

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

TA关注的人

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