- 博客(79)
- 收藏
- 关注
原创 Java 集合的常用操作(ArrayList, LinkedList, HashSet, HashMap)
在算法题中,经常要用到集合,在此作以记录总结。
2022-11-19 18:04:39
1109
原创 SpringBoot 面试题总结 (JavaGuide)
用 JavaGuide 复习 SpringBoot 时,找到一些面试题,没有答案,自己在网上找资料总结了一些,有些答案的来源比较杂忘了没有标注,望见谅。
2022-10-29 16:39:17
3777
原创 懒汉式单例模式--双重检查锁
懒汉式单例模式--双重检查锁;内存屏障;volatile:可见性、有序性;static:静态的(懒汉式);synchronized:原子性、可见性、有序性;双重检查:两个 if 判断;
2022-10-19 11:16:03
458
原创 MySQL 45 讲 | 17 如何正确地显示随机消息?
介绍了MySQL对临时表排序的执行过程;order by rand()使用了内存临时表,内存临时表排序的时候使用了rowid排序方法 ;临时表过大时,使用磁盘临时表,使用优先队列排序算法(最大堆);随机算法中代码配合拼接SQL语句;
2022-09-20 12:10:15
150
原创 MySQL 45 讲 | 16 “order by”是怎么工作的?
order by语句的几种算法流程;全字段排序,可能会用到外部排序;rowid排序;如果MySQL认为内存足够大,会优先选择全字段排序;使用索引可以提高效率,不需要临时表,不需要排序
2022-09-17 12:41:44
617
原创 MySQL 45 讲 | 14 count(*)这么慢,我该怎么办?
计算一个表的行数的语句为:` select count(*) fromt `。 本文介绍`count(*)`语句是怎样实现的,以及MySQL为什么会这么实现。如果应用中有这种频繁变更并需要统计表行数的需求,业务设计上可以怎么做。...
2022-08-25 20:08:26
305
原创 MySQL 45 讲 | 13 为什么表数据删掉一半,表文件大小不变?
数据库中收缩表空间的方法;delete掉表里面不用的数据的话,表文件的大小是不会变的;通过alter table命令重建表,才能达到表文件变小的目的;重建表的两种实现方式:Online DDL的方式是可以考虑在业务低峰期使用的;MySQL 5.5及之前的版本,这个命令是会阻塞DML的......
2022-08-16 17:11:31
354
原创 MySQL 45 讲 | 12 为什么我的MySQL会“抖”一下?
平时执行很快的更新操作,其实就是在写内存和日志,而 MySQL偶尔“抖”一下的那个瞬间,可能就是在刷脏页(flush)
2022-08-12 17:37:11
112
原创 MySQL 45 讲 | 11 怎么给字符串字段加索引?
字符串字段创建索引的场景。创建完整索引,比较占用空间;创建前缀索引,节省空间,但会增加查询扫描次数,并且不能使用覆盖索引;倒序存储,再创建前缀索引,用于绕过字符串本身前缀的区分度不够的问题,不支持范围扫描 ;hash字段索引,查询性能稳定,有额外的存储和计算消耗,不支持范围扫描。......
2022-08-02 22:27:43
204
原创 MySQL 45 讲 | 10 MySQL为什么有时候会选错索引?
索引统计的更新机制,优化器存在选错索引的可能性。对于由于索引统计信息不准确导致的问题,可以用analyze table来解决。而对于其他优化器误判的情况,可以在应用端用force index来强行指定索引,也可以通过修改语句来引导优化器,还可以通过增加或者删除索引来绕过这个问题。...
2022-08-01 23:06:30
185
原创 MySQL 45 讲 | 07 行锁功过:怎么减少行锁对性能的影响?
MySQL的行锁是在引擎层由各个引擎自己实现的。但并不是所有的引擎都支持行锁,比如 MyISAM 引擎就不支持行锁。行锁就是针对数据表中行记录的锁 。
2022-07-25 16:58:16
310
原创 MySQL 45讲 | 06 全局锁和表锁 :给表加个字段怎么有这么多阻碍?
数据库锁设计的初衷是**处理并发问题**。 根据加锁的范围,MySQL里面的锁大致可以分成**全局锁**、**表级锁**和**行锁**三类。
2022-07-22 22:18:11
251
原创 MySQL 45讲 | 04 深入浅出索引(上)
分析了数据库引擎可用的数据结构。介绍了InnoDB采用的**B+树**结构。为什么 InnoDB要这么选择?由于InnoDB是索引组织表,一般情况建议创建一个**自增主键**,这样非主键索引占用的空间最小。但也有使用**业务逻辑字段**做主键的应用场景。...
2022-06-17 17:24:10
102
原创 MySQL 45讲 03 | 事务隔离:为什么你改了我还看不见?
简单来说,事务就是要保证一组数据库操作,要么全部成功,要么全部失败。在MySQL中,事 务支持是在引擎层实现的。本文以InnoDB为例,剖析MySQL在事务支持方面的特定实现,并基于原理给 出相应的实践建议。......
2022-06-14 21:47:03
111
原创 MySQL 45讲 | 02 日志系统:一条SQL更新语句是如何执行的?
一条SQL更新语句是如何执行的?重要的日志模块: 重要的日志模块:redo log;重要的日志模块: 重要的日志模块:binlog ;两阶段提交。
2022-06-13 16:46:19
110
原创 正则表达式 | 浅解
正则表达式是一个强大的字符串处理工具,可以对字符串进行查找、提取、分割、替换等操作。是一个用于匹配字符串的模板。正则表达式是一组由字母和符号组成的特殊文本,它可以用来从文本中找出满足你想要的格式的句子。...
2022-06-10 16:22:31
425
原创 Lambda表达式 | 浅解
Lambda表达式支持将代码块作为方法参数,允许使用更简洁的代码来创建只有一个抽象方法的接口(被称为函数式接口)的实例。
2022-06-08 20:00:30
160
转载 35. 搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。
2022-06-02 11:35:52
106
原创 Git上传文件代码到GitHub(超详细)
Git上传文件代码到GitHub(超详细)。之前用git上传代码到GitHub上,时间一长又忘了,总结一下写下来,后面上传忘了再看。
2022-05-25 16:33:23
33738
7
原创 全部查询和搜索模糊查询
全部查询和搜索模糊查询的复用,包括Mapper.xml 代码,Controller.java代码,和遇到的问题及解决方法。
2022-04-02 00:23:38
1019
原创 JDK动态代理
在java的java.lang.reflect包下提供了一个Proxy类和一个InvocationHandler接口,通过Proxy类和InvocationHandler接口可以生成JDK动态代理类和动态代理对象。
2022-03-23 21:15:44
597
转载 LeetCode 28.实现 strStr()
28.实现 strStr()实现 strStr() 函数。给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回 -1 。
2021-12-23 22:18:51
84
原创 《疯狂java讲义》第18章 类加载机制与反射
本章将重点介绍java.lang.reflect包下的接口和类,包括Class、Method、Field、Constructor和Array等,这些类分别代表类、方法、成员变量、构造器和数组,Java程序可以使用这些类动态地获取某个对象、某个类的运行时信息,并可以动态地创建Java对象,动态地调用Java方法,访问并修改指定对象的成员变量值。
2021-12-23 17:21:20
209
原创 URL 下载文件
URL 下载文件(1)下载地址(文件,图片,音乐,视频的资源地址)(2)连接到资源HTTP(3)写数据到文件(IO流)(4)关闭流(一层一层关闭)class URLDown(){ public static void main(String[] args) throws IOException{ //1.下载地址,文件的地址 URL url = new URL("https://img-home.csdnimg.cn/images/20201124032511.png"); /
2021-12-22 16:11:52
717
原创 《疯狂java讲义》第17章 网络编程
本章将主要介绍Java网络通信的支持,通过这些网络支持类,Java程序可以非常方便地访问互联网上的HTTP服务、FTP服务等,并可以直接取得互联网上的远程资源,还可以向远程资源发送GET、POST请求。
2021-12-20 22:40:08
899
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人