Java常见面试题分享
Posted lyslyslyslyslys
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java常见面试题分享相关的知识,希望对你有一定的参考价值。
大家好,我又来啦!今天又给大家带来了几道java基础的常见的面试题,希望能对大家有所帮助哦.有什么问题可以直接发文评论哦,感谢大家的支持!
1、集合如何进行排序?
Collections.sort(List对象,Comparator比较器对象(定义排序规则));
2、HashMap和Hashtable的区别。
1)HashMap允许空键和空值,Hashtable不允许。
2)HashMap线程不安全,Hashtale线程安全。
3、流按照输入输出方向分有几种?相对于什么而言?
流按输入输出方向分,分为输入流和输出流,相对内存而言。
将数据从数据源读取到内存中,称为输入流,也叫读取流。
将内存中的数据写入到数据源,称为输出流,也叫写入流。
4、流按照传输内容分有几种?各自的父类是什么?
流按照传输内容分,分为字节流,字符流和对象流。
无论是什么流,底层部分都以字节传输,本质都是字节流。但是为了方便开发者更好的进行字符数据和对象数据的操作,于是在字节流基础上进行了封装,形成了字符流和对象流。
字节流的父类:InputStream和OutputStream
字符流的父类:Reader和Writer
5、流操作的步骤。
建立流,操作流,关闭流。
6、操作流时,如果文件不存在会出现什么情况?如果流不关闭会出现什么情况?
操作流时,如果文件不存在,读取流会抛出文件未找到的异常。而写入流会创建新文件(目录必须存在)。
如果流不关闭,不仅耗费内存资源,而且写入流有可能写不进数据。
7、如何判断一个文件是否存在?如何创建一个目录?如何知道一个目录中有多少文件?
判断一个文件是否存在:File对象.exists();
创建一个目录:File对象.mkdir();
一个目录中有多少文件:File对象.listFiles();
8、什么是对象序列化?如何实现对象序列化?
在进行对象数据传输时,由于对象数据庞大,无法直接传输。在传输前,需要将对象打散成字节序列,以利于传输,这个过程称为序列化过程。到达目的地后,又需要将字节序列还原成对象,这个过程称为反序列化过程。
9、什么是关系型数据库?
关系模型,认为世界是由实体和联系组成的。关系型数据库,是以表做为实体,以主键和外键的关联关系作为联系的数据库结构。
10、什么是一对一、一对多、多对多?(关系模型、对象模型)
一对一:
关系模型:一条主表记录对应一条从表记录,同时一条从表记录对应一条主表记录。
对象模型:在一个类中拥有另一个类的对象。同时在另一个类中拥有该类的对象。
一对多:
关系模型:一条主表记录对应多条从表记录,同时一条从表记录对应一条主表记录。
对象模型:在一个类中拥有另一个类的集合。同时在另一个类中拥有该类的对象。
多对多:
关系模型:一条主表记录对应多条从表记录,同时一条从表记录对应多条主表记录。依靠中间表描述多对多的关系。
对象模型:在一个类中拥有另一个类的集合。同时在另一个类中拥有该类的集合。
11、什么是主键,主键有什么特点?
主键是一条记录在表中的唯一标识,不能为空,不能重复。
12、什么是外键,它和外键约束有什么区别
外键是用来表达表和表之间关联关系的列。而外键约束是一个强制措施,要求从表的外键列的值,必须引用主表主键中出现过的值。
没有外键约束,不表示没有外键。
13、数据库完整性有哪些?如何实现?
实体完整性:保证每行所代表的实体能互相区别,不能存在两条一模一样的记录。实现方式:主键约束和唯一约束。
域完整性:保证指定列的数据的有效性。实现方式:非空约束、默认约束、检查约束
引用完整性:从表外键中出现的数据,必须在主表的主键列中出现。实现方式:外键约束
自定义完整性
14、如何删除主表记录?
当两个表之间建立了关联关系,并且在从表中的外键添加了外键约束时,如果主表记录有从表记录引用,那么主表记录无法删除。
删除主表记录有两种方式:
1、级联删除 先删除主表记录对应的从表记录,再删除主表记录。
2、外键置空 先将主表记录对应的从表记录,外键设置为null,再删除主表记录
15、SQL语句中,增、删、改、查的基本SQL语句
增:insert into 表名(字段列表) values(值列表);
删:delete from 表名 where 条件列表
改:update 表名 set 列1=新值1,列2=新值2 where 条件列表
查:select * from 表名 where 条件列表
有喜欢的朋友可以点赞转发哦,有任何问题欢迎大家提出来一起讨论 谢谢大家的阅读!
以上是关于Java常见面试题分享的主要内容,如果未能解决你的问题,请参考以下文章