当前位置: 首页 > article >正文

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

未更新


http://www.kler.cn/a/6074.html

相关文章:

  • arcgisPro加载CGCS2000天地图后,如何转成米单位
  • MakeFile使用指南
  • uniapp vue2版本如何设置i18n
  • 数据结构:LinkedList与链表—面试题(三)
  • BeanFactory与factoryBean 区别,请用源码分析,及spring中涉及的点,及应用场景
  • reducer同步,dispatch异步
  • git pull git push的详细使用
  • 帮公司面试了一个32岁的程序员,只因这一个细节,被我一眼看穿是培训班出来的,没啥工作经验...
  • C++笔记——第十二篇 二叉搜索树
  • 【对比学习(二)】如何得到正负样本?下游任务的具体执行阶段(以特斯拉为例简要讲解)?你知道什么是“模型坍塌”么?【NLP】中该如何做对比学习?
  • 初识Matlab2012a的神经网络工具箱(1)
  • 【LeetCode】二叉树的中序遍历(递归,迭代,Morris遍历)
  • SELECT COUNT(*) 会造成全表扫描吗
  • Disjoint 集合数据结构或 Union-Find 算法简介
  • jsp823科研项目申报管理网站cc94程序mysql+java
  • Uni-Mol: A Universal 3D Molecular Representation Learning Framework
  • 使用new bing chat成功了
  • 华为OD机试用java实现 -【数字的排列 or 数字反转打印】
  • CRM客户管理系统不被销售接受的五大原因
  • 二、MySQL 基础
  • 【软考——系统架构师】系统开发基础知识
  • 如何保证RocketMQ顺序消息以及可能出现的问题
  • Databend 开源周报第 86 期
  • 【CSS】清除浮动 ① ( 清除浮动简介 | 清除浮动语法 | 清除浮动 - 额外标签法 )
  • 计算机组成原理:5. 输入输出系统
  • Higress 0.7.0 版本发布:GA 进入倒计时