Java小问题的解决方法系列

1)IDEA中文乱码,解决方法:http://blog.csdn.net/zht666/article/details/8953516

2)卸载OpenJdk,http://my.oschina.net/lxrm/blog/110638?fromerr=WFdow8FP

3)Java包命名规范,http://www.cnblogs.com/yxnchinahlj/p/4480967.html

4)Java操作数组的十大方法,http://blog.sae.sina.com.cn/archives/5346

5)Java父类和子类的转换,http://www.cnblogs.com/chenssy/p/3393160.html

6)Java中集合的交集、并集以及差集,结果存在调用方法的对象实例中,也就是说对象实例内容发生了改变,最好是进行进行集合运算做一份拷贝。http://www.blogjava.net/yourfriend/articles/377755.html

7)删除ArrayList中指定范围内的元素。使用ArrayList的方法subList(startIndex,endIndex)(不包含endIndex)得到一个List的对象,这个List其实是指向原先的ArrayList,对其做修改就会相应的修改原因的ArrayList,所以删除ArrayList中指定范围内元素的方法就是:ArrayList.subList(0,10).clear()。http://www.cnblogs.com/gaojing/archive/2012/06/17/java-list-sublist-caution.html

8)今天改写矩阵乘法代码时,将Writable[]转化为DoubleWritable[]时,转换不成功,提示信息是“java.lang.Exception: java.lang.ClassCastException: [Lorg.apache.hadoop.io.Writable; cannot be cast to [Lorg.apache.hadoop.io.DoubleWritable;”,我们只到"["表示数据是数组类型,那么紧跟其后的"L"又是什么意义呢?最终在stackoverflow(http://stackoverflow.com/questions/5085889/l-array-notation-where-does-it-come-from)上找到了答案,“L”表示数组元素不是基本类型。

[Z = boolean
[B = byte
[S = short
[I = int
[J = long
[F = float
[D = double
[C = char
[L = any non-primitives(Object)

9)在IDEA中设置运行程序的最大堆内存可以使用“-Xmx”,“-Xmx”的正确使用方式是“-Xmx1500m”,这里是设置最大堆内存是1500m,错误的使用方式是“-Xmx 1500m”,这样报错信息是:

Invalid maximum heap size: -Xmx
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

也就是说,使用“-Xmx”设置虚拟机的内存时,其后紧跟内存值,不能加空格

posted @ 2016-03-11 11:04  lz3018  阅读(403)  评论(0编辑  收藏  举报