JVM-09: Java 堆:对象的生与死
上一篇收尾时说,下一篇回到线程共享的地盘。这篇就是:Java 堆,JVM 里最大的一块内存,你写下的每一个 new,最终都落在这里。这一篇围绕对象的一生展开:new 一行代码背后发生了什么,内存从哪里划出来,对象在内存里长什么样、有多重、怎么被访问、什么时候死。
数组越界了,CPU不知道?看懂这个,你就真正理解编程了
深度拆解:从 LC-3 汇编到 Java/Rust,数组越界与硬件中断的底层真相在很多程序员的认知里,像数组越界(OutOfBounds)或空指针(NullPointer)这样的错误,往往会与“内核报错”、“硬件崩溃”联系在一起。
C# 数组常用操作:不止是下标访问
数组是 C# 里最基础的数据结构,但很多人只会 arr[i] 和 arr.Length。其实 System.Array 和 Array 类提供了大量现成方法:排序、查找、复制、扩容、反转 —— 用好它们能省掉很多手写循环。
yaml数组对象
1、yaml的数组对象配置com: userList: list: - {id: 1,name: 张三,age: 12} - {id: 2,name: 李四,age: 13}2、java端代码定义,配置为spring注解public class User
Java 数组从入门到实战操作指南
摘要:本文面向编程初学者,系统梳理数组这一最基础的数据结构。从生活化类比讲清数组的连续存储与零基索引特性,再依次讲解一维数组的静态初始化与动态分配、元素访问与修改、二维数组的行列操作与锯齿数组、遍历与批量填充技巧,以及 Arrays 工具类的排序与复制。
JVM 如何运行 Java 程序?从类加载到内存模型,一文看懂 JVM 核心原理
《Java 技术进化论》专栏 · 第四篇我们每天都在编写 Java 代码。例如:public class HelloWorld { public static void main(String[] args) { System.out.
JVM-12:对象的内存布局与指针压缩:一个对象到底多大
上一篇把常量池的事了结了。这一篇回答一个更实在的问题:new 一个对象,堆里到底划走多少字节?面试里问"空对象占多少内存",十个候选人里八个答"没字段,0 字节",剩下两个答 8 字节。都对不上账。实测答案是 16 字节,一半是看不见的开销。这篇不背书,拿探针直接量。
工作多年的Java开发,还记得吗?当年数组、引用类型都能逼到抓狂
现在做Java开发多年,每天写业务、调接口、排查二十多层调用堆栈,处理各种复杂的数据转换问题,早已得心应手。 回头想想真的感慨万千:如今随手就能写明白的基础概念,放在学生时代,光是数组和引用类型,就能对着黑框控制台琢磨很久,越想越绕。
Java数组在JVM里是个特殊对象
Java里每个对象都有构造方法。哪怕你不在类里写,编译器也会替你补一个无参的。可有一个例外:数组。数组是对象,这一点并没有什么疑问,你能对它调用Object里提供的方法,能把它当Object传来传去。但你是找不到数组的构造方法的,你也没办法给数组写一个。