• 欢迎访问本站,本站记录博主日常编程遇到的问题,知识,惊奇软件等。如有问题还请留言


    Deprecated: strip_tags(): Passing null to parameter #1 ($string) of type string is deprecated in /www/wwwroot/gschaos.club/wp-content/themes/Git-alpha-6h0SRk/header.php on line 294

DDD

DDD 并不是凭空冒出来的,它确实是从传统的业务驱动拆分路径里,把那些零散的、依赖个人经验的做法提炼成了一套可复用、可传授的方法论,然后加上统一的术语体系,让团队协作、跨团队建模、系统演进更可控。换句话说传统业务拆分:靠经验 → 每个架构师可能都有自己的套路 → 结果好坏取决于人DDD:把这些套路标准化 → 给它命名(限界上下文、聚合、值对象…)→……

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

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

局部变量表中槽的问题

jvm的槽为啥是32位,64jvm也是32位呢1. 什么是 jvm 的“槽”(slot)在 java 虚拟机中,局部变量表(Local Variable Table) 是方法栈帧的一部分。它由一组 slot(槽位) 组成,每个 slot 的基本单位是 32 位(4字节)。slot 可以存放:int, float, reference, retu……

知识整理

基础部分一、java 基础与语言特性(语法/编译相关)java基础知识java基本类型的物理存储大小正确理解java泛型为什么局部内部类和匿名内部类只能访问final的局部变量或成员变量HashMap负载因子反射抛出自定义异常问题java.sleep背后的逻辑java8 Lambda实现条件去重distinct Listjava-10-……

java8-default方法

java8-default方法public interface MyFun { default String getName() { return "哈哈哈"; }}public interface MyInterface { default String getName() { ……

Java基本类型的物理存储大小

java基本类型的物理存储大小在java中我们知道byte就表示一个字节,像char是两个,int是四个。现在有这样一个问题,在32位的jvm中一个byte的实际存储大小是4个字节,int不用说也是四个,那么char是不是也是四个?怎么证明?楼主的先入观点把几种不同的概念混为一谈了。=================================……

MYSQL笔记

mysql执行过程一个UPDATE语句正在执行:UPDATE test SET idx = 2 WHERE id=10,执行流程如下(这里主要以Innodb存储引擎体系结构中的组件为主):在Server层进行词法解析,解析成mysql认识的语法,查询什么表、什么字段,并生成查询路径树,选择最优查询路径。到了Innodb存储引擎这里,先判断……

HashMap负载因子

HashMap1. Hash 冲突后的数据结构变化(jdk8 之后的优化)在 jdk8 之前,HashMap 发生冲突后使用的是链表结构,导致在极端情况下时间复杂度退化为 O(n)。jdk8 开始引入红黑树结构优化:当某个桶(链表)中的元素个数超过 TREEIFY_THRESHOLD = 8 且容量超过 MIN_TREEIFY_CAPACITY ……

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

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

K8S资源对象梳理

K8S资源对象梳理

1. 容器应用创建在 Kubernetes 中,容器应用的创建不仅仅依赖于 docker run 命令,还可以通过 Kubernetes 的资源对象进行创建和管理。Kubernetes 提供了类似 Docker 容器的功能,但与 Docker 容器不同的是,Kubernetes 会在集群中进行调度和管理。下面我会详细介绍一些 Docker 和 Kubern……

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

jhsdb:基于服务性代理的调试工具jhsdb是一款基于服务性代理(Serviceability Agent,SA)实现的进程外调试工具。服务性代理是HotSpot虚拟机中一组用于映射java虚拟机运行信息的、主要基于java语言(含少量JNI代码)实现的API集合。服务性代理以HotSpot内部的数据结构为参照物进行设计,把这些C++的数据抽象出java……

java.sleep()

java的thread.sleep方法是会响应中断的,cpu会使用定时器,定时器到时会触发中断让cpu调度这个线程,但是我不明白java中将线程设置中断,为什么sleep可以响应中断指令,是怎么做到的?java 的 Thread.sleep() 为什么可以响应 interrupt()?在 java 中,Thread.sleep() 会放弃 CPU 执行权……

JDK12新特性及旧版本变更

新的字符串和文件方法在 Java 11 中,我们已经获得了一些新的 String 方法,以及Files.readString() 和 writeString() 方法。而在 Java 12,jdk 开发人员对这两个类进一步扩展,新增了一些实用的方法。String.indent() —— 方便的字符串缩进在 Java 12 之前,如果我们想给字符串添加缩……

理解Aop

理解Aop

🧭 整体结构总览层级技术视角控制权体现提供能力对上层支撑1. 计算机硬件CPU、存储、总线线性执行+跳转程序计数器、堆栈、跳转指令支持有序与跳跃控制2. 计算机组成原理存储程序原理、函数调用栈跳转+调用+返回+中断函数、递归、上下文切换抽象为过程式语言3. 操作系统用户态、内核态、线程调度控制权分时复……

JDK新特性与旧版功能的变更

java-10-新特性与旧版功能的变更java-11-新特性与旧版功能的变更java-12-新特性与旧版功能的变更……