自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 环形链表(粗略的证明)

参考文献b站视频leetcode题解_路飞环形链表IIpublic ListNode detectCycle(ListNode head) { ListNode fast = head; ListNode slow = head; while (true){ if (fast == null || fast.next == null) { return null; } fast = fast.next.nex

2020-10-10 10:24:09 127

原创 插入操作 LinkedList 一定比 ArrayList 高效吗?

参考文献Java 程序员,别用 Stack?!实例演示public static void main(String[] args) { List<Integer> list1 = new ArrayList<>(); List<Integer> list2 = new LinkedList<>(); long start = System.currentTimeMillis(); f

2020-09-12 15:00:15 141

原创 win 10 日历同步到华为荣耀10

步骤: 详细步骤, 基本就是这个步骤将 微软账号绑定其他别名(xxxx.outlook.com),并设定为主别名.使用上面的 outlook 账号登录手机自带的电子邮件 Exchange.第三步, 手机日历绑定 outlook 邮箱.第四步测试: 在 win 10 上 outlook 账号下 添加新的安排,会同步到手机上的日历中....

2020-09-04 13:38:17 794

原创 线程池复习

文章目录0. 基础知识Java 线程模型创建线程的方式线程的生命周期sleep,wait,park 区别中断对线程的影响守护线程Java 内存模型(JMM)1. FutureTaskFutureTask,Future ,Runnabletask 的状态构造方法rungetcancel2. ThreadPoolExecutor体系结构线程池的构造方法线程池的生命周期线程池状态转换的方法方法调用链executeaddWorker (mainLock)WorkrunWorker(w.lock())getTaskp

2020-08-24 22:29:31 398 4

原创 HashMap 线程不安全的例子

public static void main(String[] args) throws InterruptedException {// Map<Integer, Integer> map = new HashMap<>(); Map<Integer, Integer> map = new ConcurrentHashMap<>(); CountDownLatch countDownLatch = new

2020-08-16 10:37:31 668

原创 Redis复习大纲

文章目录1. I/O 多路复用Redis 为什么快?预备知识selectpollepollRedis I/O 多路复用的封装2. 事务介绍事务的实现watch事务 ACID==先把常见的问题看了, 剩下的再说==3. 过期策略基本介绍结构过期键的删除方式4. 缓存问题缓存淘汰策略缓存穿透缓存雪崩(很多key同时失效)缓存击穿(单个key,热点key)缓存击穿解决方案==[ setnx](https://blog.huoding.com/2015/09/14/463)==数据一致性5. 持久化介绍RDB**A

2020-08-14 22:18:34 254

原创 Redis常用数据结构

文章目录1. 底层数据结构简单动态字符串_sds链表_list=>linkedlist字典_dict=>hashtable跳跃表_skiplist整数集合_intset压缩列表_ziplist2. Redis 常用数据结构Redis对象string 对象list 对象hash 对象set 对象zset 对象键空间redis 数据库3. 位图简介使用场景4. HyperLogLog5. GEO1. 底层数据结构简单动态字符串_sds参考文献Redis详解(四)------ redis

2020-08-10 13:38:56 206

原创 MySQL复习大纲

文章目录1. 基础结构2. InnoDB 的三大特性insert bufferdoublewrite自适应哈希索引3. 日志文件MySQL 层面的日志InnoDB 存储引擎的日志4. 表InnoDB 中的表称为 索引组织表表的逻辑存储结构InnoDB 行记录格式数据页结构之 ==Page Directory(页目录)==约束5.索引索引的分类为何选择 B+ 树?聚集索引和辅助索引索引选择相关6. 锁MySQL 中锁的分类InnoDB 存储引擎中的锁 (lock 类型)每种锁具体的含义7. 事务事务特点及实

2020-08-05 22:34:54 472

转载 MySQL 事务实现_undo_redo

阅读目录(Content)1 undo1.1 undo是啥1.2 undo参数1.3 undo空间管理2 redo2.1 redo是啥2.2 redo 参数2.3 redo 空间管理3 undo及redo如何记录事务3.1 Undo + Redo事务的简化过程3.2  IO影响3.3 恢复     在数据库系统中,既有存放数据的文件,也有存放日志的文件。日志在内存中也是有缓存Log buffer,也有磁盘文件log file,本文主要描述存放日志的文件。&n

2020-08-04 19:51:20 194

原创 JUC_AQS_相关

文章目录1. AbstractQueuedSynchronizer1.0 AQS 和 其他同步组件的关系1.1 ==LockSupport 的 park() 和 unpark()==1.2 AQS 的独占锁模式1.3 AQS 总结2. ==ReentrantLock==2.1 自己动手写一个锁2.2 ReentrantLock(独占锁)2.3 独占锁 & 公平锁 [lock,unlock]2.4 独占锁 & 非公平锁[lock,unlock]2.5 lockInterruptibly()2.

2020-07-29 22:35:55 191 2

原创 java容器

文章目录1.概览2.List2.1 ArrayList(✔)2.2 LinkedList(✔)2.3 Vector(✔)2.4 CopyOnWriteArrayList(✔)3.Map3.1 HashMap3.2 LinkedHashMap(✔)3.3 WeakHashMap(✔)3.4 TreeMap3.5 ConcurrentHashMap(✔)3.6 ConcurrentSkipListMap4. Set4.1 HashSet4.2 LinkedHashSet4.3 TreeSet4.4 CopyOn

2020-07-22 13:35:33 156

原创 CAS

文章目录1. CAS1.1 count++ 问题1.2 自己实现 CAS1.3 JDK 中的 CAS1.4 存在的问题2. LongAdder2.0 参考文献2.1 AtomicLong 存在的问题2.2 LongAdder 解决以及带来的问题2.3 AtomicLong VS LongAdder2.4 源码阅读1. CAS1.1 count++ 问题public class Test { private int count =0; void add(){ count+

2020-07-18 19:59:25 184

原创 java基础常见问题总结_不断完善

文章目录1. Integer vs int2. 关键字3.String4. 参数传递5. 类型转换6. switch7. 抽象类和接口8. 重写 vs 重载9. Object10. 反射11. 异常12.注解13. 新特性1. Integer vs int范围 -2^31 ~ 2^31-1装箱(自动调用valueOf)/拆箱new Integer(123) Integer.valueOf(123)private static class IntegerCache sta

2020-07-15 14:51:24 166

原创 Java 异常处理最佳实践

文章目录1.来源2.一般规范3.实例说明3.1 Example1.java3.2 Example2.java3.3 Example3.java3.4 Example4.java3.5 Example5.java3.6 Example6.java3.7 Example7.java3.8 Example8.java3.9 Example9.java1.来源B站视频代码2.一般规范先讲规范,再讲实例不要在 try 中关闭资源 Example1在finally 中或者使用 Java8的语法糖

2020-06-30 21:01:16 159

原创 踩坑系统之基于 maven 的 SSM 项目 junit 多次执行

文章目录1. 问题展示(困扰了好多天,吐了)2. 解决方案3. 参考文献1. 问题展示(困扰了好多天,吐了)只执行一次 run test,但是会执行两次 findAllAreaTest 方法。通过 debug 在mapper.findxxx 打断点,发现未进入断点就已经执行了一次该方法(info.log中看到日志了)最终定位到问题:可能是会执行 maven 的 test ,然后在执行一次进入断点?(只是猜测)2. 解决方案在这里跳过测试3. 参考文献Maven进行测试Te

2020-06-30 12:32:55 194

原创 整合SSM的Demo

文章目录1.版本选择2.使用 maven 创建项目(项目结构)image-202006261157148733.pom.xml4. 配置文件(resources下)spring 的配置文件 (applicationContext.xml)springmvc-config.xmlmybatis-config.xmljdbc.propertieslog4j.propertiesmapper/mapper.xmlweb.xml5. 测试页面user.jspcontrollerUserLoginController

2020-06-26 12:33:38 124

原创 踩坑系列_IDEA 中 Maven 项目test 目录 junit 找不到类

文章目录1.错误示范2.修改成功3.小结1.错误示范2.修改成功3.小结test sources root / sources root 都是在 main / test 子文件夹下 mark as 的mark as 后,这个不算包的一个部分

2020-06-22 08:38:54 2525 1

原创 动态规划(剑指offer&leetcode)

文章目录1.剑指 offer1.1 剪绳子1.剑指 offer1.1 剪绳子题目:分析: 参考f(n) 就是长度为 n 的绳子,剪成若干段后乘积的最大值长度 n = 1,为0长度 n = 2,为 1x1=2长度 n = 3,为 1x2; 即第一刀 是剪下 1,剩下的就是 n=2, 或者第一刀是2 剩下的是1,和前面的情况相同 即 f(1)xf(2)长度 n = 4,为 1x3=3/2x2=4, 即第一刀剪1 剩下的就是长度为3 的,或者第一刀剪下2,剩下的就是 n = 2. 即 f

2020-06-21 14:49:37 153

转载 如何设计登录一个网站的登录功能

文章目录0.来源1.初期用户量较少用户名密码方式手机号注册方式数据库设计2.引入第三方账号方案以QQ登录为例数据库设计3.总结0.来源参考 芋道源码公众号的一篇文章1.初期用户量较少用户名密码方式流程说明手机号注册方式流程说明数据库设计2.引入第三方账号方案以QQ登录为例QQ-SDK 登录逻辑时序图数据库设计3.总结第三方用户接入技术上比较简单,设计 user_thirds 是用来支持后续更多的第三方登录的接入这是简单的设计方案,用户量大的情况要另作考虑

2020-06-19 09:25:19 335

原创 3.MySQL技术内幕InnoDB 存储引擎

剩余笔记采用脑图的方式记录存放在 码云,获取比较方便,网速快看完的第一本技术书籍,收获挺多,疑惑也很多,待后面在回顾,加深理解结合丁奇 的 MySQL 45 讲 在深入理解

2020-06-14 14:40:25 96

转载 MySQL的Redo Undo log到底干啥

阅读目录(Content)1 undo1.1 undo是啥1.2 undo参数1.3 undo空间管理2 redo2.1 redo是啥2.2 redo 参数2.3 redo 空间管理3 undo及redo如何记录事务3.1 Undo + Redo事务的简化过程3.2  IO影响3.3 恢复     在数据库系统中,既有存放数据的文件,也有存放日志的文件。日志在内存中也是有缓存Log buffer,也有磁盘文件log file,本文主要描述存放日志的文件。&n

2020-06-11 09:42:17 155

转载 史上最全的select加锁分析(MySQL)

引言大家在面试中有没遇到面试官问你下面六句Sql的区别呢select * from table where id = ?select * from table where id < ?select * from table where id = ? lock in share modeselect * from table where id < ? lock in share modeselect * from table where id = ? for updateselect

2020-06-06 21:35:43 156

原创 I.常用的数据结构

拉钩300分钟搞定面试算法

2020-06-05 19:52:22 283

原创 集合排序

文章目录1. compare VS compareTo2. 数组/集合排序1. compare VS compareTo参考文献:​ Comparable方法中的compareTo方法的返回值的正负 判断升序 还是 降序 //Comparator 的 comparepublic interface Comparator<T> { //o1 - o2 正序 int compare(T o1, T o2); //return o1-o2 正序} //

2020-05-28 22:26:11 113

原创 MySQL 事务的隔离级别实操

文章目录1. 环境准备2. 脏读3. 不可重复读4. 幻读1. 环境准备#创建数据库CREATE DATABASE mysqlInnoDB;USE mysqlInnoDB;#建表CREATE TABLE `tb_bank` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(16) COLLATE utf8_bin DEFAULT NULL, `account` int(11) DEFAULT NULL, PRIMARY

2020-05-26 21:00:14 165

原创 字符编码大总结

参考文献(参考文章较多,未一一列出):字符集和编码详解(学习,看一篇就够了)字符,字节和编码字符编码详解——彻底理解掌握编码知识,“乱码”不复存在各种字符集和编码详解文章目录1. 字符集和字符编码1.1 字节 字符1.2 字符集 和 字符编码1.3 内码2. 编码方式2.1 ASCII码2.2 ISO-8859-12.3 ANSI 编码规范1. GB23122. GBK3. GBK180302.4 [UNICODE 编码规范](https://zh.wikipedia.org/zh-cn/Unic

2020-05-25 12:40:00 426

转载 typora + picgo + gitee

typora + picgo + gitee 实现typora写博客,然后直接导入 csdn

2020-05-22 21:33:45 142

原创 2.复杂度分析

文章目录1.大 O 时间复杂度表示法1.0 常见时间复杂度1.1 O(log n),O(n log n)1.2 O(m+n),O(m*n)2. 空间复杂度分析3. 最好,最坏,平均,均摊复杂度3.1 平均时间复杂度(只有在特殊情况下才用到)3.2 均摊时间复杂度4.小练习1.大 O 时间复杂度表示法1.0 常见时间复杂度渐进时间复杂度加法准则:总复杂度等于量级最大的那段代码的复杂度乘法准则:嵌套代码的复杂度等于嵌套内外代码复杂度乘积从低阶到高阶:O(1)、O(logn)、O(n)、O(nl

2020-05-22 09:35:49 189

原创 1.知识图谱

知识结构介绍

2020-05-22 09:33:49 302

原创 2.1 第二章 InnoDB 关键特性

文章目录1. 插入缓冲1.1 insert buffer1.2 Change Buffer1.3 Insert Buffer 内部实现1.4 Insert Buffer Bitmap1.5 Merge Insert Buffer2. 两次写3. 自适应哈希索引(Adaptive Hash Index)4. 异步 IO(AIO)5.刷新邻接页6. 启动 关闭 与 恢复7. 小结1. 插入缓冲DQL: 数据库查询语言(select)DML:数据库操作语言(insert,updata,delete)D

2020-05-21 21:36:00 224

原创 2.0 第二章 InnoDB 存储引擎

文章目录1. InnoDB 存储引擎概述2. InnoDB 体系架构2.1后台进程2.1.1 Master Thread2.1.2 IO Thread2.1.3 Purge Thread2.1.4 Page Cleaner Thread2.2 undo /redo log2.2.1 redo log2.2.2 undo log2.3 内存2.3.1 缓冲池1.缓冲池中的数据页类型2.如何管理缓冲池(LRU,Free,Flush List)LRU List 管理引入压缩页使用 unzip_LRU List 管

2020-05-21 09:09:28 147

原创 1.MySQL体系结构和存储引擎

来源于书本的部分总结

2020-05-16 14:05:25 180

原创 leetcode_树递归

未完待续。。。1.leetcode 6711.1题目描述1.2代码利用根节点是最小值的这个特点 /* 注意: 1)最小值一定是根节点 2)求出左右子树中的最小值就是第二小的值, 且这个值不能等于 root.val(最小值),并且注意样例 [2,2,2] 3)添加 flag 标志位,确保 min 被修改(存在比最小值小的数)已知。 */ public

2020-05-15 08:15:28 148

空空如也

空空如也

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

TA关注的人

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