Java技术面试题---201131

Java技术面试题---201131

ID:42117231

大小:45.37 KB

页数:12页

时间:2019-09-08

Java技术面试题---201131_第1页
Java技术面试题---201131_第2页
Java技术面试题---201131_第3页
Java技术面试题---201131_第4页
Java技术面试题---201131_第5页
资源描述:

《Java技术面试题---201131》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Java技术面试题-------2011.3.1CoreJava1.对象SR:内存的分配上,那几个地方可以保存数据?(1)寄存器(2)堆栈(3)堆(4)静态存储(5)常数存储(6)非RAM存储2、接口JR:接口中定义的字段会自动具有什么属性?static、final3、集合类JR:Java提供了四种类型的“集合类”是那些?Vector(矢量)、BitSet(位集)、Stack(堆栈)以及Hashtable(散列表)JR:Collection和Map可通过几种形式实现?存取元素时,各有什么特点?三个

2、集合组件:Map,List和Set。而且每个组件实际只有两、三种实现方式(注释),而且通常都只有一种特别好的方式。List可有重复元素。Set无法拥有重复元素,内部排序。Map保存key-value值,value可多值。SR:说出ArrayList,Vector,LinkedList的存储性能和特性?ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入

3、数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。JR:HashMap和Hashtable的区别?HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。Ha

4、shMap允许将null作为一个entry的key或者value,而Hashtable不允许。HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Mapinterface的一个实现。最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,

5、不需要自己为它的方法实现同步,而HashMap就必须为之提供外同步。线程:JR:线程可以有哪几种状态?A:New(新生)B:Runnable(可运行)C:Blocked(被阻塞)D:Waiting(等待)E:Timedwaiting(计时等待)F:Terminated(被终止)JR:sleep()和wait()有什么区别?sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。wait是Obj

6、ect类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。JR:JAVA中实现单例模式的几种方法?1.饿汉式单例类2.懒汉式单例类3.登记式单例类SR:JVM中内存的分布(发挥题)?1、主要包括两个子系统和两个组件:Classloader(类装载器)子系统,Executionengine(执行引擎)子系统;Runtimedataarea(运行时数据区域)组件

7、,Nativeinterface(本地接口)组件。    2、Classloader子系统的作用:根据给定的全限定名类名(如java.lang.Object)来装载class文件的内容到Runtimedataarea中的methodarea(方法区域)。Javsa程序员可以extendsjava.lang.ClassLoader类来写自己的Classloader。对于每个被装载的类型,Java虚拟机都会为它创建一个java.lang.Class类的实例来代表该类型。     3、Execution

8、engine子系统的作用:执行classes中的指令。任何JVMspecification实现(JDK)的核心是Executionengine,换句话说:Sun的JDK和IBM的JDK好坏主要取决于他们各自实现的Execution engine的好坏。每个运行中的线程都有一个Executionengine的实例。    4、Nativeinterface组件:与nativelibraries交互,是其它编程语言交互的接口。     5、Runtimedataarea组件:这个组件就

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。