大模型Function Calling在Java里怎么落地?我踩了7个坑
Function Calling在Java里落地,框架选型只是第一步。真正让你加班的是参数类型对不上、模型反复调同一个工具、异常吞掉后模型开始编答案、以及并发下工具注册表被踩踏。下面这7个坑,每个都附了能跑的代码片段,按踩坑顺序排。
一个Java对象到底占多少内存?对象头里的Mark Word有什么秘密?
我们每天都在创建Java对象:User user = new User();上一篇我们讲了:这个对象到底是在堆里,还是栈里?但还有一个问题:一个看似简单的Java对象,到底占用了多少内存?对象头的信息很多人第一次学习Java时,会认为:一个对象的大小 = 所有字段大小相加。
用得不多但值得学的Java读写锁
ReentrantReadWriteLock,中文叫读写锁。这个名字,你在业务代码里可能好几年都碰不到一次。但是一些开源框架,比如RocketMQ、Kafka、Elasticsearch还是有用到读写锁的。用得少,不是因为它不好用,是它能发挥作用的场景比较挑剔。
Java 和 Kotlin, 到底谁更香?一个写了十年代码的人,跟你掏心窝子聊
先说个真事。前两天有个刚毕业的小伙子问我:“哥,我想做 Android 开发,是先学 Java 还是直接上 Kotlin?网上说法乱七八糟,有的说 Java 没落了,有的说 Kotlin 就是个花架子。
Spring Boot 用了 Lombok,为什么编译时还提示找不到 get 方法?
类上加了 @Getter,IDEA 里也能补全。结果一执行 Maven 编译:cannot find symbol symbol: method getName()先确认两件事:编译时有没有执行 Lombok,以及这个字段生成的方法到底叫什么。1.
Java 数组从入门到实战操作指南
摘要:本文面向编程初学者,系统梳理数组这一最基础的数据结构。从生活化类比讲清数组的连续存储与零基索引特性,再依次讲解一维数组的静态初始化与动态分配、元素访问与修改、二维数组的行列操作与锯齿数组、遍历与批量填充技巧,以及 Arrays 工具类的排序与复制。
Java8 方法引用与Optional
上篇写完 Lambda 和 Stream,我把代码发给一个后端朋友,让他帮我挑毛病。他扫了一眼,回了一句:“你这 Stream,写得跟没学 Lambda 一样啰嗦。”我当场愣住。
课程资源建设日记第二季 第 02 期 | 《Java 程序设计》
昨天,数据结构与算法收完了,第二季第一天开了头。今天第二天,《Java 程序设计》。还是 3 学分、48 学时,理论 32 加实验 16;还是 6 章、44 个文件,一天收拢。但这篇我不急着报菜名。我最想聊一个问题:一个专业两门语言课,怎么分工?
Java 字符串模板消失两年了 JDK 21 曾经那么惊艳,为什么至今没回来
Java 的字符串模板为什么消失两年了?从 JDK 21 到 JDK 28,OpenJDK 究竟在犹豫什么?Java 有个挺有意思的现象:一些复杂到普通开发者都不太容易理解的特性,几年下来不断推进;而一个看起来很简单的字符串插值功能,却在两轮 Preview 之后突然消失了。