美文网首页
我的Java基础

我的Java基础

作者: FengXQ | 来源:发表于2018-09-11 12:11 被阅读0次

我的Java

语言和Jvm以及Hotspot

1、简述一下Class class(Class类),以及说明一下比较特殊的Class

Class对象代表运行其的类或接口,Enum是类的一种,Annotation是接口的一种。所有的数组也都属于一个类,并且通过反射生成一个Class对象。类型相同且维度相同的数组,共享一个对象。Java的8个原生数据类型、以及关键字void都代表Class对象。

这是合法代码:

System.out.println(void.class.getName());

System.out.println(int.class.getName());

2、Object都有哪些方法?

共有12个显示定义的方法,其中一个比较特殊的是私有静态方法。以及未显示定义,但是存在的默认构造函数。

private static native registerNatives()

public 类型的方法:equals()、toString()

public final native类型的方法:getClass()、notify()、notifyAll()、三个wait()

public native方法有:hashCode()

protected native方法有:clone()

protected finalize()

3、关于Object.clone()和Cloneable接口的关系

Object.clone()方法是可以在子类中重写(override),但是如果需要调用clone方法,则前提是这个类必须是实现了Cloneable接口。Cloneable接口没有声明任何方法。否则在调用时会抛出CloneNotSupportException。

4、关于Throwable的简单描述

来自《java doc》

java.lang.Throwable是所有Error和Exception的父类,也只有Throwable和其子类可以用于java的throw语句和cache语句。为了能够在编译期检查异常,所有Throwable和其子类,但不是RuntimeException和Error的子类,的类都是检查异常(Checked Exception)。RuntimeException和Error以及两者的子类都是非检查异常(Unchecked Exception)。

来自《java language》

从定义上来说,Throwable和所有子类统称为异常类。Throwable有两个子类:Error和Exception。

异常分为检查类异常和非检查类异常。(上面已经叙述了)

RuntimeException通常称为运行时异常类

Error通常称为Error(错误)类。

我的理解:严格意义上来讲,Error不能说是运行时异常,而是非检查类异常。非检查类异常包括运行时异常和Error。

5、关于Error的一些描述

Error的java doc非常简陋。

来自《java language》

Error通常情况下程序都不希望恢复。

我的理解:Error是可以被捕获并进行相应的操作,比如StackOverflowError| OutOfMemoryError都是可以捕获的,这是java规范中不建议捕获。

6、[]数组的最大长度是多少?

这跟vm heap的可用内存大小有关。

7、关于API和SPI以及在dubbo中的应用

【略】

8、关于异步异常

来自《java language》

异步异常只会来自两种情况:

调用Thread或ThreadGroup的stop方法,stop被调用时,线程内部可能运行在任何一个点上。

JVM一个内部错误或资源限制用来阻止它实现编程语言语义,这种情况下,VirtualMachineError子类的异常实例作为异步异常抛出。例如StackOverflowError可能是在方法调用时异步抛出。

异步异常很少见但是要编写高质量的代码,就必须很好的理解它们。

9、引发异常的几个原因

异常的产生有三个原因:

1、 throw语句抛出异常。

2、 不正常的执行:违反规则的计算表达式;类初始化异常(loading、linking、initializing);内部异常或资源限制。这些都是在可能引发问题的指定的点上的异常,而非任意点抛出。

3、异步异常发生。

10、编译期异常检查和处理

来自《java language》

11、运行期异常处理

来自《java language》

相关文章

  • Java 基础

    Java 基础01Java开发入门 Java 基础02Java编程基础 Java 基础03面向对象 Java 基础...

  • 技术体系

    一,java核心 java基础,jvm,算法,多线程,设计模式 Java基础:java基础相关,全栈java基础 ...

  • 面试题汇总

    1.Java基础面试问题 Java基础之基础问题 Java基础之面向对象 Java基础之数据结构 Java基础之I...

  • 【Android】知识点汇总,坚持原创ing

    Android基础 Java基础 Java基础——Java内存模型和垃圾回收机制 语法基础 语法基础——C语法基础...

  • Java基础:反射

    反射注解动态代理相关阅读 Java基础:类加载器 Java基础:反射 Java基础:注解 Java基础:动态代理 ...

  • Java基础:注解

    系列阅读 Java基础:类加载器 Java基础:反射 Java基础:注解 Java基础:动态代理 1. 概述 注解...

  • Java基础:动态代理

    系列阅读 Java基础:类加载器 Java基础:反射 Java基础:注解 Java基础:动态代理 概述 在运行时,...

  • Java 集合类原理

    Java基础——HashMap源码分析 Java基础——HashSet源码分析 Java基础——HashTable...

  • Java基础:类加载器

    系列阅读 Java基础:类加载器 Java基础:反射 Java基础:注解 Java基础:动态代理 1. 什么是类加...

  • java基础(一)-String、StringBuffer、St

    java基础-String、StringBuffer、StringBuilder java基础小白,初学java,...

网友评论

      本文标题:我的Java基础

      本文链接:https://www.haomeiwen.com/subject/ydoygftx.html