- 博客(7)
- 资源 (3)
- 收藏
- 关注
原创 设计模式六 静态代理模式
代理模式:当一个对象不合适或者不能够直接引用目标对象是,代理对象就会以中介的方式介入。例如:你买房子找中介,那么中介就是代理对象。代理对象分两种,静态代理和动态代理。动态代理又分jdk代理和cglib 代理。jdk代理应用在实现接口的类。才能应用jdk代理。cglib 是在类不实现接口的情况下也能实现代理对象的创建。应用。一、静态代理//接口 提供了抽象的teach方法public interface ITeacherDao { default void show(){
2020-05-17 11:19:52 119
原创 事务 学习笔记
讲解事务前我们先来看一张图:这张图讲述了数据库的隔离级别和预防脏读、不可重复读,幻读的对应关系。那么mysql 默认的数据库隔离级别是Repeatable Read ,这个级别下就不会出现脏读和不可重复读。而Oracle和Sqlserver 的默认隔离级别是 Read committed 。这种级别不会出现脏读。下面说下脏读、不可重复读、幻读出现的场景。1、脏读:前提数据库的隔离级别...
2020-04-21 19:17:29 124
原创 Hashmap原理
Hashmap,组成有三部分,数组、+链表+红黑树。HashMap 的实例有两个参数影响其性能:“初始容量” 和 “加载因子”。容量 是哈希表中桶的数量,初始容量 只是哈希表在创建时的容量。加载因子 是哈希表在其容量自动增加之前可以达到多满的一种尺度。***当哈希表中的条目数超出了加载因子与当前容量的乘积时,并且要存放的位置已经有元素了(hash碰撞)***,必须满足这两个条件,才要对该哈希表进...
2020-03-26 20:40:41 125
原创 Redis实例搭建
官网的解释:Redis是一个开放源代码(BSD许可)的内存中数据结构存储,用作数据库,缓存和消息代理。它支持数据结构,例如字符串,哈希,列表,集合,带范围查询的排序集合,位图,超日志,带有半径查询和流的地理空间索引。Redis具有内置的复制,Lua脚本,LRU逐出,事务和不同级别的磁盘持久性,并通过Redis Sentinel和Redis Cluster自动分区提供了高可用性。第一步、搭建一个w...
2020-03-04 19:15:52 166
原创 mysql索引实例
需求描述:压力测试有两张表,主从表,每个表100万以上。现在要两个表关联并进行group by分组。未优化sql:select b.supplier_name,b.supplier_code,b.currency_idfrom t_outsourcing_dtl aleft join t_outsourcing b on b.code=a.code AND b.del_flag=a.del...
2020-02-29 20:39:47 156
原创 自定义STARTER实例
springboot自定义STARTER实例过程描述:一、创建一个empty-Project 。然后追加两个module。一个是maven项目,用于做自动配置的属性和功能类,另一个是web项目,用来引用autoconfigurer配置工程。1、在starter的pom.xml中,引用autoconfigurer。<groupId>com.zhiyuan.starter<...
2020-02-29 12:45:19 237
原创 mysql索引原理
索引的本质索引是帮助MYSQL高效获取排好序的数据的一种数据结构。我们先看几种常用的数据结构。1、下图是一种二叉树的存储结构。/2、红黑树(二叉平衡树),可以解决二叉树单边增加变成链表的问题。但是红黑树如果数据变多查询IO次数也会很多,消耗也很大。3、B - tree,相对于红黑树做了横向的拓展,那么这种数据结构能够减少IO资源的支出。提高查询速度。4、B + tree相对于...
2020-02-23 20:15:50 90
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人