Java:编译内容的Hashmap

Java:编译内容的Hashmap,java,hashmap,Java,Hashmap,我希望实现一个HashMap,它的内容是字节码。这类似于我将内容序列化,然后将其读入。但根据我的经验,序列化只适用于将其保存到文件中,然后将其读入,我希望此实现比此更快 但根据我的经验,序列化只适用于将其保存到文件中,然后将其读入,我希望此实现比此更快 序列化可用于流。具体来说,可以包装任何。如果要执行内存内序列化,可以在此处使用 类似地,在输入端。您可以使用Java序列化机制将HashMap保存为字节数组 Map map = new HashMap(); map.put(1,

我希望实现一个HashMap,它的内容是字节码。这类似于我将内容序列化,然后将其读入。但根据我的经验,序列化只适用于将其保存到文件中,然后将其读入,我希望此实现比此更快

但根据我的经验,序列化只适用于将其保存到文件中,然后将其读入,我希望此实现比此更快

序列化可用于流。具体来说,可以包装任何。如果要执行内存内序列化,可以在此处使用


类似地,在输入端。

您可以使用Java序列化机制将HashMap保存为字节数组

    Map map = new HashMap();
    map.put(1, 1);
    ByteArrayOutputStream bout = new ByteArrayOutputStream();
    ObjectOutputStream oos = new ObjectOutputStream(bout);
    oos.writeObject(map);
    oos.close();
    byte[] bytes = bout.toByteArray();
    // restore from bytes
    ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(bytes));
    map = (Map) ois.readObject();
    System.out.println(map);
输出

{1=1}

并不是说映射中的键和值都必须是可序列化的,否则它将无法工作

您要解决的确切问题是什么?您是指字节数组而不是字节码吗?字节码是编译itI后java代码的形式。我试图创建一个初始化和查找时间尽可能短的类。我的想法是输出一个包含写入其中的数据的.java文件,然后将该文件编译成字节码。使用这种方法有两个级别的散列,您可以重新散列,直到第二级表中的每个项都有自己的表元素。这意味着理论上最差的时间复杂度是
O(1)
。因此,我的想法是,如果内容是静态的,并且在编译时之前就知道了,那么为了提高查找速度(和类初始化),执行此操作的方法是什么呢?谢谢。我将输出一个java文件,其中的数据作为字符串,然后反序列化它。这个方法与制作我自己的HashMap类相比如何?HashMap类中的表(带有值)是静态变量?