首页
免费资料
个人网站
我的掘金
我的公众号
工具推荐
电影推荐
纪录片推荐
英语相关
环境搭建
月伴飞鱼
行动起来,活在当下
累计撰写
124
篇文章
累计创建
31
个标签
累计收到
1
条评论
栏目
首页
免费资料
个人网站
我的掘金
我的公众号
工具推荐
电影推荐
纪录片推荐
英语相关
环境搭建
目 录
CONTENT
最新文章
2025-03-06
置顶
免费资料
编程书籍 设计模式 大话设计模式: 资料链接:https://url81.ctfile.com/f/57345181-1269292981-092c51?p=3899 访问密码:3899 重学Java设计模式: 资料链接:
2025-03-06
128
0
6
资料
2025-04-28
Synchronized为啥需要维护一个计数器呢?独占锁一个状态表示就行了吧,计数的目的是啥?
确实,通过记录线程 ID(或线程标识)可以判断一个锁是否被某个线程持有。 但维护计数器并不是为了简单判断锁的持有者,而是为了支持可重入锁的完整语义。 这是因为: 1. 可重入锁需要支持嵌套调用 假设只记录线程 ID,而不维护计数器,来看一个嵌套调用的场景: 示例代码
2025-04-28
1
0
0
并发编程
2025-04-27
Java程序设置栈的大小有必要吗?
在 Java 程序中,栈大小主要影响的是每个线程的栈内存大小,栈内存用于存储方法调用的局部变量、方法返回地址等信息。 设置栈大小的必要性取决于几个因素: 1. 默认栈大小 在 64 位操作系统上:HotSpot JVM 默认栈大小通常为 1MB(每个线程的栈空间)。 在 32 位操作系统上:默认栈大
2025-04-27
4
0
1
JVM
2025-04-27
线上Java服务运行的时候,我直接Dump会对线上服务的负载造成多大的影响?比如外部请求直接超时了吗?
线上dump都是要下负载的。JVM通常会暂停。 直接在线上服务运行时执行 JVM 的 dump 操作,通常会造成一定程度的影响,具体影响取决于: 一、dump 时 JVM 的行为: 执行dump时,JVM通常会暂停(safepoint)应用线程,以确保dump过程中内存数据一致。 这种暂停的时间取决
2025-04-27
3
0
1
JVM
2025-04-26
如何实现主线程捕获子线程异常?
在 Java 中,主线程无法直接捕获子线程抛出的异常,因为主线程与子线程是独立的执行单元,它们的执行是并行的。 子线程的异常通常在子线程内部处理,或者通过合适的机制传递给主线程。 不过,有几种方法可以实现主线程捕获子线程的异常: 1. 使用 Future 和 Callable Future 允许主线
2025-04-26
4
0
1
并发编程
2025-04-26
MySQL那些场景下会造成死锁?
1.批量更新id没排序。update 1,2 另外一个update 2,1,方案是id排序。 2.update 条件不一样导致死锁。尽量主键更新。 update my_table set name = 'test',age = 22 where name = "hollischuang"; 这个SQ
2025-04-26
2
0
1
MySQL
2025-04-25
MySQL 5.7中的组提交理解吗?谈谈你的理解
MySQL 5.7 中的组提交(Group Commit) 是一种性能优化技术,主要目的是减少事务提交时频繁的磁盘IO开销,提高数据库的吞吐能力。 一、为什么需要组提交? MySQL事务提交时需要确保数据持久化,这就涉及到以下日志的写入: redo log(重做日志):用于崩溃恢复。 binlog:
2025-04-25
2
0
1
MySQL
2025-04-25
一次insert操作,MySQL的几种log的写入顺序?
在 MySQL InnoDB 存储引擎中,一次 INSERT 操作涉及 Undo Log(撤销日志)、Redo Log(重做日志)、Binlog(归档日志) 三种日志,它们的写入顺序如下: 日志作用对比
2025-04-25
2
0
1
MySQL
2025-04-24
G1 垃圾收集器支持在某些情况下让应用线程参与后台 GC 操作?有什么优势?
G1 垃圾收集器支持在某些情况下让应用线程参与后台 GC 操作。 这是 G1 的一个特殊特性,用来提升垃圾回收效率并缩短暂停时间。 以下是详细解释及其好处: 1. 背景:GC 线程与应用线程 其他垃圾收集器的工作模式: CMS、Parallel GC 等垃圾收集器使用内置的 JVM 专用 GC 线程
2025-04-24
4
0
1
JVM
2025-04-24
父子线程之间怎么共享传递数据?
在 Java 中,父子线程之间共享数据并不是直接支持的特性,需要通过特定的机制来实现。 以下是常见的方式及其原理。 1. 自定义传递机制 父线程在创建子线程时,可以通过构造函数或成员变量将需要共享的数据显式传递给子线程。 示例代码: class MyThread extends Thread {
2025-04-24
4
0
1
并发编程
1
2
3
4
5
...
10