`

Java程序员面试题之三

阅读更多

 

11HashMapHashtable的区别。  

 

HashMapHashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口。

主要区别在于HashMap允许空(null)键/值(key/value,由于非线程安全,效率上可能高于Hashtable

 

 

HashMap允许将null作为一个entrykey或者value,而Hashtable不允许。

 

 

HashMapHashtablecontains方法去掉了,改成containsvaluecontainsKey

因为contains方法容易让人引起误解。

Hashtable继承自Dictionary类,而HashMapJava1.2引进的Map interface的一个实现。

 

 

最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是

在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。

 

HashtableHashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。

 

 

12final, finally, finalize的区别。

final 用于声明属性,方法和类,分别表示属性不可变方法不可覆盖类不可继承

 

finally异常处理语句结构的一部分,表示总是执行

 

finalizeObject类的一个方法在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。

 

 

13sleep() wait() 有什么区别?

sleep是线程类(Thread)的方法,导致此线程暂停执行指定的时间,将执行机会给其他线程,但是监控状态依然保持,到时间后会自动恢复。调用sleep不会释放对象锁

 

waitObject类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll后本线程才进入对象锁定池准备获得对象锁进入运行状态。

 

 

14OverloadOverride的区别。Overloaded的方法是否可以改变返回值的类型?

 

方法的重写Overriding和重载OverloadingJava多态性的不同表现

 

重写Overriding父类与子类之间多态性的一种表现,重载Overloading一个类中多态性的一种表现。

 

如果在子类中定义某方法与其父类相同的名称和参数,我们说该方法被重写 (Overriding)

子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。

 

如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)

 

Overloaded的方法是可以改变返回值的类型,因为方法是否重载不取决于返回值类型是否相同。

 

 

15errorexception有什么区别?

 

error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。

 

 

exception 表示一种设计或实现问题。也就是说,表示如果程序运行正常,从不会发生的情况。

 

分享到:
评论

相关推荐

    java中级程序员面试题 java程序员面试题 java工程师面试题

    java中级程序员面试题 java程序员面试题 java工程师面试题

    java程序员面试题

    java程序员面试题java程序员面试题java程序员面试题java程序员面试题java程序员面试题

    Java程序员面试题集(1-50)

    以上仅是 Java 程序员面试中可能涉及的一部分知识点,实际面试中还会有更多关于设计模式、JVM 内存模型、数据库操作、网络编程等方面的问题。掌握这些基础和进阶知识对于成为一名优秀的 Java 开发者至关重要。

    java程序员早期面试题汇总.zip

    ------------------------------------- java程序员早期面试题汇总 BAT经典面试题汇总.pdf Java常考面试题.pdf java面试题(题库全)....程序员面试题精选100题.pdf ... -------------------------------------

    JAVA程序员面试题5

    ### JAVA程序员面试题5知识点详解 #### 一、JSP和Servlet的相同点与不同点及其联系 **相同点:** - **都是基于Java的技术**:JSP和Servlet都使用Java语言编写,运行在Java虚拟机(JVM)上。 - **处理HTTP请求**:...

    Java程序员面试题

    Java 程序员面试题 Java 程序员面试题包括多个方面,以下是详细的知识点解释: 1. 面向对象的特征有哪些方面? 面向对象的特征有四个方面:抽象、继承、封装、多态性。 * 抽象:抽象是忽略一个主题中与当前目标...

    Java程序员面试宝典

    《Java程序员面试宝典》附带1张DVD光盘,内容为《Java程序员面试宝典》所有面试题的多媒体教学视频(共14.5小时)及免费赠送的55小时Java教学视频和5.5小时算法教学视频。授人以鱼,不如授人以渔。《Java程序员面试...

    Java程序员面试题集

    Java程序员面试时,通常会遇到一系列关于语言特性和框架的问题,这些题目旨在考察候选人的基础知识、问题解决能力和实践经验。以下是对这些面试题目的详细解答: 1. **final, finally, finalize的区别**: - `...

    java程序员面试题150例-java常见面试题-java工程师面试题-java面试题大全

    java程序员面试题150例 java常见面试题 java工程师面试题 java面试题大全 带搜索功能,能非常方便的查找到你想要了解的 java面试题目 推荐大家下载。

    2021最新Java程序员面试题

    在当前的IT行业中,Java程序员面试已经逐步升级为考察应聘者对多个技术栈的综合理解和应用能力。以下内容根据提供的文件信息整理出的Java程序员面试知识点: 1. MyBatis框架 - MyBatis定义:MyBatis是一个支持定制...

    Java程序员面试笔试真题与解析.tar

    Java程序员面试笔试真题与解析,包含各大IT企业面试笔试的题目

    2018年java-程序员面试宝典+题库

    2018java程序员面试宝典+题库,很全。压缩的文档,打开是PDF版

    java程序员面试题集合

    ### Java程序员面试题集合知识点详解 #### 一、面向对象的四大特征 1. **抽象** 抽象是面向对象编程中的一个重要概念,它指的是在设计阶段仅考虑问题的关键部分,忽略不相关的细节。抽象可以分为两类: - **...

    2018最新最全JAVA程序员面试题

    ### 2018最新最全JAVA程序员面试题解析 #### 一、面向对象的特征有哪些方面? 面向对象编程(OOP)是Java的核心思想之一,它主要包括以下四个关键特性: 1. **抽象**:抽象是面向对象编程的一个核心概念,指的是在...

    java程序员面试题——863面试集

    ### Java程序员面试题详解 #### 一、Java基础知识 1. **作用域public, private, protected, 以及不写时的区别** - **public**: 可以被任何类访问。 - **protected**: 可以被同一包内及不同包内的子类访问。 - ...

Global site tag (gtag.js) - Google Analytics