2019年Java 最常见的 面试题


Posted in 面试题 onOctober 19, 2016

1、java中Static关键字有哪些特点???

答:

1)、static成员变量

静态变量:属于类,内存中只有一个复制,所有实例都指向同一个内存地址,只要类被加载,静态变量就会本分配空间,调用方式有两种。类.静态变量 和 对象.静态变量

实例变量:属于对象,只有对象被创建,实例对象才会被分配空间,调用方式:对象.实例变量

2)、static成员方法

静态方法:属于类,不需要创建对象,就可以被调用。调用方式:类.静态方法 和 对象.静态方法

非静态方法:属于对象,只能在对象被创建出来之后才可以被使用。

注意:static方法中,不能使用this和super关键字,不能调用非static方法,只能访问所属类的静态成员变量和静态成员方法。

2、java中length属性与length()方法有什么区别???

答:length属性属于数组,用来获取数组的长度;而length()方法属于String 用来计算字符串长度。

3、java中Collections框架是什么???

答:Collection是整个集合框架的基础,它里面存储了一组对象,用于表示不同类型的Collections.主要有一下三种,其特点如下。

1)、set 主要特点集合中元素不能重复。

2)、list有序的Collection,按照对象的进入顺序保存对象,可以重复。

3)、map提供了从键映射到值得数据结构,值可以重复单键必须唯一。

4、java中ArrayList 、Vector 、LinkedList有什么区别???

答:ArrayList 、Vector 、LinkedList类均在java.util包,均为可伸缩数组,即可以动态改变长度的数组。

ArrayList 、Vector 都是基于数组来实现的,数据存储是连续的,支持下标访问元素,查询快,插入慢。

区别在于:ArrayList提供的方法都不是同步的,且线程不安全,但效率高。Vector大部分方法都是同步的,且线程安全,效率低。

LinkedList 采用双向链表来实现,因此访问效率低,插入效率高,且该容器是非线性安全的。

5、java中HashTable与HashMap有什么区别???

答:

1、父类不同:

HashMap是继承自AbstractMap类,而HashTable是继承自Dictionary。但都是实现了Map方法。

2、null值不同:

HashMap可以允许存在一个为null的key和任意个null的value,但是HashTable中的key和value都不允许为null。

3、线程安全性:

hashtable是线程安全的,hashmap不之初线程同步,不是线程安全的

11、同步与异步的区别???

答:所谓的同步,就是发出一个功能调用时,在没有得到结果之前,该调用就不会放回,或继续执行后续操作。简单来说,同步就是必须一件一件的来做,等前一件事做完了,才能做下一件事。



6. throw 和 throws 的区别?

throws是用来声明一个方法可能抛出的所有异常信息,throws是将异常声明但是不处理,而是将异常往上传,谁调用我就交给谁处理。而throw则是指抛出的一个具体的异常类型。

75. final、finally、finalize 有什么区别?

  • final可以修饰类、变量、方法,修饰类表示该类不能被继承、修饰方法表示该方法不能被重写、修饰变量表示该变量是一个常量不能被重新赋值。

  • finally一般作用在try-catch代码块中,在处理异常的时候,通常我们将一定要执行的代码方法finally代码块中,表示不管是否出现异常,该代码块都会执行,一般用来存放一些关闭资源的代码。

  • finalize是一个方法,属于Object类的一个方法,而Object类是所有类的父类,该方法一般由垃圾回收器来调用,当我们调用System的gc()方法的时候,由垃圾回收器调用finalize(),回收垃圾。


7. try-catch-finally 中哪个部分可以省略?

答:catch 可以省略

原因:

更为严格的说法其实是:try只适合处理运行时异常,try+catch适合处理运行时异常+普通异常。也就是说,如果你只用try去处理普通异常却不加以catch处理,编译是通不过的,因为编译器硬性规定,普通异常如果选择捕获,则必须用catch显示声明以便进一步处理。而运行时异常在编译时没有如此规定,所以catch可以省略,你加上catch编译器也觉得无可厚非。

理论上,编译器看任何代码都不顺眼,都觉得可能有潜在的问题,所以你即使对所有代码加上try,代码在运行期时也只不过是在正常运行的基础上加一层皮。但是你一旦对一段代码加上try,就等于显示地承诺编译器,对这段代码可能抛出的异常进行捕获而非向上抛出处理。如果是普通异常,编译器要求必须用catch捕获以便进一步处理;如果运行时异常,捕获然后丢弃并且+finally扫尾处理,或者加上catch捕获以便进一步处理。

至于加上finally,则是在不管有没捕获异常,都要进行的“扫尾”处理。

8. try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗?

答:会执行,在 return 前执行。



Tags in this post...

面试题 相关文章推荐
一套Java笔试题
Aug 20 面试题
经典c++面试题二
Aug 14 面试题
iostream与iostream.h的区别
Jan 16 面试题
如何利用find命令查找文件
Feb 07 面试题
介绍一下grep命令的使用
Jun 12 面试题
ShellScript面试题一则-ShellScript编程
Jun 24 面试题
东方红海科技面试题软件测试方面
Feb 08 面试题
请写出一段Python代码实现删除一个list里面的重复元素
Dec 29 面试题
万户网络JAVA程序员岗位招聘笔试试卷
Jan 08 面试题
简单的JAVA编程面试题
Mar 19 面试题
Unix控制后台进程都有哪些进程
Sep 22 面试题
既然说Ruby中一切都是对象,那么Ruby中类也是对象吗
Jan 26 面试题
2019年Java面试必问之经典试题
Sep 12 #面试题
金讯Java笔试题目
Jun 18 #面试题
某公司Java工程师面试题笔试题
Mar 27 #面试题
JAVA代码查错题
Oct 10 #面试题
怎么处理XML的中文问题
Mar 26 #面试题
一套Java笔试题
Aug 20 #面试题
某个公司的Java笔面试题
Mar 11 #面试题
You might like
PHP 图像尺寸调整代码
2010/05/26 PHP
php 判断是否是中文/英文/数字示例代码
2013/09/30 PHP
php如何控制用户对图片的访问 PHP禁止图片盗链
2016/03/25 PHP
phpmailer简单发送邮件的方法(附phpmailer源码下载)
2016/06/13 PHP
php版微信公众平台回复中文出现乱码问题的解决方法
2016/09/22 PHP
PHP中for循环与foreach的区别
2017/03/06 PHP
laravel如何开启跨域功能示例详解
2017/08/31 PHP
PHP单例模式应用示例【多次连接数据库只实例化一次】
2018/12/18 PHP
PHP PDOStatement::bindValue讲解
2019/01/30 PHP
[IE&FireFox兼容]JS对select操作
2007/01/07 Javascript
jQuery 操作option的实现代码
2011/03/03 Javascript
jQuery实现动画效果的实例代码
2013/05/07 Javascript
jQuery与getJson结合的用法实例
2015/08/07 Javascript
jquery实现全选功能效果的实现代码
2016/05/05 Javascript
基于JS如何实现给字符加千分符(65,541,694,158)
2016/08/03 Javascript
js友好的时间返回函数
2016/08/24 Javascript
正则中的回溯定义与用法分析【JS与java实现】
2016/12/27 Javascript
Node.js编写CLI的实例详解
2017/05/17 Javascript
Angular4 反向代理Details实践
2018/05/30 Javascript
详解CommonJS和ES6模块循环加载处理的区别
2018/12/26 Javascript
微信小程序顶部导航栏滑动tab效果
2019/01/28 Javascript
Vue scoped及deep使用方法解析
2020/08/01 Javascript
vue实现广告栏上下滚动效果
2020/11/26 Vue.js
echarts浮动显示单位的实现方法示例
2020/12/04 Javascript
Python3.0与2.X版本的区别实例分析
2014/08/25 Python
使用python实现正则匹配检索远端FTP目录下的文件
2015/03/25 Python
Python使用type关键字创建类步骤详解
2019/07/23 Python
Python全栈之列表数据类型详解
2019/10/01 Python
python报错: 'list' object has no attribute 'shape'的解决
2020/07/15 Python
解决pycharm修改代码后第一次运行不生效的问题
2021/02/06 Python
英国汽车座椅和婴儿车购物网站:Uber Kids
2017/04/19 全球购物
台湾流行服饰购物平台:OB严选
2018/01/21 全球购物
周仰杰(JIMMY CHOO)英国官方网站:闻名世界的鞋子品牌
2018/10/28 全球购物
高中生的自我评价
2014/03/04 职场文书
班级出游活动计划书
2014/08/15 职场文书
校车司机安全责任书
2015/05/11 职场文书