java面试题系列(一)基础

3 篇文章 0 订阅
1 篇文章 0 订阅

java面试题基础收录了基本上被问到的基础题和大致感觉会问的题目,收集了java语法,java常识方面的问题,带有*号的可以忽略

 

(一)

1.反射是什么?

在运行时动态获得对象或者类的相关信息的技术叫反射

2.*序列化是什么

把对象转化为字节流的过程,通过实现Serializable接口

3.*注解是什么

元数据,标注在代码上的数据

4.*断言是什么?

判断一个条件,判断对了通过,不对抛异常。基本用于软件调试

5.*自动拆箱和装箱是什么

包装类与基本数据类型的自动转换

6.什么是泛型

类型参数化,编译时擦除泛型

7.重写和重载的区别

重写指和父类相同的方法(返回值除外),重载指名称相同参数不同的方法

(二)

1.*jdk和jre和jvm的区别

jdk是java开发工具集,jre是java运行环境,jvm是java虚拟机(用来运行java程序和执行字节码)。jdk包含jre包含jvm

2.抽象类是什么,接口又是什么(或者具有什么特征)

抽象类是特殊的类,是对类的抽象的模板。接口是对类的行为的抽象。抽象类方法可以有实现,子类只能继承且必须实现抽象方法,带抽象关键字的类必须是抽象类。接口方法不能有实现(defult关键字除外),子类只能实现且必须实现所有方法

3.*值传递和引用传递

这个传递是发生在方法传递参数时发生的。基础变量时,拷贝了这个变量的值进行传递,如果改变这个值则变量不会随着改变。传递对象时,传递的是这个对象的引用,对引用进行操作,则对象随着改变(操作对象的属性等)

4.==和equals()方法说一下

==当是两个基础类型变量进行比较时,比较的是值是否相等,对象时,比较的是对象地址是否相等。equals是对象的一个方法。默认与==相同,比较的是对象内存地址是否相等。但在string、Integer时,重写了equals方法,默认比较值是否相等

5.final关键字说下

类上是不可继承的不可变类,方法上是不可重写,变量上是值或者引用不可变6.

6.异常和错误的区别,说下几个常见的异常

异常是约定俗成的关于程序设计和运行发生问题的一般处理方式,异常分为受检查异常和运行时异常。错误是指系统级的问题,一般发生在环境、jvm等

OutofIndexException数组下标越界、RuntimeException运行时异常

7.*深克隆和浅克隆

前者指拷贝对象时包括对象所有属性都拷贝,后者指只拷贝对象引用

8.说一下Integer的缓存(为什么Integer在-127-128之间比较时会相等)

缓存在-127-128之间,可以通过jvm参数设置

9.如何实现对象的克隆

对象实现Cloneable,重写object中的clone方法或序列化或者使用工具类如BeanUtil等

10.catch中写exit(0),finally会执行吗?catch中写return,finally会执行吗

前者不会,因为程序已经关闭了。后者会,程序只要还在执行就会执行finally

11.try和catch必须写在一起吗

不是,try可以跟finally,不用写catch即可

12.switch可以使用String作为判断吗

可以,在jdk1.6以后

13.jdk1.7有哪些新特性

可以直接表示二进制常量,可以try-with-resources自动关闭资源,可以只写一个catch,异常以“|”分隔,同时捕捉多个异常

14.jdk1.7中关闭流有哪几种方式

一是直接在finally中关闭,二是把流创建对象语句写在try上(条件语句),例如try(创建流语句),原因是流实现了AutoCloseable接口

String

1.string常用的方法和作用

substring截取字符串、split分隔字符串、(start)endwith是否以什么为结尾、length返回字符数(长度)、indexof判断字符串在哪个下标、trim去除首尾空格

2.string为什么是不可变类(可以继承String吗?)

因为:1.是final修饰的2.常量池中方便缓存

3.String s = new String(“xyz”)创建了几个对象

如果字符串常量池中有“xyz”,1个。在堆中创建一个对象,持有对“xyz”的引用

如果没有,2个,常量池需再创建一个

4.String、StringBuffer、StringBuilder作用和区别

第一个是不可变字符串,后两个是可变的。第二个是线程安全的,因为全部方法加了同步关键字

5.

其他问题:

1.如何读取一个Excel文件,说一下你做过的

第一种是poi,一次读取全部进内存进行解析。创建HSSFWORKBOOK对象

2.如果使用poi,如何处理日期格式乱码的问题(前提你说了你用过)

3.如何读取xml文件,这几种方式有什么区别

 

 

IO/反射/

待完善

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值