首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
JVM
后端出路在何方
创建于2025-01-07
订阅专栏
JVM(Java Virtual Machine,Java虚拟机)是一种用于计算设备的规范,它通过在实际的计算机上仿真模拟各种计算机功能来实现。
等 5 人订阅
共14篇文章
创建于2025-01-07
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Java性能调优三板斧:CPU与Full GC问题定位的解决方案
常见的CPU飙高和Full GC频繁的原因 CPU使用率高通常是因为有线程在持续占用CPU资源,可能是死循环、频繁的GC、或者代码中的计算密集型操作。Full GC频繁则通常说明内存管理有问题
Java类初始化阶段深度解析:执行顺序与线程安全
初始化阶段(代码执行) 执行<clinit>()方法(编译器自动生成) 父类初始化优先于子类 线程安全保证:同步加锁
Java类验证阶段深度解析:四层安全关卡详解
魔数验证:检查文件是否以CAFE BABE开头(十六进制) 危险操作拦截:禁止伪造父类、篡改final方法等 符号引用检查:确保引用的类/方法真实存在
Java Happens-Before 规则详解:从理论到实践
在多线程编程中,Happens-Before规则是保证线程间操作可见性和有序性的核心机制。它像一本隐形的操作日志,记录了多线程环境下哪些操作必须发生在另一些操作之前。
图解Java类增强技术:像搭积木一样改造程序
一、什么是类增强? 想象你正在玩乐高积木,类增强技术就像在积木组装完成后,无需拆解就能给模型添加新功能。在Java世界里,这种"魔法"发生在程序运行期间,通过修改字节码(类似计算机的中间语言)来实现功
Java类准备阶段深度解析:内存布局与初始值设定规则
准备阶段(内存预分配) 为类变量(static变量)分配内存 设置初始值(如int=0,对象=null) static final常量在此阶段直接赋值
Byte Buddy深度解析:现代Java字节码增强利器
一、Byte Buddy核心定位 Byte Buddy是一个现代Java字节码生成库,相比传统工具具有以下特征: 维度 Byte Buddy优势 API设计 链式方法调用
Java类加载阶段深度解析:三步走全流程详解
Java类加载阶段深度解析:三步走全流程详解 一、加载阶段的三步核心操作 1.获取二进制流 2.转换方法区结构 3.创建Class对象
Java类解析阶段深度解析:符号引用到直接引用的转换
符号引用:类似菜谱中的"适量酱油" 直接引用:转换为具体的"海天酱油5ml" 重点转换: 类/接口 → 内存地址 字段 → 内存偏移量 方法 → 方法入口指针
Java常量池的三驾马车:全面解析Class、运行期与字符串常量池
常量池是JVM中用来存储各种字面量和符号引用的表结构,在class文件和运行时都发挥着关键作用。常见的三种是Class文件常量池、运行时常量池和字符串常量池。
深入理解JVM内存分配:指针碰撞与空闲列表解析
对象创建就像网购后快递公司打包发货的全过程,而内存分配环节相当于在仓库里找合适的货架存放包裹。JVM用两种截然不同的策略管理内存货架:指针碰撞和空闲列表。
JDK内存模型进化史:三张图看懂方法区实现变革
什么是方法区? 如果把JVM比作一个运行程序的工厂,方法区就相当于这个工厂的"档案室",专门存放类信息(类名、方法代码、字段描述)、运行时常量池、静态变量等"档案资料"。
Java 是编译的还是解释的?两者兼具的混合特性分析
Java 是一种 "先编译后解释" 的语言,既具备编译型语言的特性,也具备解释型语言的特性,可以理解为一种 混合型语言。 具体解释: 编译型语言的特性: Java 源代码(.java 文件)首先通过
JIT 和 AOT 编译的区别是什么?全面解析即时编译与提前编译
1. 什么是即时编译(JIT, Just-In-Time Compilation)优化? JIT(Just-In-Time Compilation,即时编译) 是 Java 虚拟机(JVM)中的一项关