摘要: 如何实现停止中断运行中的线程 ①通过一个volatile变量实现 (多线程环境下,变量可能会以副本形式存储到线程的工作空间如cpu缓存中而导致变量在各个线程中不共享。volatitle关键字可以让变量在各个线程中共享,并且禁止重排序) /** * @author Guanghao Wei * @cr 阅读全文
posted @ 2025-10-13 11:51 扛着音响去化缘 阅读(8) 评论(0) 推荐(0)
摘要: 从字节码角度分析synchronized实现 javap -c(v附加信息) ***.class 文件反编译 synchronized同步代码块 实现使用的是monitorenter和monitorexit指令 synchronized普通同步方法 调用指令将会检查方法的ACC_SYNCHRONIZ 阅读全文
posted @ 2025-10-13 11:38 扛着音响去化缘 阅读(6) 评论(0) 推荐(0)
摘要: 反编译synchronized锁的是什么 面试题:为什么任何一个对象都可以成为一个锁? C++源码:ObjectMonitor.java >ObjectMonitor.cpp >ObjectMonitor.hpp 每个对象天生都带着一个对象监视器,每一个被锁住的对象都会和Monitor关联起来 总结 阅读全文
posted @ 2025-10-13 11:38 扛着音响去化缘 阅读(12) 评论(0) 推荐(0)
摘要: CompletableFuture介绍 CompletableFuture: CompletableFuture的核心静态方法: 代码使用示例: CompletableFuture 可以看到,异步任务结束后会才会调用whenComplete方法中的代码,即自动调用回调对象的回调方法/下一个方法 阅读全文
posted @ 2025-10-09 16:04 扛着音响去化缘 阅读(13) 评论(0) 推荐(0)
摘要: CompletableFuture常用方法 ①获得结果和触发计算 获取结果 public T get() public T get(long timeout,TimeUnit unit) public T join() >和get一样的作用,只是不需要抛出异常 public T getNow(T v 阅读全文
posted @ 2025-10-09 16:03 扛着音响去化缘 阅读(7) 评论(0) 推荐(0)
Sakana Widget右下角定位