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...

面试题 相关文章推荐
几道PHP的面试题
May 19 面试题
实现strstr功能,即在父串中寻找子串首次出现的位置
Aug 05 面试题
C++是不是类型安全的
Feb 18 面试题
经典c++面试题四
May 14 面试题
汇智创新科技发展有限公司
Dec 06 面试题
什么是Rollback Segment
Apr 22 面试题
采用怎样的方法保证数据的完整性
Dec 02 面试题
XML文档面试题
Aug 05 面试题
动态密码技术
Oct 18 面试题
AJAX的全称是什么
Nov 06 面试题
Unix如何在一行中运行多个命令
May 29 面试题
JAVA软件工程师测试题
Jul 25 面试题
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 XML操作的各种方法解析(比较详细)
2010/06/17 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十六)
2014/06/30 PHP
PHP使用get_headers函数判断远程文件是否存在的方法
2014/11/28 PHP
Javascript this指针
2009/07/30 Javascript
关于jquery动态增减控件的一些想法和小插件
2010/08/01 Javascript
javaScript实现浮点数转十六进制字符
2013/10/29 Javascript
jQuery带箭头提示框tooltips插件集锦
2014/11/17 Javascript
JavaScript的Vue.js库入门学习教程
2016/05/23 Javascript
ajax接收后台数据在html页面显示
2017/02/19 Javascript
Angular 通过注入 $location 获取与修改当前页面URL的实例
2017/05/31 Javascript
Vue 源码分析之 Observer实现过程
2018/03/29 Javascript
详解jQuery-each()方法
2019/03/13 jQuery
Flutter部件内部状态管理小结之实现Vue的v-model功能
2019/06/11 Javascript
JS实现简单随机3D骰子
2019/10/24 Javascript
vue 解决数组赋值无法渲染在页面的问题
2019/10/28 Javascript
[14:56]教你分分钟做大人:巫医
2014/10/30 DOTA
python处理PHP数组文本文件实例
2014/09/18 Python
详解Python的Django框架中的通用视图
2015/05/04 Python
python入门教程之识别验证码
2017/03/04 Python
pandas中的DataFrame按指定顺序输出所有列的方法
2018/04/10 Python
Django 对象关系映射(ORM)源码详解
2019/08/06 Python
Eclipse配置python默认头过程图解
2020/04/26 Python
Pycharm激活方法及详细教程(详细且实用)
2020/05/12 Python
Keras自定义实现带masking的meanpooling层方式
2020/06/16 Python
HTML5 背景的显示区域实现
2020/07/09 HTML / CSS
移动端HTML5开发神器之vconsole详解
2020/12/15 HTML / CSS
购买美国制造的相框和画框架:Picture Frames
2018/08/14 全球购物
C#如何进行LDAP用户校验
2012/11/21 面试题
优秀少先队大队辅导员事迹材料
2014/05/04 职场文书
2015年学校安全工作总结
2015/04/22 职场文书
2015年前台接待工作总结
2015/05/04 职场文书
篮球赛闭幕式主持词
2015/07/03 职场文书
新员工实习期个人工作总结
2015/10/15 职场文书
MySQL中日期型单行函数代码详解
2021/06/21 MySQL
postgres之jsonb属性的使用操作
2021/06/23 PostgreSQL
教你使用Jenkins集成Harbor自动发布镜像
2022/04/03 Servers