![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
文章平均质量分 71
不值一提的路人
慢慢成长
展开
-
【Java】记一次服务内实现排队消费模式
主要是记录一下实现过程和实现的过程中遇到的坑。我的业务系统中有一个接口,是从大数据那边拉数据,之前的做法是,开个线程池,让SQL去执行,可是如果大量的慢SQL同时,请求数据库的话会适得其反。并且还有一个问题,就是数据库连接池的连接数是有限的,当慢查询把连接都占用了的话,其他的快查询就会获取不到连接而等待超时。解决方案方案一给慢查询一个单独的连接池,控制连接个数● 缺点:这样虽然解决了,慢查询阻塞快查询,但是,对于用户体验不好,可能某一个用户就将慢查询队列占满了,后续的其它用户根本查询不了。方案原创 2023-11-10 16:53:24 · 294 阅读 · 0 评论 -
【Git】Git 相关知识,以及常见问题解决
很实用的一个Git笔记,内容都是本人在工作中记录的原创 2022-11-08 10:22:32 · 196 阅读 · 0 评论 -
【记录】SpringBoot + Mybatis Plus + Druid 配置多数据源
SpringBoot + Mybatis Plus + Druid 配置多数据源环境说明我这里使用mysql 和clickhouse两种数据库来举例导包<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <versio原创 2020-12-24 14:05:44 · 804 阅读 · 0 评论 -
【笔记】本周热议功能实现
本周热议功能实现实例环境准备SpringBootRedisMySQL思路**将前天内发表的文章的评论数量存入Redis,利用Redis中ZSet数据结构的特性,将七天内的博客的评论数存入Redis,然后求并集,通过score的大小顺序来确定热议**。测试:## 每天的评论数量存入数据库 格式: zdd day:时间 数量 post:文章ID127.0.0.1:6379> zadd day:18 10 post:1(integer) 1127.0.0.1:6379>原创 2020-10-03 01:10:44 · 337 阅读 · 2 评论 -
【笔记】SpringBoot + FreeMarker 将时间处理成几天前的格式
将时间处理成几天前的格式需求将时间转化成几天前、几个月前等等!我的项目环境主要框架:SpringBoot模版引擎:FreeMarker解决步骤首先引入FreeMarker的几个模版工具类DirectiveHandler:package com.lmy.eblog.templates.common;import freemarker.core.Environment;import freemarker.template.*;import org.springf原创 2020-10-02 10:51:18 · 535 阅读 · 1 评论 -
【面试题】MySQL常用的储存引擎MYISAM和InnoDB的区别
MySQL常用的储存引擎事务支持MyISAM不支持事务,而InnoDB支持,并且默认是自动提交,在spring中的事务操作其实也是在操作数据库的事务;文件储存结构MYISAM:role.frm:表结构文件role.MYD:数据文件(MyISAM Data)role.MYI:索引文件(MyISAM Index)InnoDB:user.frm:表结构文件user.ibd:索引和数据文件(InnoDB Data)底层结构底层都是用的B+Tree来存储原创 2020-09-21 17:27:58 · 185 阅读 · 0 评论 -
【面试题】MySQL的锁机制
MySQL的锁机制通常有行锁行级锁是Mysql中锁定粒度最细的一种锁,表示只针对当前操作的行进行加锁。行级锁能大大减少数据库操作的冲突。其加锁粒度最小,但加锁的开销也最大。有可能会出现死锁的情况。表锁表级锁是mysql锁中粒度最大的一种锁,表示当前的操作对整张表加锁,资源开销比行锁少,不会出现死锁的情况,但是发生锁冲突的概率很大。页锁页级锁是MySQL中锁定粒度介于行级锁和表级锁中间的一种锁。常见的执行引擎对这两种锁的支持实现方式InnoDB行原创 2020-09-21 16:51:38 · 2238 阅读 · 0 评论 -
【面试题】Synchronized四种锁状态的升级简单理解
介绍加锁可以使一段代码在同一时间只有一个线程可以访问,在增加安全性的同时,牺牲掉的是程序的执行性能,所以为了在一定程度上减少获得锁和释放锁带来的性能消耗,在 jdk6 之后便引入了“偏向锁”和“轻量级锁”,所以总共有4种锁状态,级别由低到高依次为:无锁状态、偏向锁状态、轻量级锁状态、重量级锁状态。这几个状态会随着竞争情况逐渐升级。锁升级流程图参考:https://www.jianshu.com/p/d61f294ac1a6...原创 2020-09-09 21:13:04 · 385 阅读 · 0 评论 -
【工具】Git分支相关命令
git分支相关命令声明:此博文参照了部分网络资源,有错请私信!创建分支git branch <分支名>git branch -v 查看分支切换分支git checkout <分支名>一部完成(创建+切换):git checkout -b <分支名>合并分支先切换到主干:git checkout mastergit merge <分支名>删除分支先切换到主干:git checkout mastergit bra原创 2020-09-09 10:29:36 · 181 阅读 · 0 评论