自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (7)
  • 收藏
  • 关注

原创 缓存设计模式

Write-Through-Back Pattern是结合了Write-Through(透写缓存)和Write-Back / Write-Behind (写后缓存)模式的缓存方法。当业务侧请求数据时,如果数据不在缓存中,则从数据源加载数据并将其存储在缓存中。注:Cache-Aside Pattern/Lazy-Loading Pattern(旁路缓存),是Lazy-Loading (懒加载)的一种实现方式。如果不存在,则缓存层负责从数据源加载数据,存入缓存,并返回给业务层。:指同步缓存与数据库中的数据。

2024-05-11 14:08:37 600

原创 使用 jpa自定义sql分页,自定义实体类等

使用 jpa自定义sql 分页查询,自定义实体类

2024-05-11 14:07:46 257

原创 Mysql基础信息

xx.ibd:innodb, 表实际数据文件+数据索引文件,mysql8.0之后增加序列化字典信息(Serialized Dictionary Information,SDI),SDI被写在.ibd文件内部,它是数据字典包含的信息的一个冗余副本,作用类似于frm文件(表结构)1.当查询的字段从左开始,索引字段会匹配最左侧字段,直到匹配失败则不再走当前索引,如AB字段,则均会走索引;AC字段,则A字段会走索引;单独的A、B、C字段查询,因为只有A字段匹配上了组合索引,会走索引,B、C字段查询均不会走索引。

2024-04-22 13:30:00 854

原创 为什么MySql使用B+索引

Mysql索引和数据都存储在磁盘上,涉及磁盘必然会涉及IO问题。优化方向:1.减少IO量,2、减少IO次数。操作系统有个概念叫做磁盘预读,内存和磁盘是以dataPage(页)为基础单位,dataPage 一般为4K或者8K,是操作系统决定的。数据读取时一般会读取4K的整数倍,innodb一般读取16K.1.需要好的hash算法保证散列足够均匀,否则1.存储空间浪费,2产生hash冲突(hash碰撞)2.hash表无序,在范围查询时需要逐个遍历,效率低。

2024-04-22 11:56:45 853

原创 spring 源码学习

非必要,invokelnitMethods 会检测是否实现了InitalizingBean接口,是会存在afterPropertiesSet方法,此方法可以让用户干预bean的初始化,然后调用invokelnitMethod(基本初始化方法)方法,否会直接调用invokelnitMethod方法。所以加一层三级缓存,在获取三级缓存对象时会判断是否需要代理对象。FactoryBean:用来创建对象,可以自定义bean的创建方式,可以不通过spring的创建bean的流程。容器关闭时bean才会销毁。

2024-02-22 09:07:01 322

原创 Mysql学习第一课 基础信息

mysql基础信息学习

2022-07-28 16:39:25 205

原创 三高框架设计要点

关于高性能,高并发,高可用架构设计要点

2022-07-28 16:02:14 444

原创 现象:spring boot jpa 取出数据后修改数据,不调用save方法,数据最终也会更新到数据库

问题产生原因:使用JpaRepository find方法,获取到的是数据库的持久化对象,SpringDataJpa在事务完成的时候会自动持久化事务。SpringDataJpa底层是利用hibernate实现的,可以参考hibernate的实体状态帮助理解。hibernate实体状态Hibernate实体状态的定义1.瞬态:一个实体通过new操作符创建后,没有和Hibernate的Session建立关系,也没有手动赋值过该实体的持久化标识(持久化标识可以认为是映射表的主键)。此时该实体中任何属性的

2022-05-11 16:11:40 1789

原创 分布式事务学习

前言:在事务中,log的重要性远大于数据事务四大特性: ACID A:原子性 C:一致性 I:隔离性 D:持久性, A:原子性和D:持久性 依靠log实现, C:一致性 I:隔离性依靠锁实现分布式事务:分布式事务指事务的操作位于不同的节点上,需要保证事务的 AICD 特性。例如在下单场景下,库存和订单如果不在同一个节点上,就涉及分布式事务。示例:一个服务操作多个数据库多个服务操作一个或多个数据库目的:保证分布式系统中的数据一致性解决方案:引入第三方协调者XA规范: 实现: 内部

2022-03-03 10:07:47 488

原创 2021-10-15spring boot 关于使用Filter 拦截签名校验和添加签名踩过的坑

问题产生原因:ServletRequest, ServletResponse 采用的是输入流的方式,所以只能读取一次。在使用filter拦截取值之后,后续不能再次调用问题解决方法:使用自定义bean将数据保存到bean中,实现可以重复调用自定义标签代码:/** * @description: 判断是否需要校验token和sig * @author: hyx * @create: 2021-08-23 14:50 **/@Target({ElementType.METHOD, Element

2021-10-15 11:50:44 534

原创 关于使用spring boot jpa自定义sql 多表关联查询获取多表字段

很多时候,我们在使用spring boot jpa JpaRepository时需要多表关联查询获取多表字段,但是又不想在实体类对应数据库中实现这个字段(因为实体类中存在,数据库中不存在时会抛出sql异常),更不想写hql,那么可以实现一个取巧的方法。示例 :实体类注意:实体类中没有标记表名称@Entity@Data@NoArgsConstructor@DynamicInsertpublic class ChargingJournaliseForCount implements Seriali

2020-10-10 10:08:26 1448 1

原创 关于jdk8使用stream去重

关于jdk8使用stream去重和筛选数据1.使用distinct()去重distinct是stream自带方法,根据hashCode和equals()方法进行去重,会保留第一次出现数据。示例: list.stream().distinct().collect(Collectors.toList());2.使用filterfilter是stream自带的筛选方法,需要实现自定义方法; private static <T> Predicate<T> dist.

2020-09-25 17:18:20 1049

AxureRPCRX0.6.3.rar

谷歌浏览器 axure插件

2021-04-19

京东商品分类编号

京东产品分类,分一级二级三级标签,附带标签吗,二级标签不太准确

2018-08-29

tess4j-3.4.8需要,包括linux所需so文件

tess4j-3.4.8需要,包括linux所需so文件,需要安装libjpeg62-dev

2018-07-03

模拟登陆51job智联 包括验证码的破解

模拟登陆51job 智联 包括验证码的破解 可运行

2016-08-01

Excel读取数据库生成Excel并下载完整源代码

Excel读取数据库生成Excel并下载完整源代码 数据库为Mysql 可自行更改

2016-01-02

ifeng新闻抓取

ifeng 网站新闻抓取 java例子 实测 可运行

2015-11-16

空空如也

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

TA关注的人

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