- 博客(32)
- 收藏
- 关注
原创 MySQL InnoDB事务状态详解:information_schema.innodb_trx表解析
MySQL InnoDB事务状态详解:information_schema.innodb_trx表解析
2025-03-27 17:08:41
734
原创 SPI机制
SPI(Service Provider Interface)机制是一种服务发现机制,广泛用于Java生态中。它允许框架或库通过接口解耦具体实现,用户可以在运行时动态地提供接口的实现,而不是在编译时确定。这种机制在很多场景下非常有用,比如数据库驱动、日志框架、解析库等。接口定义SPI机制为Java生态中的扩展和插件提供了标准的方式,尤其是在跨多个库或框架中非常有用。通过和的配置,Java程序可以在运行时动态加载实现类,从而实现高扩展性和解耦。
2024-10-13 19:42:33
1356
1
原创 Redis持久化机制
redis重启的时候,可以先加载RDB的内容,然后再重放增量AOF日志,就可以完全替代之前的AOF全量文件重放,恢复效率因此大幅得到提升(混合型持久化最终生成的文件后缀是.aof,可以通过redis.conf文件中 aof-use-rdb-preamble yes 配置开启)。因为是记录命令,AOF文件会比RDB文件大的多。:混合持久化结合了RDB持久化 和 AOF 持久化的优点, 由于绝大部分都是RDB格式,加载速度快,同时结合AOF,增量的数据以AOF方式保存了,数据更少的丢失。
2024-10-03 23:18:10
949
原创 Java对象头
在HotSpot虚拟机中,对象在堆内存的存储布局可以划分为三个部分:对象头(Header)、实例数据(Instance Data)、和对齐填充(Paddin)。
2024-10-03 16:45:47
299
原创 CountDownLatch、CyclicBarrier、Semaphore
JUC包下三大辅助类:CountDownLatch、CyclicBarrier、Semaphore
2024-10-01 23:41:35
411
原创 ThreadLocal内存泄漏分析
1、内存泄漏原因:我们使用ThreadLocal过程中,如果ThreadLocal对象强引用断掉后,只剩弱引用,ThreadLocal对象会被回收,此时ThreadLocal中的key会变为null,而value没有被回收,同时又由于ThreadLocalMap是Thread中的成员属性,与Thread对象的生命周期是一样长,如果当前线程一直未被销毁,又没有手动删除对应key,这样就会导致value内存泄漏。
2024-10-01 23:23:27
1404
原创 Docker常用命令
Docker 是一个开源的应用容器引擎,是一款快速构建、运行、管理应用的工具。容器完全使用沙盒机制,互相之间不会存在任何接口。几乎没有性能开销,可以很容易的在机器和数据中心运行。最重要的是,他们不依赖任何语言、框架或包装系统。优点:Docker可以帮助我们下载应用镜像,创建并运行镜像的容器,从而快速部署应用;镜像:将应用所需要的函数库、依赖、配置等与应用一起打包得到的就是镜像。容器:根据镜像的应用进程创建的隔离环境就是容器。镜像仓库:存储和管理镜像的服务就是镜像仓库。
2024-09-15 08:35:20
2729
原创 Minio实现分布式存储
MinIO 是在 GNU Affero 通用公共许可证 v3.0 下发布的高性能对象存储。它与 Amazon S3 云存储服务 API 兼容。使用 MinIO 为机器学习、分析和应用程序数据工作负载构建高性能基础架构。MinIO是高性能对象存储,什么是对象存储(Object Storage Service),对象存储是支持海量用户远程访问的无限容量廉价存储系统,既然是存储系统。
2024-09-13 22:00:04
1712
原创 输入多次密码后如何限制用户规定时间内禁止再次登录
类似的问题:用户输入三次密码错误之后,如何限制用户十分钟内禁止登录?首先我们要明确的就是在多次输错密码之后限制的是用户还是IP。一般情况下建议使用IP地址为单位来进行限制,而非具体的用户,这样可以避免影响到真实用户的使用,减少误伤其他用户的可能性。例如,一个非法用户拿着别人的账户不断尝试,或者其他用户在输错账户的情况下,不断尝试错误密码,如果直接将其限制登录了,那么账户本人也就无法登录自己的账户了。因此,以IP地址为单位来限制相对更加合理。
2024-09-13 12:12:53
706
原创 LockSupport详解
LockSupport是用来创建锁和其他同步类的基本线程阻塞原语,其中park()和unpack()而作用分别是阻塞线程和解除阻塞线程。
2024-09-12 09:12:48
1099
原创 误开启win11的HDR后,显示器不接受到任何信号
在win11系统下误开启hdr后电脑黑屏无法显示,但是副屏幕能正常显示,发现是开启hdr后导致电脑核显不工作,主屏只有在显卡跑起来的时候才会工作(连接副屏),国内全网查找无果后在微软社区论坛中找到遇到同样问题的帖子,并在回复内容中找到解决方案。
2024-09-03 21:49:59
2275
1
原创 Arrays.asList()把数组装换成集合的大坑!!!
那如果我们使用了Arrays.asList非要使用集合的操作方法呢,有什么办法能够避免吗,当然有,而且非常简单,我们只需要在外面再包一层真正的ArrayList就可以了,代码如下,运行起来也能够看到,如我们所预料的执行了代码。
2024-08-08 09:47:56
220
原创 IDEA如何使用通义灵码?
大家都眼红过vscode里的Copilot的一键生成注释功能,以及代码自动补全,但是每月30$的价格却让人望而却步,但是!就在上个月,阿里云发布了一款可以代替Copilot的通义灵码,并且是免费使用的!不是Copilot用不起,而是通义灵码更有性价比。
2023-12-05 21:27:13
15253
原创 IDEA的了解与使用
IDEA,是 JetBrains (https://www.jetbrains.com/)公司的产品,该公司成立于2000年,总部位于捷克的布拉格,致力于为开发者打造最高效智能的开发工具。WebStorm:用于开发 JavaScript、HTML5、CSS3 等前端技术PyCharm:用于开发 pythonPhpStorm:用于开发 PHPRubyMine:用于开发 Ruby/RailsAppCode:用于开发 Objective - C/SwiftCLion:用于开发 C/C++
2023-12-03 21:34:35
3635
1
原创 System中public static final InputStream in = null;声明的是final为何还有对应的setIn方法
在Java的System类中,有一个public static final修饰的InputStream对象,即这个对象被声明为final,意味着一旦被赋值,就不能再被修改。而声明的是final为何还有对应的setIn方法?System类中的final属性System类中的setIn()方法。
2023-11-29 11:50:42
770
1
原创 Java字符编码和字符集
计算机中储存的信息都是用二进制数表示的,而我们在屏幕上看到的数字、英文、标点符号、汉字等字符是二进制数转换之后的结果。按照某种规则,将字符存储到计算机中,称为编码。反之,将存储在计算机中的二进制数按照某种规则解析显示出来,称为解码。编码:字符(人能看懂的文字) ---> 字节(计算机能看懂的二进制数据)解码:字节(计算机能看懂的二进制数据) ---> 字符(人能看懂的文字)提示:以下是本篇文章正文内容,下面案例可供参考。
2023-11-27 10:15:55
1238
Xjad反编译工具(Java源代码反编译工具)
2024-09-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人