JAVA 面试整理,面试汇总
来源:互联网 发布:邮政网络培训学院手机 编辑:程序博客网 时间:2024/05/17 01:55
1、JAVA是通过重写和重载来实现多态性的。
重写:同样的方法签名,不同的方法实现
重载:同样的方法名,不同的参数类型或参数个数
2、JAVA中如果存在不再使用的对象,但是程序又持有该对象的引用,就会导致对象无法回收的情况,内存泄露。
3、char类型变量可以存储一个汉字,因为JAVA中以UNICODE编码,一个char占16个bit位,即两个字节,所以存储一个汉字没有问题。
4、String str=null;表明声明了一个String对象的引用str,但是没有为其分配内存空间;
String str="";表明创建了一个长度为0的空字符串,并在内存分配了空间。
5、String类被final关键字修饰,所以不能被继承。
6、==和equals的区别:
==比较的是内存地址和内容;equals比较的是对象的内容,跟地址无关。
7、面向对象3大特性:封装性,继承性,多态性。
8、抽象类和接口的区别:
抽象类中可以有方法的实现,可以指定方法的访问修饰符;接口的所有方法必须是抽象的,并且不能指定方法的访问修饰符。
9、重写equals方法时,一定要重写hashcode方法,保证equals满足的情况下,hashcode必须相等
主要原因是默认从Object继承来的hashCode是基于对象的ID实现的。
如果你重载了equals,比如说是基于对象的内容实现的,而保留hashCode的实现不变,那么很可能某两个对象明明是“相等”,而hashCode却不一样。
这样,当你用其中的一个作为键保存到hashMap、hashTable或hashSet中,再以“相等的”找另一个作为键值去查找他们的时候,则根本找不到。
——而这是反直觉的,因为“我要找的就是那个相等的对象,他明明在,我却找不到”。
10、所有异常类的父类是Throwable,不是Exception。
11、ReentrantLock可重入互斥锁,与synchronized类似,但是功能更加强大,它由最近成功获得锁但是还未释放该锁的线程拥有。为了保证申请的锁能够及时的释放,使用finally释放。
12、创建有返回值的线程,实现Callable接口,重写call方法。
13、创建线程池,Executors的方法创建,newCachedThreadPool,newFixedThreadPool。
14、Collection是一个接口,是List,Set,Queue的父接口,其中定义了集合类的通用方法,add,remove等等,该接口继承了Iterable接口,因此可以使用Foreach遍历集合中的元素;
Collections是一个类,是为Collection接口类型对象定义的工具类,提供很多静态方法,排序,查找等。
Java中的集合类,接口大致分为两类:Collection接口和Map接口。
15、list可重复,set不能重复。
- JAVA 面试整理,面试汇总
- PLSQL_Oracle面试整理(汇总)
- java面试题目汇总
- Java面试题目汇总
- java面试汇总
- JAVA面试汇总
- Java面试汇总
- JAVA面试汇总
- java面试算法汇总
- Java面试问题汇总
- Java面试汇总
- java面试汇总
- java多线程面试汇总
- Java面试问题汇总
- Java面试问题汇总
- java 面试知识点汇总
- JAVA面试题目整理
- java面试试题整理
- eoiioe linux下解压命令大全
- CPU的主频、倍频和外频的概念
- C#版winform实现UrlEncode
- js 修改链接 和 显示文本
- 2013.08.05----ssh创建无密码密钥(ssh连接不用输入密码)
- JAVA 面试整理,面试汇总
- HDU 4274 Spy's Work (树 DFS)
- JQuery文件上传插件Uploadify
- 当你谈论飞翔的时候
- Oracle alter session命令
- Tomcat 6.0.20配置Https
- 写liunx自动添加查询删除用户shell
- HDU How Many Answers Are Wrong
- 16-日期的输出