首页
免费资料
个人网站
我的掘金
我的公众号
工具推荐
电影推荐
纪录片推荐
英语相关
环境搭建
月伴飞鱼
行动起来,活在当下
累计撰写
126
篇文章
累计创建
31
个标签
累计收到
1
条评论
栏目
首页
免费资料
个人网站
我的掘金
我的公众号
工具推荐
电影推荐
纪录片推荐
英语相关
环境搭建
目 录
CONTENT
以下是
Java
相关的文章
2025-03-23
Java主内存和工作内存,主内存是指的堆吗?工作内存指的CPU缓存吗?
CPU 和内存的关系模型 在多核 CPU 和内存的环境中,CPU 和内存之间的交互是通过多级缓存和寄存器来实现的,而 JVM 的工作内存和主内存的设计,正是对这种底层计算模型的抽象。 我们来详细分析这个问题:
2025-03-23
12
0
1
Java
并发编程
2025-03-23
缓存行是什么,伪共享是什么?
一、缓存行(Cache Line) 缓存行(Cache Line)是CPU缓存(Cache)中数据存储的最小单位,通常为 64字节。 当CPU从主存中读取数据时,会以缓存行为单位加载数据,而不是单独加载某个变量或某几个字节。 缓存行的特点:
2025-03-23
6
0
1
Java
2025-03-17
什么是方法区?是如何实现的?
1. 方法区简介 方法区是 JVM 规范定义的一块用于存储类信息、常量、静态变量、JIT 编译后的代码等数据的内存区域。 方法区是线程共享的,所有线程都可以访问该区域的数据。 每个 JVM 实例只有一个方法区。 方法区属于JVM 运行时数据区,但不在堆中。
2025-03-17
5
0
1
Java
JVM
2025-03-17
Java中的类什么时候会被加载?
Java 中类的加载时机 Java 中的类加载采用延迟加载的机制,只有在类被实际使用时才会触发加载。 以下是具体的触发场景: 1. 类的实例被创建时 通过关键字 new 创建类的对象时,JVM 会检查该类是否已经加载
2025-03-17
8
0
1
Java
JVM
2025-03-15
Java8和Java11的GC有什么区别?
Java 8 和 Java 11 在垃圾回收(GC)上的主要区别体现在默认垃圾收集器的变化、新增收集器的引入以及算法优化上。 以下是详细对比: 1. 默认垃圾收集器的变化 Java 8 默认垃圾收集器:Parallel Scavenge GC(新生代) + Parallel Old GC(老年代)。
2025-03-15
3
0
1
Java
2025-03-09
如何实现一个类加载器?为什么是LoadClass而不是FindClass?
如何实现一个类加载器? 要实现一个类加载器,可以继承 ClassLoader 类并根据需求重写相关方法。 以下是具体实现方式: 遵循双亲委派模型 如果希望类加载器遵循双亲委派原则,只需重写 findClass 方法即可。
2025-03-09
6
0
1
JVM
Java
2025-03-07
Spring 的 AOP 代理对象是在方法调用的时候动态创建的吗?
Spring AOP 的代理对象是在 Bean 初始化阶段 创建的,而不是在方法调用时。 这样做有以下原因: 依赖注入的需要 在 Spring 中,代理对象需要注入到其他 Bean 中。 例如: @Autowired private MyService myService; // 注入的是代理对象
2025-03-07
15
0
1
Java
Spring
2025-03-07
环境搭建
HomeBrew 国内安装: /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" JDK Oracle官网下载JDK1.8安装包:
2025-03-07
52
0
2
Java
2025-03-06
破坏双亲委派之后,能重写String类吗?
在 Java 中,即使破坏了 双亲委派模型,理论上依然无法完全重写 java.lang.String 类。 这是因为 JVM 对 String 类有特殊的限制和处理机制,具体如下: 原因分析 JVM 内置限制 java.lang.String 是 JVM 的核心类,其加载和使用受到严格限制。JVM
2025-03-06
13
0
3
Java
2025-03-05
你做过哪些JVM的调优?
调优JVM其实就是在理解JVM内存结构以及各种垃圾收集器前提下,结合自己的现有的业务来调整参数,使自己的应用能够正常稳定运行。 一般调优JVM会有几种指标可以参考:“吞吐量”、“停顿时间”和“垃圾回收频率”。 调整JVM设置参数 调整内存区域大小以及相关策略(比如整块堆内存占多少、新生代占多少、老年
2025-03-05
100
1
3
Java