• 首页
  • 话题
  • 问答
文章
文章用户文档快讯圈子网址导航

{{userData.name}}已认证

文章

评论

关注

粉丝

¥{{role.user_data.money}}
{{role.user_data.credit}}
您已完成今天任务的
  • 私信列表所有往来私信

  • 任务中心每日任务

    NEW
  • 我的设置编辑个人资料

  • 小黑屋关进小黑屋的人

    NEW
  • 进入后台管理

全部标签

java

  • 局部变量表中槽的问题

    局部变量表中槽的问题

    jvm的槽为啥是32位,64JVM也是32位呢 1. 什么是 JVM 的“槽”(slot) 在 Java 虚拟机中,局部变量表(Local Variable Table) 是方法栈帧的一部分。 它由一组 slot(槽位) 组成,每个 slot 的基本单位是 32 位(4字节)。 slot 可以存放: int, float, reference, returnAddress 等单槽类型。 long,…
    java
    • 63
    • 0
    mysticalyccmysticalycc8月18日
  • jvm的垃圾回收是如何暂停所有线程的

    jvm的垃圾回收是如何暂停所有线程的

    jvm的垃圾回收是如何暂停所有线程的 1. 为什么需要暂停线程? GC 需要对堆内存中的对象做可达性分析(reachability analysis),判断哪些对象是垃圾。如果应用线程(Mutator Threads)还在继续运行,就可能: 在 GC 标记过程中修改对象引用,导致结果不一致; 在对象回收时还在访问已被标记回收的对象。 因此,GC 必须让所有应用线程在某个点暂停,保证堆结构的一致性。…
    java
    • 79
    • 0
    mysticalyccmysticalycc8月18日
  • DDD

    DDD

    DDD 并不是凭空冒出来的,它确实是从传统的业务驱动拆分路径里,把那些零散的、依赖个人经验的做法提炼成了一套可复用、可传授的方法论,然后加上统一的术语体系,让团队协作、跨团队建模、系统演进更可控。 换句话说 传统业务拆分:靠经验 → 每个架构师可能都有自己的套路 → 结果好坏取决于人 DDD:把这些套路标准化 → 给它命名(限界上下文、聚合、值对象…)→ 形成一整套显性规则 → 让不同团队、不同背…
    java
    • 79
    • 0
    mysticalyccmysticalycc8月17日
  • 既然CPU有缓存一致性协议(MESI),为什么JMM还需要volatile关键字?

    既然CPU有缓存一致性协议(MESI),为什么JMM还需要volatile关键字?

    🧠 为什么 MESI 协议并不足以保证 Java 中的“可见性”语义? 1. MESI 是硬件层级的缓存一致性,volatile 是语言层级的可见性保证 MESI 主要解决“同一物理地址在多核缓存中的副本一致性问题”; 根据MESI,CPU某核(假设CPU0)的缓存行(包含变量x)是M S 或E的时候,如果总线嗅探到了变量x被其其他核(比如CPU1)执行了写操作(remote write)那么CP…
    java
    • 44
    • 0
    mysticalyccmysticalycc8月1日
  • HashMap负载因子

    HashMap负载因子

    HashMap 1. Hash 冲突后的数据结构变化(JDK8 之后的优化) 在 JDK8 之前,HashMap 发生冲突后使用的是链表结构,导致在极端情况下时间复杂度退化为 O(n)。 JDK8 开始引入红黑树结构优化: 当某个桶(链表)中的元素个数超过 TREEIFY_THRESHOLD = 8 且容量超过 MIN_TREEIFY_CAPACITY = 64 时,该桶的链表会被转化为红黑树; …
    java
    • 61
    • 0
    mysticalyccmysticalycc8月1日
  • java.sleep()

    java.sleep()

    java的thread.sleep方法是会响应中断的,cpu会使用定时器,定时器到时会触发中断让cpu调度这个线程,但是我不明白java中将线程设置中断,为什么sleep可以响应中断指令,是怎么做到的? Java 的 Thread.sleep() 为什么可以响应 interrupt()? 在 Java 中,Thread.sleep() 会放弃 CPU 执行权,并由 硬件定时器 触发中断来唤醒线程。…
    java
    • 100
    • 0
    mysticalyccmysticalycc3月31日
  • java-11-features

    java-11-features

    Lambda 参数的局部变量语法 JDK 增强提案 323允许在隐式类型 lambda 表达式的中使用“var”关键字。 先来看 显式类型 的 Lambda 表达式。在下面的代码中,参数 l 和 s 的类型 被明确声明(List<String> 和 String): (List<String> l, String s) -> l.add(s); 然而,Java 编译器…
    java
    • 121
    • 0
    mysticalyccmysticalycc3月21日
  • 生产OOM排查

    生产OOM排查

    简化版代码: package com.mystic.ycc.blog.test; import org.bouncycastle.jce.provider.BouncyCastleProvider; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.Secre…
    java
    • 103
    • 0
    mysticalyccmysticalycc3月21日
  • JDK 8 到 JDK 23 的 ​语法糖(语言特性)​ 和 ​垃圾回收(GC)优化

    JDK 8 到 JDK 23 的 ​语法糖(语言特性)​ 和 ​垃圾回收(GC)优化

    JDK 8 到 JDK 23 的 语法糖(语言特性) 和 垃圾回收(GC)优化 语法糖(语言特性)演进 从 Lambda 表达式到模式匹配,Java 逐步引入更简洁的语法和现代编程范式。 JDK 8(2014) Lambda 表达式: List list = Arrays.asList("a", "b", "c"); list.forEa…
    java
    • 142
    • 0
    mysticalyccmysticalycc3月12日
  • 关于 JDK 不同版本对 指令集支持

    关于 JDK 不同版本对 指令集支持

    关于 JDK 不同版本对 指令集支持 1. JDK 8(2014年) 指令集支持: 基线指令集:主要针对 SSE2/SSE4.1/AVX1(如 Intel Haswell 之前的处理器)。 不支持 AVX-512(Skylake 及之后的新指令集)。 AES-NI 深度优化(仅部分支持)。 向量化运算优化有限。 适用场景: 传统企业应用,无需高性能计算。 兼容性优先,不追求最新硬件性能。 2. J…
    JDK
    • 175
    • 0
    mysticalyccmysticalycc3月12日
  • 问题排查

    问题排查

    问题排查 JDK自带的定位问题的工具? jps jps是jdk提供的一个查看当前java进程的小工具, 可以看做是JavaVirtual Machine Process Status Tool的缩写。 jps –l # 输出输出完全的包名,应用主类名,jar的完全路径名 jstack jstack是jdk自带的线程堆栈分析工具,使用该命令可以查看或导出 Java 应用程序中线程堆栈信息。 # 基本…
    java
    • 120
    • 0
    mysticalyccmysticalycc1月2日
  • Java性能权威指南学习笔记-1

    Java性能权威指南学习笔记-1

    Java性能权威指南学习笔记-1 导论 JVM调优标志 布尔标志 -XX:+FlagName 表示开启 -XX:-FlagName 表示关闭 附带参数的标志 -XX:FlagName=something,表示将标志flagName的值设置为something Client和Server类虚拟机 Java的自动优化前提是机器被分为"Client"和"Server&quo…
    java
    • 669
    • 0
    mysticalyccmysticalycc24年9月26日
  • Java性能权威指南学习笔记-2

    Java性能权威指南学习笔记-2

    垃圾收集器入门 最主流的四个垃圾收集器 Serial收集器(常用于单CPU环境) Throughput(或Parallel)收集器 Concurrent收集器(CMS) G1收集器 垃圾收集器概述 所有应用线程都停止运行所产生的停顿被称为时空停顿(stop-the-world)。 垃圾收集由两步构成:查找不再使用的对象,以及释放这些对象所管理的内存。 分代垃圾收集器 根据情况将堆划分成不同的代(G…
    java
    • 552
    • 0
    mysticalyccmysticalycc24年9月26日
  • 求解 springboot+mysql 随机出现的异常延迟

    求解 springboot+mysql 随机出现的异常延迟

    求解 springboot+mysql 随机出现的异常延迟 两行紧挨着的代码,很简单的根据 id 更新一行数据,然后打印函数执行到此时的耗时 打印出来的日志如下 正常情况下两个打印出来的耗时差值应该是 10ms 以内 但是每天会随机出现几个时间点,两个耗时差值会大于 1s 甚至 10 ~ 20s 日志中可以看到并不是语句执行出现耗时,mybatis 已经把执行结果打印出来了 耗时出现在语句执行之后…
    java
    • 462
    • 0
    mysticalyccmysticalycc24年9月14日
  • socket接收发送缓冲区

    socket接收发送缓冲区

    socket接收发送缓冲区 【TCP接收/发送滑动窗口与内核接收/发送缓冲区之间的关系】 滑动窗口的大小与套接字缓存区会在一定程度上影响并发连接的数据,每个TCP连接都会为维护TCP滑动窗口而消耗内存,这个窗口会根据服务器的处理速度收缩或扩张。 整个数据的流程中,首先网卡接收到的数据存放到内核缓冲区内,然后内核缓冲区存放的数据根据TCP信息将数据移动到具体的某一个TCP连接上的接收缓冲区内,也就是…
    java
    • 641
    • 0
    mysticalyccmysticalycc24年6月10日
  • synchronized 锁机制的分析和验证

    synchronized 锁机制的分析和验证

    synchronized 锁机制的分析和验证 原文:https://www.moralok.com/2023/12/19/analysis-and-verification-of-the-synchronized-lock-mechanism/ 本文详细介绍了 Java 中 synchronized 锁的机制、存储结构、优化措施以及升级过程,并通过 jol-core 演示 Mark Word 的变…
    java
    • 955
    • 0
    mysticalyccmysticalycc24年6月10日
  • 反射抛出自定义异常问题

    反射抛出自定义异常问题

    反射抛出自定义异常问题 作者: MysticalYcc 转载请注明出处:反射抛出自定义异常问题 问题描述 反射调用方法时,方法内部抛出了自定义异常,但是无法在反射调用点捕获到抛出的自定义异常。 反射调用方法时,方法再次调用反射抛出自定义异常,导致最底层异常消失。 调用逻辑代码 @Slf4j public abstract class AbstractService implements BaseS…
    报错记录
    • 106
    • 0
    mysticalyccmysticalycc24年5月31日
  • arthas使用

    arthas使用

    arthas使用 获取当前的实例属性值 vmtool 测试使用的类 @Service public class UserService { @Value("${user.default.pwd}") private String userDefaultPwd; } 配置文件 [可以使用appllo或者其他支持热更新配置的框架来测试属性是否刷新成功] user: default:…
    java
    • 601
    • 0
    mysticalyccmysticalycc24年5月23日
  • 如何看懂字节码文件

    如何看懂字节码文件

    如何看懂字节码文件 测试使用的类 public class Test { public int i; public long y; } 基础概念 每个Class文件的头4个字节被称为魔数(Magic Number),它的唯一作用是确定这个文件是否为一个能被虚拟机接受的Class文件。不仅是Class文件,很多文件格式标准中都有使用魔数来进行身份识别的习惯,譬如图片格式,如GIF或者JPEG等在文件…
    java
    • 561
    • 0
    mysticalyccmysticalycc24年5月22日
  • JHSDB:基于服务性代理的调试工具

    JHSDB:基于服务性代理的调试工具

    JHSDB:基于服务性代理的调试工具 JHSDB是一款基于服务性代理(Serviceability Agent,SA)实现的进程外调试工具。服务性代理是HotSpot虚拟机中一组用于映射Java虚拟机运行信息的、主要基于Java语言(含少量JNI代码)实现的API集合。服务性代理以HotSpot内部的数据结构为参照物进行设计,把这些C++的数据抽象出Java模型对象,相当于HotSpot的C++代…
    java
    • 643
    • 0
    mysticalyccmysticalycc24年5月20日
  • JVM GC 的安全点与安全区域

    JVM GC 的安全点与安全区域

    JVM GC 的安全点与安全区域 OopMap JVM 采用的可达性分析法有个缺点,就是从 GC Roots 找引用链耗时。 都说他耗时,他究竟耗时在哪里? GC 进行扫描时,需要查看每个位置存储的是不是引用类型,如果是,其所引用的对象就不能被回收;如果不是,那就是基本类型,这些肯定是不会引用对象的;这种对 GC 无用的基本类型的数据非常多,每次 GC 都要去扫描,显然是非常浪费时间的。 而且迄今…
    java
    • 1.5k
    • 0
    mysticalyccmysticalycc24年5月11日
  • 这几年落地的DDD,都是智商税和大忽悠?

    这几年落地的DDD,都是智商税和大忽悠?

    这几年落地的DDD,都是智商税和大忽悠? 原文:https://www.cnblogs.com/88223100/p/DDD-IQ_Tax.html 牛B的人物,早已经厌倦了中英文混杂,他们更进一步,使用中英文缩写,对普通人进行降维打击。更厉害的,造就新的名词,并科普出去。 有几项技术,我从心底里鄙视和厌恶,但每次在技术方案中,都默默的把它们加进去,而且给足了它们分量。因为它们对于方案的成功与否,…
    手记
    • 157
    • 0
    mysticalyccmysticalycc24年4月29日
  • 什么是日志系统和日志门面?分别有哪些框架?

    什么是日志系统和日志门面?分别有哪些框架?

    什么是日志系统和日志门面?分别有哪些框架? 日志系统是具体的日志框架,日志门面是不提供日志的具体实现,而是在运行时动态的绑定日志实现组件来工作,是一种外观模式。 日志系统 java.util.logging (JUL),JDK1.4 开始,通过 java.util.logging 提供日志功能。虽然是官方自带的log lib,JUL的使用确不广泛。 Log4j,Log4j 是 apache 的一个…
    java
    • 595
    • 0
    mysticalyccmysticalycc24年1月29日
  • 三级缓存

    三级缓存

    三级缓存 前言 循环依赖:就是N个类循环(嵌套)引用。 通俗的讲就是N个Bean互相引用对方,最终形成闭环。用一副经典的图示可以表示成这样(A、B、C都代表对象,虚线代表引用关系): 在这里插入图片描述 注意:其实可以N=1,也就是极限情况的循环依赖:自己依赖自己 另需注意:这里指的循环引用不是方法之间的循环调用,而是对象的相互依赖关系。(方法之间循环调用若有出口也是能够正常work的) 可以设想…
    java
    • 542
    • 0
    mysticalyccmysticalycc23年12月4日
Copyright © 2025 学海无涯,回头是岸
・皖ICP备19015872号
查询 95 次,耗时 0.2471 秒
首页专题认证
搜索菜单我的