自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HTTP协议

HTTP 请求报文HTTP方法 Get与Post区别HTTP状态码1XX 信息 100 Continue :表明到目前为止都很正常,客户端可以继续发送请求或者忽略这个响应。 2XX 成功 200 OK 204 No Content :请求已经成功处理,但是返回的响应报文不包含实体的主体部分。一般在只需要从客户端往服务器发送信息,而不...

2020-03-17 22:25:43 209

原创 LeetCode中BFS总结

广度优先搜索的搜索过程有像一层一层地进行遍历,每层遍历都以上一层遍历的结果作为起点,遍历一个长度。实现 BFS 时需要考虑以下问题: 队列:用来存储每一轮遍历的节点; 标记:对于遍历过的节点,应该将它标记,防止重复遍历。 只能用来求解无权图的最短路径问题。 典型例题就是:计算在网格中从原点到特定点的最短路径长度 。leetcode102. Bin...

2020-03-15 23:20:47 566

原创 数据库--事务实现原理

事务特性:ACID事务想要做到什么效果?按我理解,无非是要做到可靠性以及并发处理。可靠性:数据库要保证当insert或update操作时抛异常或者数据库crash的时候需要保障数据的操作前后的一致,想要做到这个,我需要知道我修改之前和修改之后的状态,所以就有了undo log和redo log。并发处理:也就是说当多个并发请求过来,并且其中有一个请求是对数据修改操作的时候会有影响,...

2020-03-15 23:20:36 1206

原创 数据库--死锁产生原因及解决方法

数据库与操作系统一样,是一个多用户使用的共享资源。当多个用户并发地存取数据时,就会产生多个事务同时存取统一数据的情况。如果对并发操作没有相应的控制就可能会导致读取和存储不正确的数据,破坏了数据库的一致性。 加锁(读锁和写锁)是一种控制方法,但当两个事务要一组有冲突的锁,而不能将事务继续下去的话,就会出现死锁。死锁1:用户A访问表A(锁住了表A),然后又访问表B;用户B访问表B,然...

2020-03-15 23:20:17 8109

原创 数据库--索引

索引是在存储引擎层实现的,而不是在服务器层实现的,所以不同存储引擎具有不同的索引类型和实现。索引能够轻易将查询性能提升几个数量级。对于非常小的表、大部分情况下简单的全表扫描比建立索引更高效。对于中到大型的表,索引就非常有效。但是对于特大型的表,建立和使用索引的代价将会随之增长。这种情况下,需要用到一种技术可以直接区分出需要查询的一组数据,而不是一条记录一条记录地匹配,例如可以使用分区技术。...

2020-03-15 23:20:03 310

原创 数据库--乐观锁与悲观锁

乐观锁和悲观锁是什么?乐观锁 总是假设最好的情况,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但在更新的时候会判断一下数据有没有被别人更改过。可以使用版本号机制和CAS实现。乐观锁用于多读操作的场景,冲突发生很少。 可以提高吞吐量。 比如数据库的write_condition机制 也是一种乐观锁。Java中的 java.util.concurrent....

2020-03-15 23:19:42 219

转载 Java内存溢出和内存泄露

一、为什么要了解内存泄露和内存溢出?1、内存泄露一般是代码设计存在缺陷导致的,通过了解内存泄露的场景,可以避免不必要的内存溢出和提高自己的代码编写水平;2、通过了解内存溢出的几种常见情况,可以在出现内存溢出的时候快速的定位问题的位置,缩短解决故障的时间。二、基本概念内存泄露:指程序中动态分配内存给一些临时对象,但是对象不会被GC所回收,它始终占用内存。即被分配的对象可达但已无...

2020-03-15 23:19:20 231

原创 java泛型类

泛型:把类型明确的工作推迟到创建对象或调用方法的时候才去明确的特殊的类型。为什么需要泛型?我们知道使用Object可以来表示任意类型,但它向下转型有强转的问题,会导致程序不太安全。在集合类中泛型随处可见,那么试想一下,如果集合类中没有泛型会是怎样的呢?因为Map这些集合对元素的类型没有任何限制,我把Dog对象或Cat对象扔进去集合中,集合也不知道元素类型是什么,只知道它们都是各O...

2020-03-07 10:53:13 146

原创 LeetCode中桶排序问题

桶排序

2020-03-04 23:06:53 972

原创 TopK问题之堆排序

堆排序用于求解 TopK Elements 问题,通过维护一个大小为 K 的堆,堆中的元素就是 TopK Elements。当然它也可以用于求解 Kth Element 问题,因为最后出堆的那个元素就是 Kth Element。 快速选择也可以求解 TopK Elements 问题,因为找到 Kth Element 之后,再遍历一次数组,所有小于等于 Kth E...

2020-03-01 20:59:53 288

原创 死锁原因

1.交叉锁会导致程序死锁这个大家都很熟悉了,就是线程A持有R1的锁又想获取R2的锁,线程B持有R2的锁又想获取R1的锁。两个谁也不放弃自己的又想要对方的,就导致死锁了。一般交叉引起的死锁线程都会进入BLOCKED状态,CPU资源占用不高,可以借助jstack或jconsole工具诊断。2.内存不足如两个线程A和B执行某个任务,A已获取10MB内存,B已获取20MB内存,它们执行都需...

2020-03-01 20:23:36 266

空空如也

空空如也

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

TA关注的人

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