3.JAVA基础面试题:其他

三.JAVA基础面试题:其他


1.异常的结构

2.异常的处理try-catch-finally的使用

3.try-with-resources的使用


1.什么是泛型?有什么作用?

2.泛型有哪几种?实际用途?


1.什么是反射?反射的缺点?

2.什么是注解?

3.注解的解析方法有哪几种?


1.spi和api的区别

2.序列化和反序列化机制是什么

3.有些字段不想序列化怎么办

4.IO流了解吗?IO流为什么分为字节流和字符流?

5.什么是语法糖?常见的语法糖有哪些?


三.JAVA基础面试题:其他


1.异常的结构

  • JAVA有异常(Exception)和错误(error)
  • 错误
    编译时错误:语法不通过。
    运行时错误:JVM虚拟机出错。
  • 异常
    编译时异常(受检异常):编译时异常和代码本身逻辑无关,一般都为环境。(filenotfoundException,SQLException,classnotfoundException)
    运行时异常(不受检异常)(nullpointerException,arrayindexoutofboundsException)

2.异常的处理try-catch-finally的使用

  • 抛出异常(抛)
    throw
  • 处理异常(抓)
    try-catch-finally
    throws
  • try-catch-finally的使用
    try不能单独出现。
    编译器规定,受检异常必须通过try-catch。
    运行时异常不需要,故可以try-finally。
  • try-catch-finally的顺序
    有异常:异常之后的try块内代码不执行,依次执行catch和finally里面的代码。
    无异常:try代码和finally代码。
    有返回值时:try和catch返回前都要先执行finally,finally可提前return,但是finally改变不了try和catch的return的值

3.try-with-resources的使用

  • try(){ } catch(){}
    将需要手动关闭的资源放到try的括号中,java自动关闭资源。

1.什么是泛型?有什么作用?

  • 编译器对泛型参数进行检测,能够指定传入对象的类型,增强代码的可读性。

2.泛型有哪几种?实际用途?

  • 泛型有泛型类,泛型接口,泛型方法。
  • 泛型可用在通用的返回结果。工具类。

1.什么是反射?反射的缺点?

  • 反射赋予我们在运行时分析类,获取类的方法属性的结构并且可以调用。
  • 反射可以无视泛型参数的安全检查。

2.什么是注解?

  • 注解本质是继承了annotation的特殊接口,必须通过解析之后才能生效。

3.注解的解析方法有哪几种?

  • 编译期直接扫描:编译检查
  • 运行期通过反射处理

1.spi和api的区别

  • spi是调用方提供接口(规范),实现方具体实现。
  • api是实现方实现了接口并提供给调用方调用。

2.序列化和反序列化机制是什么

  • 序列化:将数据结构或者对象转化为二进制流的过程
  • 反序列化:将二进制流转化为数据结构或者对象的过程
  • 序列化的主要目的:通过网络传输对象或者将对象持久化。

3.有些字段不想序列化怎么办

  • 不想进行序列化的变量用transient关键字修饰
  • transient的使用说明
    只能修饰变量,不能修饰方法。
    如果对象被序列化后其中有属性被transient修饰,那么反序列化后该属性会被赋默认值(null或0)。
    static变量不会被序列化,因为不属于对象。

4.IO流了解吗?IO流为什么分为字节流和字符流?

  • IO流分为输入流(外部存储到内存)和输出流(内存到外部存储)。
  • IO流也分为字节流和字符流。
  • 为什么要有字符流?
    字节流转换字符非常耗时。不知道编码类型的话,转换字符时容易出现乱码,故可以直接用字符流。
    有些字符不清楚编码类型无法得知几个字节,如只需要前三个字符,但是不清楚有几个字节,可以直接字符流的前三个。

5.什么是语法糖?常见的语法糖有哪些?

  • 语法糖是指编程语言方便程序员开发而涉及的特殊语法。
  • 语法糖
    泛型,自动装拆箱,变长参数,增强for循环,try-with-resources

未更新

你可能感兴趣的:(面试题,java,jvm,面试)