百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
S

spring-loaded

> 编程语言
开源

支持在运行中的 JVM 中重新加载类的 Java 代理

2.7K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

支持在运行中的 JVM 中重新加载类的 Java 代理

欢迎使用 Spring-Loaded

什么是 Spring Loaded?

Spring Loaded 是一个 JVM 代理,用于在 JVM 运行期间重新加载类文件变更。它在加载时对类进行转换,使其便于后续重新加载。与“热代码替换”不同,后者仅允许在 JVM 运行后执行简单更改(例如方法体的更改),Spring Loaded 允许你添加/修改/删除方法、字段、构造器。类型、方法、字段、构造器上的注解也可以被修改,并且可以在枚举类型中添加/删除/更改值。

Spring Loaded 可用于任何可在 JVM 上运行的字节码,并且实际上是 Grails 2、3、4(在 Java 8 上)所使用的重新加载系统。

安装

1.3.0 现已发布!

1.3.0 支持在 Java 8 上运行的 Grails 4.0.4+(Java 11 尚不支持,正在开发中)

1.2.6 快照位于此仓库区域(获取最近构建的 .jar): repo.spring.io

下载的是代理 jar,使用前无需进一步解压。

使用重载运行

java -javaagent:<pathTo>/springloaded-{VERSION}.jar -noverify SomeJavaClass

验证器正在被关闭,因为某些字节码重写超出了其原本的含义。 一些字节码——以JVM不介意但验证器不喜欢的方式。一旦启动并运行 实际上,运行时发生的情况是,任何从 jar 文件(依赖项)加载的类都不会被 被视为可重新加载的,而任何从磁盘上的 .class 文件加载的内容则被设为可重新加载。一旦 已加载的 .class 文件将被监视(每秒一次),如果出现新版本, SpringLoaded 会检测到它。该类的任何实时实例都会立即看到新形式。 对于该对象,实例无需被丢弃并重新创建。

毫无疑问,这引起了很多问题,希望不久将会出现一个合适的常见问题解答!但在此期间,以下是一些基本的问题和答案:

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Java

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言