写点什么

JavaRebel:在 JVM 中动态装载类

  • 2007-10-26
  • 本文字数:479 字

    阅读完需:约 2 分钟

JavaRebel 给 Java 带来了 Ruby 和 PHP 风格的动态重新装载类特性。虽然现在还有些局限性,但它可以显著地增加开发速度。

JavaRebel 允许一个应用程序(独立的或运行在应用服务器上的应用)重新装载在运行过程中(on the fly)发生的大多数类变化,包括增加或删除方法和域。

使用字节码修正和一点“妖术”,JavaRebel 扩展了 JVM,使其具备在运行中重新装载对类的几乎任意修改的能力。包括增加和删除方法和域,唯一禁止重新加载的改变是“extends”和“implements”语句。因此,在应用和服务器所保持的所有现存对象实例可以继续运行,代码改变会立刻在应用程序中表现出来。

已发现的一些局限性包括:

  • getClass().getPackage() 返回为 null。Zeroturnaround 已经知道该问题并正在解决。
  • 不支持自定义的类装载器
  • 现在没有给资源重新装载时的执行动作提供勾子方法(hook)(例如刷新一个在 Spring 应用依赖图表中的对象)

尽管有这些限制,反馈普遍给于肯定的。Zeroturnaround 照常制作可用的每夜构建并计划不久发布一版SDK 以帮助解决一些问题(如自定义类装载器的限制问题)。

查看英文原文: JavaRebel: Dynamic Classloading in the JVM

2007-10-26 07:001649
用户头像

发布了 150 篇内容, 共 52.9 次阅读, 收获喜欢 10 次。

关注

评论

发布
暂无评论
发现更多内容

软件工程师必备的10个Git命令(先码住)

伤感汤姆布利柏

git GitHub

亚马逊云科技联合Clarity AI共同推动大规模可持续性投资

财见

Batrix企业能力库之物流交易域能力建设实践 | 京东物流技术团队

京东科技开发者

架构 技术中台 企业号11月PK榜

前端常用设计模式初探 | 京东云技术团队

京东科技开发者

前端 设计模式 企业号11月PK榜

Taro:高性能小程序的最佳实践 | 京东云技术团队

京东科技开发者

小程序 taro 前端 跨端

单元测试的实践与思考

老张

单元测试 质量保障

好用的建模仿真软件 Comsol Multiphysics激活中文

胖墩儿不胖y

Mac软件 仿真软件 仿真工具

亚马逊云科技宣布推出Amazon Q重塑未来工作方式

财见

为什么说前端代码的复用率低?

代码生成器研究

谷歌推广怎么做?

九凌网络

3d模型的中心原点有偏移怎么办?

3D建模设计

3d建模 模型原点设置

uniapp上架app store详细攻略

LLM模型参数助力多模态大模型高效训练

百度开发者中心

大模型 #人工智能 LLM

开源大模型驱动的编程能力测试

百度开发者中心

#人工智能 LLM

低代码开发可以解决哪些问题?

代码生成器研究

香港VPS配置与应用:专家级建议与实践指南

一只扑棱蛾子

香港VPS

创意性LED电子大屏幕推动LED显示屏行业融合

Dylan

功能 显示器 LED显示屏 全彩LED显示屏 led显示屏厂家

基于神经网络的大模型在自然语言处理中的应用前景展望

百度开发者中心

nlp 大模型 #人工智能

SPI扩展点在业务中的使用及原理分析 | 京东物流技术团队

京东科技开发者

Java spi 企业号11月PK榜

元宇宙8大关键技术_元宇宙解决方案

3DCAT实时渲染

元宇宙 元宇宙解决方案

基于Java开发的支持全文检索,知识图谱,工作流审批的知识库管理系统

金陵老街

Vue 工作流 neo4j 知识图谱 spring-boot

2023-11-29:用go语言,给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。 需保证 返回结果的字典序最小。 要求不能打乱其他字符的相对位置)。 输入:s = “cba

福大大架构师每日一题

福大大架构师每日一题

即时通讯技术文集(第25期):实时音视频基础入门 [共20篇]

JackJiang

网络编程 即时通讯 IM

JavaRebel:在JVM中动态装载类_Java_Rob Thornton_InfoQ精选文章