-
Java25 jcmd 新增 Thread.vthread_scheduler 命令查看虚拟线程调度器信息
语法 jcmd <pid> Thread.vthread_scheduler 查看帮助 > jcmd 1 help Thread.vthread_scheduler 1: Thread.vthre
-
Java25 jcmd Thread.vthread 相关命令源码解析
Attach Listener Attach Listener通过监听jcmd的命令,执行相关逻辑。 at java.util.concurrent.ForkJoinPool.<clinit>(Fo
-
Java25 使用 VirtualThreadSchedulerMXBean 查看虚拟线程调度器 ForkJoinPool 信息
代码 import jdk.management.VirtualThreadSchedulerMXBean; import java.lang.management.ManagementFactor
-
Java25 中虚拟线程仍然会被 pin 住的 3 种情况
JEP 491 在JEP 491中解决了虚拟线程在synchronized锁内遇到阻塞时不能从载体线程上卸载的问题后,还列举了3种还没解决的场景。 但这些场景发生的概率很小,且都是编码可控。 解析类
-
Java 使用 jcmd 命令查看虚拟线程堆栈信息
Thread.dump_to_file jcmd中的Thread相关命令有Thread.print和Thread.dump_to_file(还有Thread.vthread相关命令)。 Thread
-
Java21 和 Java25 中获取虚拟线程挂载的平台线程
反射 需在虚拟线程中调用invoke方法,返回的是ForkJoinWorkerThread。 通过ForkJoinWorkerThread还是获取对应的ForkJoinPool。 Class<Thr
-
Java 获取虚拟线程挂载的平台线程对应的 ForkJoinPool 实例
反射获取 VirtualThread类中的私有静态final变量DEFAULT_SCHEDULER。 import java.lang.reflect.Field; import java.util
-
Java21 虚拟线程在 synchronized 代码块中被 pin 住问题复现
测试代码 public class VirtualThreadSynchronizedPinnedDemo { // 共享锁对象:所有虚拟线程会竞争这把锁 private stati
-
Java 虚拟线程调度器 ForkJoinPool 自定义参数设置
主要参数 parallelism maxPoolSize minRunnable 参数设置 方式一 程序启动时设置。 System.setProperty("jdk.virtualThreadS
-
Java 虚拟线程 ForkJoinPool 工作线程运行情况
程序初始运行时 当程序初始运行时,ForkJoinPool并不会创建工作线程。 PS \openjdk-25\bin> jcmd 14704 Thread.print 14704: 2025-10-
-
Java 为虚拟线程配置线程池(执行器)
作用 为虚拟线程配置线程池(应叫做:执行器)的作用:使用执行器去开启虚拟线程,并用执行器管理虚拟线程的生命周期。 本质 为虚拟线程创建的ExecutorService,本质是虚拟线程创建器和任务提交
-
Java 虚拟线程启动流程及调度器源码解析
启动虚拟线程方式 方式一 Thread.ofVirtual().start(() -> { }); 方式二 Runnable runnable = () -> {}; Thread.start
-
Java 虚拟线程是否为守护线程
结论 Java中的虚拟线程默认是守护线程,且不能被修改为非守护线程。 守护线程:当JVM退出时,JVM不会等守护线程执行完毕才退出,等所有非守护线程执行完毕后JVM就会退出。 源码 Thread的i
-
Java easy captcha 验证码在 CentOS 上报错
错误信息 Java中的一个验证码生成库easy-captcha,在CentOS机器上部署时报错。 java.lang.RuntimeException: Fontconfig head is nul
-
Kubernetes Java 远程 Debug 添加配置
Deployment 配置 containers.env下添加环境变量JDK_JAVA_OPTIONS。重启Deployment。 apiVersion: apps/v1 kind: Deploym
2024-07-29, Views: 1744 , Topics: Debug Kubernetes Java
-
PostgreSQL timestamptz 映射 Java OffsetDateTime 注意点
特别注意 如果直接将从PostgreSQL中映射过来的OffsetDateTime字段,如转为LocalDateTime需要特别注意。 OffsetDateTime offsetDateTime =
2024-07-01, Views: 2250 , Topics: PostgreSQL Java 时区
-
UUID V1 到 V7 各版本详解及 PostgreSQL 中的方法
含义 英文全称:Universally Unique Identifier 微软体系中使用:Globally Unique Identifier (GUID) 格式 以连字号分为五段,表现形式为8-
2024-06-13, Views: 4146 , Topics: UUID PostgreSQL Java
-
Session Hijacking 会话劫持和 Session Fixation 会话固定
Session 的窃取 盗用SessionID(对于Java Tomcat而言就是Cookie为JSESSIONID的值),实现身份伪装。 防御策略 部署HT
-
订单生成规则探讨 - 附 Java 实现
例子 长度共24位 240110114442845000000000 含义 前 0~15 位 240110114442845按年月日时分秒生成,精确到毫秒级。其
-
Java JMX FlightRecorderMXBean
功能 FlightRecorderMXBean可以获取Java服务的飞行记录仪的信息。 开启/停止/关闭飞行记录仪 获取飞行记录仪数据 获取飞行记录仪记录的事