JVM-07:程序计数器与虚拟机栈:方法是怎么执行的
上一篇把"类从哪里来"讲完了:加载、链接、初始化。类装进 JVM 之后就该干活了,这一篇讲方法是怎么执行的。主角是运行时数据区里最小的两块:程序计数器和虚拟机栈。它们也是仅有的两块线程私有区域。方法每调用一次,栈上就压一个栈帧;程序计数器记着当前执行到了哪条字节码。
Java 24正式发布,引入数千项改进!开发者:你发任你发,我用Java 8
据官方介绍,Java 24 引入了数千项改进,以及 20 多项涵盖 Java 各个方面的新特性,包括 AI 支持和后量子加密能力,为开发者提供了构建创新型 AI 应用的强大工具。
Spring AI 2.0 Tool Calling 实战:让大模型调用 Java 业务方法
Tool Calling 是 Spring AI 里最容易被低估的能力。它不是“给模型加几个函数”这么简单,而是让大模型从只会聊天,变成能调用订单、库存、知识库、工单、审批等业务能力的智能入口。
JVM-08: 本地方法栈与 JNI:Java 之外的那半边
上一篇讲虚拟机栈,留了个尾巴:本地方法栈。当时说它跟虚拟机栈是兄弟俩,一个管 Java 方法,一个管 native 方法。这一篇就把这个尾巴补上。native 方法是个很有意思的东西:方法声明里写着 native,却没有方法体。字节码里只有一张欠条,真正的实现在别的语言写的库里。
Java8 方法引用与Optional
上篇写完 Lambda 和 Stream,我把代码发给一个后端朋友,让他帮我挑毛病。他扫了一眼,回了一句:“你这 Stream,写得跟没学 Lambda 一样啰嗦。”我当场愣住。
大模型Function Calling在Java里怎么落地?我踩了7个坑
Function Calling在Java里落地,框架选型只是第一步。真正让你加班的是参数类型对不上、模型反复调同一个工具、异常吞掉后模型开始编答案、以及并发下工具注册表被踩踏。下面这7个坑,每个都附了能跑的代码片段,按踩坑顺序排。
java反射中Method 的 invoke 方法为何需要一个对象作为参数?
有网友问:「Method 的 invoke 方法为何需要一个对象作为参数?有了对象不就可以直接用对象调用方法了,为何还需要使用 Method 的 invoke 方法?」有这个困惑是因为混淆了两件事:编译期就知道该调什么方法 vs 运行时才知道该调什么方法。