2019Java常见面试下
1、集合的作用是什么?
数据的传送增、删、改、查、constainsAll,可以存放不同类型的对象。
2、集合的通用方法有那些?通用方法是什么?(操作)
集合List的遍历方法有:
Iterator:
Enumeration
For
Get
set
Collection的通用方法有:
Iterator()
Add()
Clear();
remove()
3、说出ArrayList,Vector,LinkedList的存储性能和特性HashMap和Hashtable的区别
ArrayListVector:以数组的方式存储,增、删慢,查、改快
ArrayList:线程不安全,速度快
ArrayList:线程安全,速度慢(synchoronized)
LikedList:以单链表的方式存储,增、删快,查、改慢
HashMap与Hashtable都实现的Map接口,HashTable线程安全,HashMap线程不安全。
4、Collection和Collections的区别。
Collection是集合的根接口,其下有set及list
Collections是集合的算法。
5、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?是用==还是equals()?它们有何区别?用contains来区分是否有重复的对象,还是都不用。
在比较时先调用hashCode方法,如果不相同,证明不相等。
如果相同,再调用equals方法,如果equals方法相同,证明相等,不相同,证明不相等。
==:主要用在基本数据类型及引用
Equals:主要是对象或对象引用的比较。
集合中是否包含某一个元素用contains来判断。
6、List,Set,Map是否继承自Collection接口?
List,set继承于Collection
Map没有继承于Collection,其相对是独立的。
属于Collection类型的对象,可以通过构造函数将一个集合构造成另外一个集合。
7、面向对象的特征有哪些方面?
1.抽象:
找共性,将共有的属性、方法放到父类中
2.继承:
子类继承于父类,具有父类的所有属性与方法,可以重用,也可以覆盖。
3.封装:
一个类包括多个属性及方法。
4.多态性:
动态:
静态:
8、String是最基本的数据类型吗?
基本数据类型包括byte、int、char、long、float、double、boolean和short。
java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高
效率节省空间,我们应该用StringBuffer类
9、int和Integer有什么区别?
Int是基本数据类型,不是对象,占一个内存空间,没有方法。与其同类的有long,char,doble
Integer是封装类,具有方法及属性。与其同类的有Long,Double.Float
10、运行时异常与一般异常有何异同?
运行时异常:javaJVM抛出的异常,代码中不用处理。
一般异常:用户抛出的异常,如果用throws声明了,调用这个方法的代码必须对其处理。
11、&和&&的区别?
&:与:左边若为false右边还执行。
&&:短路与,左边若为false右边不执行。
12、final,finally,finalize的区别?
final用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
finally是异常处理语句结构的一部分,表示总是执行。
finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,
可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。
算符可以用来决定某对象的类是否实现了接口。
13、heap和stack有什么区别?
栈是一种线形集合,其添加和删除元素的操作应在同一段完成。栈按照后进先出的方式进行处
理。
堆是栈的一个组成元素
14、StaticNestedClass和InnerClass的不同?
StaticNestedClass是被声明为静态(static)的内部类,它可以不依赖于外部类实例被实
例化。而通常的内部类需要在外部类实例化后才能实例化。
15、什么时候用assert?
assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在
实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确
程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确
的状态下,系统将给出警告或退出。一般来说,assertion用于保证程序最基本、关键的正确
性。assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion检
查通常是关闭的。
16、GC是什么?为什么要有GC?
GC是垃圾收集的意思(GabageCollection),内存处理是编程人员容易出现问题的地方,忘
记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监
测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的
显示操作方法。
17、shorts1=1;s1=s1+1;有什么错?shorts1=1;s1+=1;有什么错?
shorts1=1;s1=s1+1;(s1+1运算结果是int型,需要强制转换类型)shorts1=1;
s1+=1;(可以正确编译)
18、Math.round(11.5)等於多少?Math.round(-11.5)等於多少?
Math.round(11.5)==12Math.round(-11.5)==-11round方法返回与参数最接近的长整数,
参数加1/2后求其floor.
19、Java有没有goto?
java中的保留字,现在没有在java中使用。
20、给我一个你最常见到的runtimeexception
ArithmeticException,ArrayStoreException,BufferOverflowException,
BufferUnderflowException,CannotRedoException,CannotUndoException,
ClassCastException,CMMException,ConcurrentModificationException,DOMException,
EmptyStackException,IllegalArgumentException,IllegalMonitorStateException,
IllegalPathStateException,IllegalStateException,ImagingOpException,
IndexOutOfBoundsException,MissingResourceException,NegativeArraySizeException,
NoSuchElementException,NullPointerException,ProfileDataException,
ProviderException,RasterFormatException,SecurityException,SystemException,
UndeclaredThrowableException,UnmodifiableSetException,
UnsupportedOperationException
一般异常:
IOException
FileNotFoundException
SqlException
21、接口是否可继承接口?抽象类是否可实现(implements)接口?抽象类是否可继承实体类(concreteclass)?
接口可以继承接口。抽象类可以实现(implements)接口,抽象类是否可继承实体类。
22、abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?
都不能
23、数组有没有length()这个方法?String有没有length()这个方法?
数组没有length()这个方法,有length这个属性
String有length()这个方法.
24、构造器Constructor是否可被override?
构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading。
25、是否可以继承String类?
String类是final类故不可以继承。
26、swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
switch(expr1)中,expr1是一个整数表达式。因此传递给switch和case语句的参数应
该是int、short、char或者byte。long,string都不能作用于swtich。
27、try{}里有一个return语句,那么紧跟在这个try后的finally{}里的code会不会被执行,什么
时候被执行,在return前还是后?
会执行,在return前执行。
28、两个对象值相同(x.equals(y)==true),但却可有不同的hashcode,这句话对不对?
对,有相同的hashcode。
29、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
是引用传递
基本数据类型:值
对象:引用
30、编程题:写一个Singleton出来。
Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。
一般Singleton模式通常有几种种形式:
第一种形式:定义一个类,它的构造函数为private的,它有一个static的private的该类
变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。
publicclassSingleton{
privateSingleton(){}
//在自己内部定义自己一个实例,是不是很奇怪?
//注意这是private只供内部调用
privatestaticSingletoninstance=newSingleton();
//这里提供了一个供外部访问本class的静态方法,可以直接访问
publicstaticSingletongetInstance(){
returninstance;
}
}
第二种形式:
publicclassSingleton{
privatestaticSingletoninstance=null;
publicstaticsynchronizedSingletongetInstance(){
//这个方法比上面有所改进,不用每次都进行生成对象,只是第一次
//使用时生成实例,提高了效率!
if(instance==null)
instance=newSingleton();
returninstance;}
}
其他形式:
定义一个类,它的构造函数为private的,所有方法为static的。
一般认为第一种形式要更加安全些
30、Java中的异常处理机制的简单原理和应用。
原理:
有错直接转到异常处理部分或向上抛出。
应用:
Java的异常就是错误,有两种一种是运行时,编码可以不用捕捉。一种是一般异常,如果throws声明了,必须进行处理。
31、垃圾回收的优点和原理。并考虑2种回收机制。
优点:
程序员不用管内存,jvm自动完成,开发方便。运行优先非常低,程序无法清楚实例什么时候被消毁。
32、描述一下JVM加载class文件的原理机制?
JVM中类的装载是由ClassLoader和它的子类来实现的,JavaClassLoader是一个重要的Java运行时系统组件。它负责在运行时查找和装入类文件的类。
34、char型变量中能不能存贮一个中文汉字?为什么?
能够定义成为一个中文的,因为java中以unicode编码,一个char占16个字节,所以放一个中文是没问题的
2019Java常见面试下的更多相关文章
- 2019Java常见面试上
一.开场白简单的介绍一下自己的工作经历与职责,在校或者工作中主要的工作内容,主要负责的内容:(你的信息一清二白的写在简历上,能答出来的最好写在上面,模棱两可不是很清楚的最好不要写,否则会被问的很尴尬) ...
- Android开发面试经——6.常见面试官提问Android题②(更新中...)
版权声明:本文为寻梦-finddreams原创文章,请关注:http://blog.csdn.net/finddreams 关注finddreams博客:http://blog.csdn.net/fi ...
- Android开发面试经——5.常见面试官提问Android题①
版权声明:本文为寻梦-finddreams原创文章,请关注:http://blog.csdn.net/finddreams 关注finddreams博客: http://blog.csdn.net/f ...
- 机器学习&数据挖掘笔记(常见面试之机器学习算法思想简单梳理)
机器学习&数据挖掘笔记_16(常见面试之机器学习算法思想简单梳理) 作者:tornadomeet 出处:http://www.cnblogs.com/tornadomeet 前言: 找工作时( ...
- [转]机器学习&数据挖掘笔记_16(常见面试之机器学习算法思想简单梳理)
机器学习&数据挖掘笔记_16(常见面试之机器学习算法思想简单梳理) 转自http://www.cnblogs.com/tornadomeet/p/3395593.html 前言: 找工作时(I ...
- (转)C/C++ 程序设计员应聘常见 面试笔试 试题深入剖析
C/C++ 程序设计员应聘常见 面试笔试 试题深入剖析 http://www.nowcoder.com/discuss/1826?type=2&order=0&pos=23&p ...
- Hibernate的10个常见面试问题及答案
在Java J2EE方面进行面试时,常被问起的Hibernate面试问题,大多都是针对基于Web的企业级应用开发者的角色的.Hibernate框架在Java界的成功和高度的可接受性使得它成为了Java ...
- Android常见面试笔试题目
Android常见面试笔试题目 1.在多线程编程这块,我们经常要使用Handler,Thread和Runnable这三个类,那么他们之间的关系你是否弄清楚了呢? 答:可以处理消息循环的线程,他是一个拥 ...
- Java面试题集(七)--Spring常见面试问题【重要】
以下为spring常见面试问题: 1.什么是Spring框架?Spring框架有哪些主要模块? Spring框架是一个为Java应用程序的开发提供了综合.广泛的基础性支持的Java平台. Spring ...
随机推荐
- JavaScript, JQuery事件委托
1.引言 现实当中,前台MM收到快递后,她会判断收件人是谁,然后按照收件人的要求签收,甚至代为付款.(公司也不会容忍那么多员工站在门口就为了等快递); 这种事件委托还有个好处,就是即便公司又来很多员工 ...
- 洛谷P1330 封锁阳光大学【dfs】
题目:https://www.luogu.org/problemnew/show/P1330 题意:一个无向边,一个河蟹可以占领一个点,但一个点只能被一个河蟹占领. 占领了一个点之后,这个点所有的边都 ...
- 2018 开始认真学习点python
2018 伊始,又是春暖花开.俗语,“一年之计在于春”.又是一年立志时. 决定认真学习一些web. 本来倾向与学习NodeJS的.可是之前买的python的书太多了.就先紧手头的资源看了再说吧. 今天 ...
- Python 8--异常
- Codeforces Round #583 (Div. 1 + Div. 2, based on Olympiad of Metropolises) A题
A. Optimal Currency ExchangeAndrew was very excited to participate in Olympiad of Metropolises. Days ...
- 【题解】Image Perimeters-C++
题目Description给出一张由"x"和".“组成的矩阵.每个"x"可以向上下左右及两个斜对角进行连通,请问由某个点开始的"x”,它所连 ...
- show([speed,[easing],[fn]])
show([speed,[easing],[fn]]) 概述 显示隐藏的匹配元素. 这个就是 'show( speed, [callback] )' 无动画的版本.如果选择的元素是可见的,这个方法将不 ...
- 四十九. Zabbix报警机制 、 Zabbix进阶操作 、 监控案例
案例1:实现Zabbix报警功能 案例2:Zabbix自动发现 案例3:Zabbix主动监控 案例4:拓扑图与聚合图形 案例5:自定义监控案例 1 案例1:实现Zabbix报警功能 1.1 问题 沿用 ...
- leetcode解题报告(3):Search in Rotated Sorted Array
描述 Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 m ...
- Luogu5369 [PKUSC2018]最大前缀和
题目链接:洛谷 题目大意:给定一个长为$n$的整数序列,求全排列的最大前缀和(必须包含第一个数)之和. 数据范围:$1\leq n\leq 20,1\leq \sum_{i=1}^n|a_i|\leq ...