自闭小哈 2011-10-12 10:30
浏览 376
已采纳

修改java.lang.String类时出错?

本人想修改java.lang.String类,然后导出成jar,代替原来虚拟机的String类使用,但是在添加一个布尔数组后,导出成jar并使用时出现下面的错误:

Error occurred during initialization of VM
java.lang.ExceptionInInitializerError
Caused by: java.lang.IllegalArgumentException: name can't be empty
at java.security.BasicPermission.init(Unknown Source)
at java.security.BasicPermission.(Unknown Source)
at java.lang.RuntimePermission.(Unknown Source)
at java.lang.Thread.(Unknown Source)

添加的数组形式如下:
private boolean barray[];

如果改成private boolean barray; 则可正确运行。
如果改成跟String源码中的value一样:private final char value[]; 也不行。
百思不得其解,有人知道是怎么回事么?

  • 写回答

15条回答 默认 最新

  • rednaxelafx 2011-10-12 13:32
    关注

    还是请在[url=http://hllvm.group.iteye.com/]高级语言虚拟机[/url]群组新开个帖来讨论吧?问答频道上讨论很费力。

    请先说明为什么要加字段。或许有别的办法能实现你的真实需求。改VM是个精密工作,除非你有信息、有能力、有毅力去维护你的修改,不然我不建议在生产环境对VM做任何修改。我们这边也费了九牛二虎之力才说服PE部署我们修改过的VM…

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(14条)

报告相同问题?