JVM-08: 本地方法栈与 JNI:Java 之外的那半边
上一篇讲虚拟机栈,留了个尾巴:本地方法栈。当时说它跟虚拟机栈是兄弟俩,一个管 Java 方法,一个管 native 方法。这一篇就把这个尾巴补上。native 方法是个很有意思的东西:方法声明里写着 native,却没有方法体。字节码里只有一张欠条,真正的实现在别的语言写的库里。
8 年前端学 SpringBoot:泛型集合遍历,取出元素为什么是 Object?
背景:8 年前端,熟悉 Node/Next/Nuxt,日常用 Bun 写轻量后端。基本盘还是前端,拓展 SpringBoot 是为了匹配全栈岗位,记录技术学习笔记。这是这个工具类系列笔记的最后一篇,也是初看时最让我这个前端开发者感到“割裂”的一篇。
Python教程 第43章:self 与实例方法——对象怎么操作自己
一、self 是什么self 指代"当前实例本身"。在类的方法里,第一个参数必须是 self(名字可换但规范是 self),通过它访问实例的属性和其他方法。先看一个最小例子,再拆开它为什么成立。
再聊一个 Java 惯例:名词给对象,动词给方法
前两篇分别聊了区间为什么爱写成左闭右开、判空为什么优先用 isEmpty()。这两个惯例背后是同一条原则:用约定俗成的形式,让读代码的人少想一步。顺着这个思路,再说一个 Java 里几乎人人都在用、却很少有人细想其背后原因的惯例:给对象起名时用名词,给方法起名时用动词。
JVM-09: Java 堆:对象的生与死
上一篇收尾时说,下一篇回到线程共享的地盘。这篇就是:Java 堆,JVM 里最大的一块内存,你写下的每一个 new,最终都落在这里。这一篇围绕对象的一生展开:new 一行代码背后发生了什么,内存从哪里划出来,对象在内存里长什么样、有多重、怎么被访问、什么时候死。
上百个参数怎么测?Java 反射帮你写工具
做 SDK 测试的同学大概率遇到过:一个接口有上百个入参,每个参数都要测必填校验、长度边界、类型校验。手工写用例,一个接口就要敲一天。这时候与其死磕手工,不如花半天写个测试工具 —— 而工具的核心,就是 Java 反射。
JAVA反射机制详解,一学就会
类名.class 不触发初始化,Class.forName 会触发静态初始化,loadClass 传 false 时不连接也不初始化。四种方式拿到的 Class 对象 equals 都是 true,因为一个类在 JVM 里只有一个 Class 实例。
Python教程 第46章:类方法与静态方法——不需要实例的方法
一、三种方法的对比上一章我们看到,属性分"每个实例一份"和"全类共享一份"两种。同样的划分也发生在方法上:有些方法必须知道"是哪个对象在调用我",有些只需要知道"是哪个类",还有些两者都不需要。Python 为此提供了三种方法定义方式。
JVM 如何运行 Java 程序?从类加载到内存模型,一文看懂 JVM 核心原理
《Java 技术进化论》专栏 · 第四篇我们每天都在编写 Java 代码。例如:public class HelloWorld { public static void main(String[] args) { System.out.