繁体   English   中英

保存一个类的字节码(到SharedObject或数据库)

Saving bytecode of a Class (to SharedObject or database)

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

注意:我想保存AS3类的实际字节码,而不是它的实例!

一个类正在外部加载,并通过URLLoaderLoader.loadBytes提取。 然后从该应用程序域中提取单个类,并在项目中使用。

现在,无需保存整个Loader(通过SharedObject或其他存储方式),就可以“提取”所需类和所有依赖项的字节码,然后可以将其“注入”到空外壳或其他内容中在需要时可以重用?

2 个回复

所以你想评估(一些代码)? AS3中没有eval(),但这可能会对您有所帮助: http : //danielmclaren.com/2008/09/21/eval-in-as3-tips-for-executing-dynamic-actionscript

您也可以按照3Devil的建议将类保存在AMF中。

例:

package vos
{
    import flash.utils.ByteArray;
    import org.flixel.FlxPath;

    public class ActionVO extends Object
    {
        public var pid:uint;
        public var cid:uint;
        public var action:String;
        public var data:*;

    }
}

而您正在保存所需的共享对象的类

registerClassAlias( "org.flixel::FlxPath", FlxPath );
registerClassAlias( "org.flixel::FlxPoint", FlxPoint );
registerClassAlias( "VO::ActionVO", ActionVO );

并保存:

var byteArray:ByteArray = new ByteArray();
byteArray.writeObject(data);
shared.data.byteArray = byteArray;

..和加载:

var ba:ByteArray = shared.data.byteArray
ba.uncompress();
var vo:ActionVO = ba.readObject() as ActionVO; 

那里有vo(简单值对象类,包括更复杂的类FlxPath)

您可以尝试使用ByteArray.writeObject,它将保存对象属性的可逆快照。

1 在数据库中存储Java字节码

Java语言规范规定 包可以存储在文件系统(第7.2.1节)或数据库(第7.2.2节)中。 我们都熟悉存储在文件系统中的软件包,但是我没有看到存储在数据库中的软件包。 谁能比上述html指向我更详细地讨论此问题的站点? 我想了解目的,优点,缺点等。注意,我在问软件包而不 ...

2012-01-21 20:01:58 2 307   java
2 保存用反射修改的类的字节码

我有一个java模板类,我想修改一个String字段。 我可以实例化该类的对象,获取其对应的Class对象,并使用反射修改该字段,到目前为止一切顺利。 但是我如何实际将字节码保存到文件系统? 因为我认为如果我到达原始模板类的ClassLoader,转到InputStream并尝试保存到 ...

3 库源与类的字节码不匹配

不知道这里出了什么问题。我从本地 maven 存储库中删除了所有文件,并让它从头开始下载所有文件,但我无法摆脱这个错误: 为什么我会看到这个,我该如何摆脱它? ...

4 字节码如何表示另一个类

如果我有这些文件: 。 我用javac Gizmo.java Gadget.java编译它们,然后我有一个问题。 Gizmo.class文件如何引用“ Gadget”类? 文件中是否仅存在字符串“ Gadget”? ...

5 字节码、库和 Java

如果我想为 Java 创建一种新语言,我应该制作一个能够生成与 JVM 规范兼容的字节码的编译器,对吧? 还有JDK库? 我在哪里可以找到一些信息? 谢谢。 ...

6 Java字节码库

谁能解释什么是字节码库? 例如,一些Hibernate 3.5书籍告诉我Hibernate使用javaassit或CGLib字节码库。 对于这个库存在什么? 谢谢。 ...

7 需要在数据库中存储字节码

在我的上一个项目中,类文件存储在数据库中,并且还编写了一个自定义类加载器,以从数据库中获取这些类文件并加载它们。 我设计应用程序不是很好。 有人可以帮我弄清楚在数据库中存储类文件(字节码)的需求吗? 为什么会这样设计? ...

8 Android Studio:库源与类的字节码不匹配

请在投票之前全文阅读以作假! 我已经编写了一个Android库,并将测试档案上传到Bintray。 该库已在干净的Android Studio项目中成功从Bintrary下拉,并且可以正常工作。 但是,当为我的库中的一个特定文件选择“ 转到->声明”时 ,Android Stud ...

10 通过一个方法的字节码动态创建java类

我知道如果我有一个类文件,我可以在运行时加载它并通过classLoader执行它的方法。 但是,如果我只有单个方法的字节码或java代码怎么办? 是否可以在运行时动态创建一个类,然后调用该方法? ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM