RuntimeException 是那些可能在 Java 虚拟机正常运行期间抛出的异常的超类。 可能在执行方法期间抛出但未被捕获的 RuntimeException 的任何子类都无需在 throws 子句中进行声明。 也就是说,非RuntimeException异常类或者其子类的的异常都要声明捕捉。 只有RuntimeException 或者是其子类的异常是不需要进行声明捕捉的。
java中volatile关键字的含义@SuppressWarnings("unchecked") private Class<T> getClassOfT() { Class<T> classOfT = null; try { // 获取类型 Class<?> cls = getClass(); // 获取带泛型的父类 Type type = cls.getGenericSuperclass(); // 转换成参数化类型 ParameterizedType p = (ParameterizedType) type; Type[] types = p.getActualTypeArguments(); classOfT = (Class<T>) types[0]; } catch (Exception e) { LogUtil.e(LOG_TAG, "getClassOfT failed"); } return classOfT; }
http://www.cnblogs.com/aigongsi/archive/2012/04/01/2429166.html
死循环本身是不会StackOverflow的,只有无限递归的时候会出现。原则上循环嵌套次数本身是没有限制的,限制的是占用的栈空间,如果你的函数里定义了很多很多变量,栈空间就会用完得比较快。