自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 问答 (1)
  • 收藏
  • 关注

原创 并发编程-Java

简单来说就是保证了头结点的添加是原子性的。支持公平锁 和 非公平锁,有两个构造函数,一个有参(根据传入的boolean 值判断创建公平锁还是非公平锁),一个无参(非公平锁)底层是 monitor 实现的,monitor 是 jvm 级别的对象(c++实现),线程获得锁需要对象关联monitor。workQueue:当没有空闲核心线程数时,新来的任务会加到此队列中尽显排队,队列满时,会创建救急线程执行任务。此时有两个退出,第一个是加锁的退出,第二个是防止加锁中发生异常,未安全退出,再调用一次退出。

2024-10-30 10:51:50 309

原创 mysql 相关

覆盖索引是指查询使用了索引,并且需要查找到 值,在该索引中已经能全部找到(大概就是不需要回表的查询)undo log 版本链(会记录 update 和 delete详细的,insert 记录后会丢失)当前读:读取时保证其他事务不能修改当前记录,即保证每次读取的数据都是最新的。SQL 执行时 MVCC 提取数据的依据,记录并维护系统当前活跃的事务。possible_key:当前 sql 可能用到的索引。或者是 先查id 大于这个分页的,然后查条数。readview(读视图),key:实际命中的 索引。

2024-10-23 10:08:26 966

原创 Redis

如果对数据不敏感,可以选单独用RDB。如果对数据敏感,同时使用RDB和AOF(不建议单独用 AOF)如果只是做纯内存缓存,可以都不用概述一个 Redis 集群包含 16384 个插槽(hash slot), 数据库中的每个键都属于这 16384 个插槽的其中一个集群使用公式 CRC16(key) % 16384 来计算键 key 属于哪个槽, 其中 CRC16(key) 语句用于计算键 key 的 CRC16 校验和集群中每个节点负责处理一部分插槽。

2024-10-20 19:22:21 650

原创 hotkey 搭建与使用

hotkey 原理,以及使用

2024-10-19 16:02:00 1001

原创 Redis 数据过期策略,淘汰策略

假如一个 key 过期了,我不会立刻去删除他,而是当有人再次访问这个 key 时,他才会来判断这个 key 是否过期,若过期,则删除。定时检查过期的 key,每次删除一定量的 key, 类似。

2024-10-18 20:53:31 331

原创 Redis 持久化

当 redis 发生故障重启时,就可以从磁盘读取文件,恢复数据。当对同一个 key 进行多次写操作时,AOF 就会全部记录下来,但实际只有最有一次写操作有效,因此可以执行 bgwriteaof 命令,来去重这种重复的操作。AOF (Append Only File) 保存命令,当出现故障重启时,就会读取命令,从而恢复数据。AOF 默认是关闭的。下面这两个代表,增长超过多少进行重写(下面的是100%),文件体积最小多大以上进行重写(64mb)因为 AOF 是记录命令,因此,他的文件会比 RDB 文件大。

2024-10-18 20:35:13 417

原创 Jenkins安装插件报错 cloudbees-folder

大部分方法都试过,最后发现此插件还是安装失败,可以试试以下方法在我用虚拟机docker安装 jenknis 时,启动后就会出现一下错误按照网上方法,下载cloudbess-floder放入相应的目录下重启,但我的行不通,因此我怀疑是版本问题。

2024-10-03 10:46:35 372

原创 1、JavaSE

ThreadLocal是一个线程工具类,可以在一个线程内共享数据,在我们的项目中使用ThreadLocal存储的是解析token以后的用户数据。synchronized的底层实现是完全依赖JVM虚拟机的,所以谈synchronized的底层实现,就不得不谈数据在JVM内存的存储:Java对象头,以及Monitor对象监视器。3、等待可中断,持有锁的线程长期不释放的时候,正在等待的线程可以选择放弃等待,这相当于Synchronized来说可以避免出现死锁的情况。

2024-09-23 21:31:08 977

原创 事务失效问题

线程1在锁释放那一时刻,事务未提交时,线程2拿到锁,此时进行判断,状态还是未改变之前的状态(因此事务未提交),所以此时就会存储多条事务,最后再进行提交时,就会导致超卖问题。在高并发的场景下,由于开启了事务,会出现超卖现象。

2024-09-17 10:17:04 230

原创 SpringSecurity认证

1)将登录的页面放到resources下面的static中2)创建配置类SecurityConfig,配置登录页@Beanhttp.formLogin() //自定义自己编写的登陆页面.loginPage("/login.html") //登录页面设置.loginProcessingUrl("/login") //登录访问路径.permitAll()//登录页和登录访问路径无需登录也可以访问.and().and()//关闭csrf防护3)再次运行项目,我们会看到登录页面。

2024-07-14 09:18:59 426

原创 xxl-job 踩坑 xxl-rpc remoting error(Connection refused (Connection refused)), for url :

在xxl-job部署的时候,如果是在docker中进行部署的,则记得更换ip地址,不要写localhost的,因为这是docker中部署,相当于xxl-job就是一个单独的虚拟机,因此ip地址需要更换成数据库的真实ip地址。进行任务调度时,查看调度日志,出现以下错误xxl-rpc remoting error(Connection refused (Connection refused))如果是在虚拟机中部署的,可以在执行器管理中,把机器地址改了,改成vm8网卡的ip地址。

2024-07-07 15:09:17 1160

原创 微信小程序{errMsg: “getPhoneNumber:fail no permission“}

在使用微信小程序时,本来想获取到当前登录用户的手机号,结果发现无法登录,调试中发现以下错误。2、就不调用该api,保存时,不保存手机号。搜索才知道只有认证的微信才能进行调用获取手机号的api。1、进行认证,需要花钱。

2024-07-06 09:03:46 1453

原创 leetcode 移除元素 (Java)

【代码】leetcode 移除元素 (Java)

2023-05-25 15:31:34 238 1

原创 leetcode 有效的括号 (Java)

【代码】leetcode 有效的括号 (Java)

2023-05-16 21:33:40 350 1

原创 leetcode 最长公共前缀 (Java)

【代码】leetcode 最长公共前缀 (Java)

2023-05-15 23:06:34 334

原创 leetcode 罗马数字转整数 (Java)

【代码】leetcode 罗马数字转整数 (Java)

2023-05-14 17:16:26 164 1

原创 leetcode 回文数 (Java)

【代码】leetcode 回文数 (Java)

2023-05-13 22:03:40 121

原创 leetcode 两数之和 (Java)

在遇到需要返回键值的情况下,可以采用 hash 进行构建本题可以将值所对应的索引存储下来,方便后面的判断。

2023-05-12 11:28:38 167 1

空空如也

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

TA关注的人

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