- 博客(514)
- 资源 (3)
- 收藏
- 关注
原创 Git 分支详解
主分支(主干/主线/main/master)开发分支(集成分支/develop/dev)① 同时创建:仓库+分支② 已有仓库,再创建分支
2023-07-06 21:43:34
9072
2
原创 06_ MySQL优化实战
说明:索引的长度与区分度是一对矛盾体,一般对字符串类型数据,长度为 20 的索引,区分度会高达 90%以上,可以使用 count(distinct left(列名,索引长度)) / count(*) 的区分度来确定。强制】在 varchar 字段上建立索引时,必须指定索引长度,没必要对全字段建立索引,根据实际文本区分度决定索引长度。
2023-06-09 11:09:04
1630
原创 05_MySQL索引优化
四种:1.主键 2.单值 3.唯一 4.复合mysql5.6以后优化器做了很多改进,执行时会自动进行大量的优化,很多现象需要在5.5才能演示成功。使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的。分析你的查询语句或是表结构的表的读取顺序那些索引可以使用数据读取操作的操作类型那些索引被实际使用表之间的引用每张表有多少行被物理查询select查询的序列号,表示查询中执行select子句或操作表的顺序id为NULL最后执行。
2023-06-09 11:02:01
1427
原创 04_索引的使用场景
Why:提高了查询速度,同时却会降低更新表的速度,如对表进行INSERT、UPDATE和DELETE。因为更新表时,MySQL不仅要保存数据,还要保存一下索引文件。查询中排序的字段,排序字段若通过索引去访问将大大提高排序速度。单键/组合索引的选择问题, 组合索引性价比更高。查询中与其它表关联的字段,外键关系建立索引。Where条件里用不到的字段不创建索引。频繁作为查询条件的字段应该创建索引。经常增删改的表或者字段。过滤性不好的不适合建索引。查询中统计或者分组字段。有大量重复数据的列上。
2023-06-09 09:24:38
1634
原创 02_MySQL的索引结构
一颗b树,浅蓝色的块我们称之为一个磁盘块(innodb默认16kb一个磁盘块),可以看到每个磁盘块包含几个数据项(深蓝色所示)、指向关键字具体信息的指针(红色)和指向其他磁盘块的指针(黄色所示)如磁盘块1包含数据项17和35,包含指针P1、P2、P3,P1表示小于17的磁盘块,P2表示在17和35之间的磁盘块,P3表示大于35的磁盘块。
2023-06-09 09:23:03
891
原创 01_MySQL索引简介
MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。可以得到索引的本质:索引是数据结构。索引的目的在于提高查询效率,可以类比字典,如果要查“mysql”这个单词,我们肯定需要定位到m字母,然后从上往下找到y字母,再找到剩下的sql。如果没有索引,那么你可能需要a----z,如果我想找到Java开头的单词呢?或者Oracle开头的单词呢?是不是觉得如果没有索引,这个事情根本无法完成?你可以简单理解为“排好序的快速查找数据结构”。
2023-06-09 08:40:11
1596
原创 商城领域业务逻辑总结
① 首页的访问量非常大,而首页中的商品类目访问量更大,鼠标移动就在访问,查询所有的数据,如果每次访问都实时到数据库获取数据,数据库的访问压力太大。虽然只是一个查询操作,但是由于频繁的访问所以我们必须对其性能进行最大程度的优化。② 所以,比如我们一级类目查询下级目录数据放入Redis缓存来提高性能,这里我们为了降级业务之间耦合度,提高程序的可用性,采用优雅的自定义AOP注解和切面类来实现缓存,主功能代码不做修改,只是根据父id查询商品分类列表数据。③ 在自定义注解中设置以下参数:缓存前缀名,
2023-06-04 13:56:34
1247
原创 一篇学会MySQL索引优化、JUC、JVM 吊打面试官!
01_JUC概述_书启秋枫的博客-优快云博客02_Lock锁_书启秋枫的博客-优快云博客03_线程间通信_书启秋枫的博客-优快云博客04_并发容器类_书启秋枫的博客-优快云博客05_JUC强大的辅助类_书启秋枫的博客-优快云博客06_Callable接口_书启秋枫的博客-优快云博客07_阻塞队列(BlockingQueue)_书启秋枫的博客-优快云博客08_ThreadPool线程池_书启秋枫的博客-优快云博客09_多线程高并发底层原理_书启秋枫的博客-优快云博客01_JVM快速入门_书启
2023-05-26 10:47:15
1380
原创 04_GC垃圾回收
面试题:JVM内存模型以及分区,需要详细到每个区放什么堆里面的分区:Eden,survival from to,老年代,各自的特点。GC的三种收集方法:标记清除、标记整理、复制算法的原理与特点,分别用在什么地方Minor GC与Full GC(MajorGC)分别在什么时候发生JVM垃圾判定算法:(对象已死?引用计数法(Reference-Counting)可达性分析算法(根搜索算法)GC垃圾回收主要有四大算法:(怎么找到已死对象并清除?复制算法(Copying)
2023-05-26 10:36:44
985
原创 03_堆+MAT工具
Java7之前Heap 堆:一个JVM实例只存在一个堆内存,堆内存的大小是可以调节的。类加载器读取了类文件后,需要把类、方法、常变量放到堆内存中,保存所有引用类型的真实信息,以方便执行器执行,堆内存逻辑上分为三部分:Young Generation Space 新生区 Young/NewTenure generation space 养老区 Old/TenurePermanent Space 永久区 Perm也称为:新生代(年轻代)、老年代、永久代(持久代)。其中JVM堆分为新生代和老年代。
2023-05-26 10:21:30
1347
原创 02_stack栈
每执行一个方法都会产生一个栈帧,保存到栈(后进先出)的**顶部,顶部栈就是当前的方法,该方法执行完毕后会自动将此栈帧出栈。(Stack Frame)的格式存在,栈帧是一个内存区块,是一个数据集,是一个有关方法(Method)和运行期数据的数据集。都是在函数的栈内存中分配。执行完毕后,先弹出F3栈帧,再弹出F2栈帧,再弹出F1栈帧……当一个方法A被调用时就产生了一个栈帧 F1,并被压入到栈中,栈帧 2 处于栈底,执行完毕后,依次弹出栈帧 1和栈帧 2,A方法又调用了 B方法,于是产生栈帧 F2 也被压入栈,
2023-05-26 10:07:04
1513
原创 Docker 安装 elasticsearch、kibana、ik
【代码】Docker 安装 elasticsearch、kibana、ik。
2023-05-10 09:42:07
1426
原创 08_ThreadPool线程池
17 任务:线程数已满 任务队列已满 丢弃5任务 6,7,8,9,10,11,12,13,16,17。16 任务:线程数已满 任务队列已满 丢弃4任务 5,6,7,8,9,10,11,12,13,16。4,5,6,7,8,9,10,11,12,13 任务:存到任务队列中 4最先进入到任务队列。4,5,6,7,8,9,10,11,12,13 任务:存到任务队列中 4最先进入到任务队列。1,2,3 任务:创建核心线程处理。1,2,3 任务:创建核心线程处理。计算(CPU)密集型。
2023-04-27 20:33:39
1001
原创 07_阻塞队列(BlockingQueue)
在多线程领域:所谓阻塞,在某些情况下会挂起线程(即阻塞),一旦条件满足,被挂起的线程又会自动被唤起BlockingQueue即阻塞队列,是java.util.concurrent下的一个接口,因此不难理解,BlockingQueue是为了解决多线程中数据高效安全传输而提出的。从阻塞这个词可以看出,在某些情况下对阻塞队列的访问可能会造成阻塞。当队列满了的时候进行入队列操作当队列空了的时候进行出队列操作因此,当一个线程试图对一个已经满了的队列进行入队列操作时,它将会被阻塞,除非有另一个线程做了出队列操作;
2023-04-27 19:49:49
763
原创 06_Callable接口
一旦计算完成,就不能再重新开始或取消计算。get方法获取结果只有在计算完成时获取,否则会一直阻塞直到任务转入完成状态,然后会返回结果或者抛出异常。这是一个函数式接口,因此可以用作lambda表达式或方法引用的赋值对象。
2023-04-27 19:14:36
982
原创 04_并发容器类
CopyOnWrite容器也是一种读写分离的思想,读和写不同的容器。他们都有synchronized关键字,说明都是线程安全的。CopyOnWrite并发容器用于读多写少的并发场景。通过synchronized来实现同步的容器。在并发下进行迭代的读和写时并不是线程安全的。迭代器涉及的代码没有加上线程同步代码。CopyOnWrite容器。
2023-04-27 16:16:19
1168
原创 03_线程间通信
注意,消费者被唤醒后是从wait()方法(被阻塞的地方)后面执行,而不是重新从同步块开头。删掉increment和decrement方法的synchronized。修改标识符,通知下一个。
2023-04-27 15:47:50
951
原创 02_Lock锁
相比同步锁,JUC包中的Lock锁的功能更加强大,它提供了各种各样的锁(公平锁,非公平锁,共享锁,独占锁……),所以使用起来很灵活。
2023-04-27 15:03:47
1014
原创 ShardingSphere-JDBC广播表
指所有的分片数据源中都存在的表,表结构及其数据在每个数据库中均完全一致。适用于数据量不大且需要与海量数据的表进行关联查询的场景,例如:字典表。广播具有以下特性:(1)插入、更新操作会实时在所有节点上执行,保持各个分片的数据一致性(2)查询操作,只从一个节点获取(3)可以跟任何一个表进行 JOIN 操作。
2023-04-24 17:23:19
888
原创 EasyExcel 实现读写 Excel 超多案例
文档必读:https://www.yuque.com/easyexcel/doc/fill。
2023-03-27 21:11:31
1351
1
CentOS7下安装的各种压缩包
2023-02-20
课程设计题目七:票务公司网上订票系统
2023-01-05
软件测试文档-基于协同的在线表格forture-sheet(苏州科技大学)
2022-12-22
JavaEE上机实验报告和代码
2022-08-03
Java网络程序设计+JDBC程序设计+模拟QQ微信的即时网络通信应用程序
2022-08-03
基于Java的报刊订阅管理系统(JavaFX+数据库)(课程报告+代码实现)
2022-08-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人