Linux下java使用UTF-16编码造成系统资源耗尽后死机?
只是一个很简单的例子,却造成了系统的资源耗尽,而无法在运行下去,我是用Eclipse来进行编译的,如果在运行中停掉就没有事?在虚拟机下面进行的使用的运行环境也不是JDK
请各位帮忙指教下如何解决这个问题,在此感谢,下面是贴上的代码:
public class test {
public static void main(String args[]) throws Exception {
byte b[] = new byte[2];
b[0]=3;
b[1]=-33;
System.out.println( "string: "+new String(b, "UTF-16 "));
}
}
------解决方案--------------------输出:
string:?
------解决方案--------------------这太难说了
你的代码没有问题,按理不会出现资源耗尽呀
每次都是这样吗?你是怎么知道是资源耗尽的呢?
------解决方案--------------------你把打印去掉,或者换成
String str=new String(b, "UTF-8 ");
System.out.println( "length: " + str.length());
看看
------解决方案--------------------byte b[] = new byte[2];???
------解决方案--------------------win下有这样的情况吗?我也是linux,不过linux下的标准编码是utf-8倒是真的
------解决方案--------------------不要理那个xiaoyetao的ID,整天捣乱。
没有看出什么问题,没有实机环境,实在不知道问题出在哪里。lz
> 在虚拟机下面进行的使用的运行环境也不是JDK
是什么呢
------解决方案--------------------也许你的linux不支持utf-16字符集呢