没有合适的资源?快使用搜索试试~ 我知道了~
首页Java面试题集(面试时技术部面试官一般会问的技术题)
最近面试了几家公司,都是java题,然后在面试过程中发现一般面试官会问的技术问题都可以在本文档找得到,一般会问servlet的生命周期、Struts和struts2的区别,hibernate、spring的认识、对象、修饰符的作用域、OOP的如接口、抽象、JSP的内置对象等。(仅供参考,希望能帮到你)
资源详情
资源评论
资源推荐
面试题集
面试题集
基础知识:
或 中的异常处理机制的简单原理和应用。
当 程序违反了 的语义规则时, 虚拟机就会将发生的错误表
示为一个异常。违反语义规则包括 种情况。一种是 类库内置的语义检
查。例如数组下标越界会引发 访问 的对
象时会引发 。另一种情况就是 允许程序员扩展这
种语义检查,程序员可以创建自己的异常,并自由选择在何时用 关键字
引发异常。所有的异常都是 !"!#$ 的子类。
的接口和 的虚类的相同和不同处。
由于 不支持多继承,而有可能某个类或对象要使用分别在几个类或对
象里面的方法或属性,现有的单继承机制就不能满足要求。与继承相比,接口
有更高的灵活性,因为接口中没有任何实现代码。当一个类实现了接口以后,
该类要实现接口里面所有的方法和属性,并且接口里面的属性在默认状态下面
都是 $所有方法默认情况下是 $!一个类可以实现多个接口。
垃圾回收的优点和原理。并考虑 种回收机制。
语言中一个显著的特点就是引入了垃圾回收机制,使 %%程序员最头
疼的内存管理的问题迎刃而解,它使得 程序员在编写程序的时候不再需要
考虑内存管理。由于有个垃圾回收机制, 中的对象不再有&作用域&的概念,
只有对象的引用才有&作用域&。垃圾回收可以有效的防止内存泄露,有效的使
用可以使用的内存。垃圾回收器通常是作为一个单独的低级别的线程运行,不
可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和
回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。
回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。
请说出你所知道的线程同步的方法。
'()使一个线程处于等待状态,并且释放所持有的对象的 *。
'()使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法
要捕捉 异常。
+'()唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不
能确切的唤醒某一个等待状态的线程,而是由 , 确定唤醒哪个线程,而且不
是按优先级。
+'()唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一个对
象的锁,而是让它们竞争。
请讲一讲析构函数和虚函数的用法和作用。
与 有什么区别?
表示系统级的错误和程序不必处理的异常,
表示需要捕捉或者需要程序进行处理的异常。
1
面试题集
在 中一个类被声明为 类型,表示了什么意思?
表示该类不能被继承,是顶级类。
描述一下你最常用的编程风格。
和 !" 有什么区别。
栈是一种线形集合,其添加和删除元素的操作应在同一段完成。栈按照后进
先出的方式进行处理。
堆是栈的一个组成元素
#如果系统要使用超大整数(超过 $ 长度范围),请你设计一个数据结
构来存储这种超大型数字以及设计一种算法来实现超大整数加法运算)。
$"'(
-
./0.1222/
3"3"0&&
$./'3"(
-
3"0
'024!"%%(
-
如 果 要 设 计 一 个 图 形 系 统 , 请 你 设 计 基 本 的 图 形 元 件
%&'(')$'*$+的简单实现
,谈谈 ','- 的区别。
56修饰符(关键字)如果一个类被声明为 5,意味着它不能再派生
出新的子类,不能作为父类被继承。因此一个类不能既被声明为 $ 的,
又被声明为 5 的。将变量或方法声明为 5,可以保证它们在使用中不被
改变。被声明为 5 的变量必须在声明时给定初值,而在以后的引用中只能读
取,不可修改。被声明为 5 的方法也同样只能使用,不能重载。
5+6再异常处理时提供 5+块来执行任何清除操作。如果抛出一个异
常,那么相匹配的 子句就会执行,然后控制就会进入 5+块(如果
有的话)。
576方法名。 技术允许使用 57'(方法在垃圾收集器将对象
从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这
个对象没有被引用时对这个对象调用的。它是在 $类中定义的,因此所
有的类都继承了它。子类覆盖 57'(方法以整理系统资源或者执行其他清
理工作。57'(方法是在垃圾收集器删除对象之前对这个对象调用的。
,,./!0!!%匿名内部类+是否可以 1!%继承+
其它类,是否可以 ..!%实现+2%接口+3
匿名的内部类是没有名字的内部类。不能 '继承(其它类,但一个内
部类可以作为一个接口,由另一个内部类实现。
2
面试题集
18,45!1!!和 0!! 的不同,说得越多越好'面试
题有的很笼统(。
9(一般是 9%%的说法),9'一般是 的说法(。
内部类与 9%%嵌套类最大的不同就在于是否有指向外部的引用上。具体
可 见 ) ::!!:: : !;
0<28="01
注: 静态内部类(9)意味着 1 创建一个 内部类的对象,不
需要一个外部类对象, 不能从一个 内部类的一个对象访问一个外部类
对象
第四,=和==的区别。
=是位运算符。==是布尔逻辑运算符。
1>,6! 7 和 6! 8 的区别。
都属于 , 接口的类,实现了将惟一键映射到特定的值上。
?,类没有分类或者排序。它允许一个 键和多个 值。
?$类 似 于 ?,, 但 是 不 允 许 键 和 值 。 它 也 比
?,慢,因为它是同步的。
,和 ! 的区别。
9 是个 ! 下的类,它包含有各种有关集合操作的静态方法。
9 是个 ! 下的接口,它是各种集合结构的父接口。
,什么时候用 !!。
断言是一个包含布尔表达式的语句,在执行这个语句时假定该表达式为 。
如果表达式计算为 ,那么系统会报告一个 。它用于调试
目的:
'@2(::402
断言可以有两种形式:
1
1)
1应该总是产生一个布尔值。
可以是得出一个值的任意表达式。这个值用于生成显示更多调试
信息的 3"消息。
断言在默认情况下是禁用的。要在编译时启用断言,需要使用 1!8标
记:
A1!8#!
要在运行时启用断言,可使用 A$或者 A标记。
要在运行时选择禁用断言,可使用 A或者 A$标记。
要系统类中启用断言,可使用 A或者 A标记。还可以在包的基础上启用
或者禁用断言。
可以在预计正常情况下不会到达的任何位置上放置断言。断言可以用于验证传
递给私有方法的参数。不过,断言不应该用于验证传递给公有方法的参数,因
为不管是否启用了断言,公有方法都必须检查其参数。不过,既可以在公有方
3
面试题集
法中,也可以在非公有方法中利用断言测试后置条件。另外,断言不应该以任
何方式改变程序的状态。
,9 是什么3为什么要有 93%基础+。
B9 是垃圾收集器。 程序员不用担心内存管理,因为垃圾收集器会自动进
行管理。要请求垃圾收集,可以调用下面的方法之一:
3+C!"'(
DC!"DC'(!"'(
,4$!:;4$%<,-<+=创建了几个 4$>83
两个对象,一个是&+&一个是指向&+&的引用对象 。
#,7 /1%+等於多少37 /1%?+等於多少3
,!'11!>(返回(")1,,!'A11!>(返回(")A11
,! !:=!:!=有什么错3! !:=!:=
有什么错3
101101%1有错,1 是 型,1%1 是 型不能显式
转化为 型。可修改为 10'('1%1(。1011%01
正确。
,!%+和 ;%+有什么区别3搞线程的最爱
'(方法是使线程停止一段时间的方法。在 时间间隔期满后,线程
不一定立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而且没有
被调度为放弃执行,除非'(&醒来&的线程具有更高的优先级 '$(正在运行的线
程因为其它原因而阻塞。
'(是线程交互时,如果线程对一个同步对象 发出一个 '(调用,该线
程会暂停执行,被调对象进入等待状态,直到被唤醒或等待时间到。
, 有没有 $3
B6 中的保留字,现在没有在 中使用。
,数组有没有 $ %+这个方法34$ 有没有 $ %+这个方法?
数组没有 "'(这个方法,有 " 的属性。
3" 有有 "'(这个方法。
,>1 和 >1 的区别。>11 的方法是否可以改变
返回值的类型3
方法的重写 " 和重载 " 是 多态性的不同表现。重
写 " 是父类与子类之间多态性的一种表现,重载 " 是一
个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和
参数,我们说该方法被重写 ' "(。子类的对象使用这个方法时,将调
用子类中的定义,对它而言,父类中的定义如同被&屏蔽&了。如果在一个类中
定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称
4
面试题集
为方法的重载' "(。 的方法是可以改变返回值的类型。
,4 里的元素是不能重复的,那么用什么方法来区分重复与否呢3是用:
:还是 @/!%+3它们有何区别3
3 里 的 元 素 是 不 能 重 复 的 , 那 么 用 '( 方 法 来 区 分 重 复 与 否 。
E'(是判读两个 3 是否相等。
E'(和00方法决定引用值是否指向同一对象 E'(在类中被覆盖,为
的是当两个分离的对象的内容和类型相配的话,返回真值。
,给我一个你最常见到的 /.。
C+3F G
FHG 9D
9H 99 9,,
9,5 I,
C+3* ""C
",3 "3
"3
C""
,"D " +37
3C
5I DJD,
3+ 3+C
H#$ HC5$3
H
K, 和 有什么区别3
表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢
出。不可能指望程序能处理这样的情况。
表示一种设计或实现问题。也就是说,它表示如果程序运行正常,
从不会发生的情况。
L,(!'4'7 是否继承自 接口3
M,3 是
, 不是
#,8!!! 和 2 有什么区别3
声明方法的存在而不去实现它的类被叫做抽象类($),它用于
要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现
该类的情况。不能创建 $类的实例。然而可以创建一个变量,其类型
是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象
静态方法。$类的子类为它们父类中的所有抽象方法提供实现,否则它
们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以
在类中实现这些方法。
5
剩余46页未读,继续阅读
_Elang
- 粉丝: 0
- 资源: 12
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 27页智慧街道信息化建设综合解决方案.pptx
- 计算机二级Ms-Office选择题汇总.doc
- 单链表的插入和删除实验报告 (2).docx
- 单链表的插入和删除实验报告.pdf
- 物联网智能终端项目设备管理方案.pdf
- 如何打造品牌的模式.doc
- 样式控制与页面布局.pdf
- 武汉理工Java实验报告(二).docx
- 2021线上新品消费趋势报告.pdf
- 第3章 Matlab中的矩阵及其运算.docx
- 基于Web的人力资源管理系统的必要性和可行性.doc
- 基于一阶倒立摆的matlab仿真实验.doc
- 速运公司物流管理模式研究教材
- 大数据与管理.pptx
- 单片机课程设计之步进电机.doc
- 大数据与数据挖掘.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论30