Java.lang包是Java中使用最广泛的一个包,它包含很多定义的类和接口. java.lang包包括以下这些类: Boolean Byte Character Class ClassLoader Compiler Double Enum Float InheritableThreadLocal Integer Long Math Number Object Package Process ProcessBuilder  Runtime RuntimePermission  SecurityM…
这是一个非常常见的异常,从名字上看是数组下标越界错误,解决方法就是查看为什么下标越界. 下面是一个错误示例: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2 at test4.State.nextStates(State.java:93) at test4.State.main(State.java:478) 从这些提示信息中可以获取如下信息: 1.错误发生在93行 2.发生错误的时候,下标的…
参考:http://blog.csdn.net/javaeeteacher/article/details/4485834 这是一个非常常见的异常,从名字上看是数组下标越界错误,解决方法就是查看为什么下标越界. 下面是一个错误示例: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2 at test4.State.nextStates(State.java:93) at test4.State.m…
1.父类定义的某个属性,没有被子类使用,或者在子类中,又重新定义一次. 2.因为调用了一个object的方法,且此object的reference为null:比如说:String a=null; //a即为一个String类型的referencea.trim();   //这行代码就会报“java.lang.NullPointerException”错 即,父类属性,只是默认初始化(未赋值),就被调用.…
今天在项目开发时遇到一个问题,整个项目是使用Spring等框架搭建起来的在运行项目时不报任何的异常信息,就是找不到某个类信息,各方查找该类确实是存在的,最后通过断点跟踪时在异常栈内发现java.lang.ExceptionInInitializerError这个异常信息,但这个异常信息没有在控制台或者日志系统中抛出来,查明原因之后就对症下药最终解决了该问题.查找该问题也着实费了一翻功夫,正好趁此机会把该问题引发的原因及针对这类问题应该如何来避免记录一下.由于该项目中的代码比较复杂,这里举一个简单…
今天将一个数组转换成 List 然后进行 remove 操作时却抛出 java.lang.UnsupportedOperationException 异常. String pattern = " ^, v, m, n-music-name, $ "; String[] patternSplit = Utils.getStringTrimSplit(pattern, ","); // 去除模式中的^和$标识 List<String> natureList…
这个是可以的,一个“.java”源文件里面可以包含多个类,但是只允许有一个public类,并且类名必须和文件名一致. 每个编译单元只能有一个public 类.这么做的意思是,每个编译单元只能有一个公开的接口,而这个接口就由其public 类来表示. 你可以根据需要,往这个文件里面添加任意多个提供辅助功能的package 权限的类. 但是如果这个编译单元里面有两个或两个以上的public 类的话,程序就不知道从哪里导入了,编译器就会报错.…
OOM浅析 相信有一定java开发经验的人或多或少都会遇到OutOfMemoryError的问题,这个问题曾困扰了我很长时间,随着解决各类问题经验的积累以及对问题根源的探索,终于有了一个比较深入的认识.参照网上的一些解决方案,在这里加以整理. 在解决java内存溢出问题之前,需要对jvm(java虚拟机)的内存管理有一定的认识.jvm管理的内存大致包括三种不同类型的内存区域: Permanent Generation space(永久            保存区域).Heap space(堆区…
可以,若这个类的修饰符是public则,其类名须与文件名相同.…
可以,但一个源文件中最多只能有一个公开类(public class)而且文件名必须和公开类的类名完全保持一致.…