修改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[]; 也不行。
百思不得其解,有人知道是怎么回事么?

0
扫码支付0.1元 ×
其他相关推荐
java.lang.String 类的所有方法
java.lang.String 类的所有方法2006年09月20日 星期三 13:41 方法摘要 char charAt(int index)           返回指定索引处的 char 值。 int codePointAt(int index)           返回
自定义一个java.lang.String类,这个类是否可以被类加载器加载?为什么。
1.、双亲委派模型 类加载器可分为两类:一是启动类加载器(Bootstrap ClassLoader),是C++实现的,是JVM的一部分;另一种是其它的类加载器,是Java实现的,独立于JVM,全部都继承自抽象类java.lang.ClassLoader。jdk自带了三种类加载器,分别是启动类加载器(Bootstrap ClassLoader),扩展类加载器(Extension ClassLoa...
能不能自己写个类,也叫java.lang.String
可以,但在应用的时候,需要用自己的类加载器去加载,否则,系统的类加载器永远只是去加载jre.jar包中的那个java.lang.String。由于在tomcat的web应用程序中,都是由webapp自己的类加载器先自己加载WEB-INF/classess目录中的类,然后才委托上级的类加载器加载,如果我们在tomcat的web应用程序中写一个java.lang.String,这时候Servlet程序加
能不能自己写一个类叫java.lang.String
添加链接描述
自定义java.lang.String这个类不会被加载详解
自定义java.lang.String这个类为何不会被加载? 因加载某个类时,优先使用父类加载器加载需要使用的类。如果我们自定义了java.lang.String这个类, 加载该自定义的String类,该自定义String类使用的加载器是AppClassLoader,根据优先使用父类加载器原理, AppClassLoader加载器的父类为ExtClassLo...
为什么不能自定义java.lang.String
如果直接写一个java.lang.String类,并写一个main方法,即 package java.lang; public class String { public static void main(String[] args) { System.out.println("Hello String"); } } 运行之后会抛一个异常: 错误
关于自己写的java.lang.String能不能被加载的问题
如题,作者之前对于自己写的java.lang.String类能不能被加载,一直感到非常困惑,今天写代码证实了一下。上干货。 自己写类加载器:public class MyClassLoader extends ClassLoader{ public Class findClass(String name){ byte[] b = null; try { b = ge
能不做自己写个类,也叫java.lang.String
http://bbs.itheima.com/thread-51369-1-1.html   可以,但是即使你写了这个类,也没有用。 这个问题涉及到加载器的委托机制,在类加载器的结构图(在下面)中, BootStrap是顶层父类,ExtClassLoader是BootStrap类的子类,ExtClassLoader又是AppClassLoader的父类 这里以java.lang.St
Java lang包中String类的方法和构造器
String类:                  方法                                                                         返回值类型                                    举例 获取字符串的长度                                          .le...
Java 字符串类的常用方法【java.lang.String】
public class StringTest { static class sss{ String s3="core java"; } class sss2{} public static void main(String[] args){ String s1="core java"; String s2="Core Java"; StringTest.sss ss=new St
利用反射函数实现一键清除缓存,并获取清除的缓存数目。调用反射函数类出错java.lang.NoSuchMethodException: getPackageSizeInfo.
在开发一键清缓存的功能时,缓存清除成功
java能不能自己写一个类叫java.lang.System/String正确答案
最近学习了下java类加载相关的知识。然后看到网上有一道面试题是 能不能自己写个类叫java.lang.System? 网上提供的答案:通常不可以,但可以采取另类方法达到这个需求。所谓的另类方法指自己写个类加载器来加载java.lang.System达到目的。 首先表明下我的观点。上述答案完全是误导读者,是不正确的答案。我就纳闷了网上怎么把这种完全不正确的搜索结果排在前面,而且几乎搜到的都是
重写java.lang.String类时遇到的问题
这两天在做动态污点传播(Dynamic tainting),需要修改java的String类,并导出成jar包,配置在JVM上代替原来的String类运行。可是当在String中添加一个数组: [code="java"]private boolean taintchar[]; [/code] 配置后运行时出现以下异常: [code="java"]Error occurred durin...
JAVA基础面试题(带答案的)
JAVA面试题 java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类
阿里内推面试问题---自己写的java.lang.String类能否被加载?
前段时间同学推荐我参加了阿里的内推面试,因为本人主要关注在技术上写代码稍强一些,对于这样的问题好难回答的上来,只知道有个类加载器,大概的顺序,对与这样的问题是在是一筹莫展,顾在面完之后马上到网上查了查总算搞清楚了~~~好了废话不多进入主题。 1.什么是类加载器?   类加载器就是Java运行时环境(Java Runtime Environment)的一部分,负责动态加载Java类到Java
Java常用API 之 java.lang.String类(附解析和示例)_04
String 类代表字符串,Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现。字符串是常量;它们的值在创建之后不能更改。因为 String 对象是不可变的,所以可以放心的共享。public final class String//源码 implements java.io.Serializable, Comparable<String>, CharSe...
追根溯源---java.lang.String类为什么是final的?
java.lang.String类为什么设计成 final 的? 首先,先得清楚 final 这个关键字。 final的出现就是为了为了不想改变,而不想改变的理由有两点:设计或者效率。final 修饰的类是不被能继承的,所以 final 修饰的类是不能被篡改的。 了解了这一点,我们再看看问题:1、从设计上讲, 1)、确保它们不会在子类中改变语义。String类是final类,这意味着不允许任
java能不能自己写一个类叫java.lang.System/String?
java能不能自己写一个类叫java.lang.System/String? (原文地址:http://blog.csdn.net/tang9140/article/details/42738433#) 能不能自己写个类叫java.lang.System? 网上提供的答案:通常不可以,但可以采取另类方法达到这个需求。所谓的另类方法指
【Java】java.lang.String类源代码翻译及解析1
String类表示一个字符串(character strings)。Java programs中的所有的string字母,像”abc”,都是作为该类的实例来实现的; Strings是一个恒定的,不变的;在被创建后,他们的值不允许被改变;String buffers支持值可变的strings; 因为String对象是不可变的,所以他们可以被共享;例如 String str="abc";
Eureka错误导致启动项目失败
Failed to bind properties under ‘eureka.client.service-url’ to java.util.Map<java.lang.String, java.lang.String> Reason: No converter found capable of converting from type [java.lang.String] to ...
【从零之三(更)】自定义类中调用讯飞语音包错误解决办法
在科大讯飞语音包的Mscdemo中它的方法都是写在Activity中的,这样其实并不是很好,因为Activity只是负责UI交互的,如果项目很简单自然可以,但是一旦比较复杂肯定要自己定义很多包很多类,但是写在Activity中的方法就不能被自己定义的类调用了,咋办尼,那就把方法写在自己的类里就行了。 准备工作:把Msc.jar包和libmsc.so拷贝到自己工程的libs目录下,这样才能用它的方
Mybatis中parameterClass="java.lang.String"(或基本数据类型的包装类?)
repository层代码: public int updName(String name) { return updateDAO.execute("TABLENAME.updName", name); }     sqlmap的sql语句 <update id="updName" parameterClass="java.lang.String"> update ...
打破双亲代理机制是否可以自己定义一个String 类
打破双亲代理机制是否可以自己定义一个 String 类 面试的时候被问了一个问题:能否打破双亲代理机制是否可以自己定义一个String 类,如果包名和java.lang.String 一致呢? 当时一脸懵逼,这方面的知识还是缺乏啊,下来之后写了代码之后试了一下,答案是:可以 详细一点回答是:使用非“java”开头的包名是可以的,但包名不能以“java”开头。 类加载器 package...
实现ResponseBodyAdvice接口,统一拦截接口返回数据时,controller返回值是String 类型时异常
为实现接口统一返回数据时自定义的拦截响应数据时出现异常情况。 如果controller 方法返回值 是String 类型时抛出异常。 异常如下: java.lang.ClassCastException: com.lk.face.common.model.ResponseDataVo cannot be cast to java.lang.String at org.springfram...
bug 突然报了SharedPreferences空指针,以前没遇见过
at java.util.concurrent.FutureTask.run(FutureTask.java:237) ... 3 more java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.SharedPreferences android.content.Conte...
java.lang.String类源码疑问
java源代码String类中的构造函数有一个这样的:rnpublic String(String original) rn int size = original.count;rn char[] originalValue = original.value;rn char[] v;rn这只是开头的一小段,count在String类中是这样定义的(是在这个类的开头定义的):rnprivate final int count;没有初始化rnrn按照“对象调用成员变量”的逻辑,original.count没有初始化值应该是0吧,但我断点调试确是original.length的值;rn那original.count到底是在哪赋的值?什么时候赋的值呢?rnrn求大侠解惑!!!
为什么web应用在tomcat启动时报java.lang.ClassCastException异常?
QQ图片~1.JPG (102.65 KB, 下载次数: 0) 下载附件 2015-5-27 11:09 上传           其实这是maven的tomcat插件的一个Bug,使用独立版本的tomcat或者使用maven的jetty插件可以避免这个问题。
MATLAB 2012 "查找安装程序类时出错,查找类时出现异常"的解决方法
安装好MATLAB 2012后再安装目录下点击setup.exe会出现 "查找安装程序类时出错,查找类时出现异常"的错误提示。该错误的解决方法是进入安装目录下的bin文件夹双击matlab.exe对安装程序进行激活。这是可以对该matlab.exe创建桌面快捷方式,以后运行程序是直接双击该快捷方式即可。 参考资料: http://www.ilovematlab.cn/thread-1
Hive数据仓库--HiveUDF异常解析与其中的坑
使用Hive进行分析的过程中遇到了这个异常的信息,一开始看到比较惊讶,因为感觉代码并没有什么不太合理的地方,不过还是抛出了一堆的异常信息,我把日志信息读了一下,发现导致最终异常的是FastJson在封装的时候找不到无参构造函数,虽然最终原因不是Hive引起的,但是上面的一堆异常也的确是唬人的。异常信息Error: java.lang.RuntimeException: org.apache.had
Java-缓存不可变类
不可变类 不可变类的意思是创建该类实例后,该实例的实例变量是不可改变的。 Java中的8个包装类和java.lang.String类都是不可变类,当创建它们的实例后,其实例变量不可改变。 如果需要创建自定义的不可变类,遵循以下规则: 使用private和final修饰符来修饰该类的成员变量 提供带参数构造器,用于根据传入参数来初始化类中的成员变量 仅为该类的成员变量提供getter方法,不...
壁虎程序员_java.lang.String类
程序员微信:wxbihu
euraka 启动报错
控制台报错的全部信息如下    Description: Failed to bind properties under 'eureka.client.service-url' to java.util.Map<java.lang.String, java.lang.String>:     Reason: No converter found capable of conv...
葵花宝典面试题
2、String是最基本的数据类型吗? 基本数据类型包括byte、int、char、long、float、double、boolean和short。 java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类
java相关笔试题大总结
java笔试题总结:关键字: java笔试题 1。 java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类
java将JSON字符串转换为实体类对象,基于net.sf.json实现
java将JSON字符串转换为实体类对象 @SuppressWarnings("unchecked") public static T jsonToObject(String jsonString, Class pojoCalss) { try{ Object pojo; net.sf.json.JSONObject jsonObject = net.sf.jso
javaWEB使用El表达式报错问题,属性未找到javax.el.PropertyNotFoundException
-------------------------------描述-------------------------------------今天在做web练习的时候,在用el取值的时候报错,用${A.Manufacturer}后台报错,A:一个类的对象名字Manufacture:类的一个属性名编译器没有报错,而且确定自己也咩有什么逻辑错误(毕竟小题目没什么逻辑可言),但是运行就是报错------j...
java程序员面试宝典
2、String是最基本的数据类型吗? 基本数据类型包括byte、int、char、long、float、double、boolean和short。 java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类
LABVIEW 串口调试修改版
LABVIEW串口案例修改,用于串口调试修改,但打开串口时容易出错,未能找到原因
java中报错"不兼容类型:java.lang.String无法转换为String"原因
public class String { public static void main(String[] args) { String s1 = "hello"; } } 这段代码看似没错,实际运行就会报错 这是因为String类是java中本就存在的类,所以自己起类名的时候不要起java中已有的类名
自定义类加载器加载自定义类:能否加载自定义的java.lang.xxxxxx
最近在研究类加载器,看到很多有关自定义类加载器的方法。有关“能否自定义类加载器加载java.lang.String”有争议,于是我实现了一下:首先实现自定义类加载器可以通过实现两个方法来做:1 findClass 2 loadClass首先看findClass如果实现这个方法,那么样例代码如下: protected Class<?> findClass(String name) thr...
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 学习java基础语法时 学习java时