【Java基础】Java面试题目整理与解说(二)

1.Collection
和 Collections
的差别。

Collection
是集合类的上级接口,继承于他的接口主要有
Set 和
List.

Collections 是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。

2.HashMap
和 Hashtable
的差别。

HashMap 是
Hashtable 的轻量级实现(非线程安全的实现),他们都完毕了
Map 接口,HashMap是非线程安全,效率上可能高于
Hashtable。在多个线程訪问 Hashtable 时,不须要自己为它的方法实现同步,而 HashMap 就必须为之提供外同步。

HashMap 同意将
null 作为一个
entry 的
key 或者
value,而
Hashtable 不同意。

HashMap 把
Hashtable 的
contains 方法去掉了,改成
containsvalue
和 containsKey。由于
contains 方法easy让人引起误解。Hashtable
继承自 Dictionary
类,而 HashMap
是 Java1.2
引进的 Map interface
的一个实现。

Hashtable 和
HashMap 採用的
hash/rehash 算法都大概一样,所以性能不会有非常大的差异。

3.sleep()
和 wait()
有什么差别?

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

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

4.short s1 = 1; s1 = s1 + 1;有什么错?
short s1 = 1; s1 += 1;有什么错?

short s1 = 1; s1 = s1 + 1;
(s1+1
运算结果是 int
型,须要强制转换类型)short s1 = 1; s1 += 1;(能够正确编译)

5.Math.round(11.5)等於多少? Math.round(-11.5)等於多少?

Math.round(11.5)==12

Math.round(-11.5)==-11

round 方法返回与參数最接近的长整数,參数加
1/2 后求其
floor.

【Java基础】Java面试题目整理与解说(二)

时间: 2024-10-14 01:02:05

【Java基础】Java面试题目整理与解说(二)的相关文章

【Java基础】Java面试题目整理与讲解(二)

1.Collection 和 Collections 的区别. Collection 是集合类的上级接口,继承于他的接口主要有 Set 和 List. Collections 是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索.排序.线程安全化等操作. 2.HashMap 和 Hashtable 的区别. HashMap 是 Hashtable 的轻量级实现(非线程安全的实现),他们都完成了 Map 接口,HashMap是非线程安全,效率上可能高于 Hashtable.在多个线程

美资软件公司JAVA工程师电话面试题目

面试必备基础题目(虽然不一定常用, 仅用于面试, 面试就是把人搞的都不会然后砍价, 当然您可以讲我可以查资料完成, 但是面试的时候就是没道理的, 起码我是经常看到这些题). 如何把一段逗号分割的字符串转换成一个数组?request.getAttribute() 和 request.getParameter() 有何区别?response.sendRedirect() 和 forward() 区别?<%@include file="xxx.jsp"%>和 <jsp:in

《Java 基础系列》初步整理

<Java 基础系列>初步整理大概有 12 篇,主要内容为.: 抽象类和接口内部类修饰符装箱拆箱注解反射泛型异常集合IO字符串其他第一篇我们来聊聊抽象类和接口. "抽象类和接口"听起来是非常普遍的东西,有些朋友会觉得:这个太基础了吧,有啥好说的,你又来糊弄我. 这里写图片描述 事实上我在面试中不仅一次被问到相关的问题: 抽象类和接口之间的区别?什么时候创建抽象类?什么时候创建接口?设计框架时该如何选择?我比较喜欢这样的问题,答案可深可浅,体现了我们对日常工作的思考. 我们什

java相关的面试题目

1.java/c++/ruby/python集中语言的对比 java和c++ java和ruby java和python java相关的面试题目,布布扣,bubuko.com

java基础&amp;&amp;高薪面试

董鹏老师 ,多年经验总结出 [高薪就业必备]之java基础面试题[更新中]: 第01篇       学习Java基础的目的? 第02天       java语言中有没有goto关键字? 第03天         对两个整数变量进行互换,要求在不使用第三方变量的前提下? 第04天       在JAVA中如何跳出当前的多重嵌套循环? 第05天       构造器Constructor是否可被override? 第06篇       "=="和equals方法究竟有什么区别? 第07篇 

java基础-java核心知识库

1.Spring.mvc的优势,原理,流程 2.Mybatis的原理优势 3.集合里面那些对象的原理 4.扩容原理,特别是map的底层 5.Hashmap.Hashtable和cocurrentHashMap的区别,要讲出它们各自的实现原理才行,比如Hashmap的扩容机制.cocurrentHashMap的段锁原理.多线程安全性. 6.几种造线程池的方法,区别 7.线程有哪几种状态,他们是如何转换的 8.Rpc原理,以及大致流程 9.Nio和netty的区别,为什么netty的性能高,nio,

【Android进阶】Android面试题目整理与讲解

这一篇文章专门整理一下研究过的Android面试题,内容会随着学习不断的增加,如果答案有错误,希望大家可以指正 1.简述Activity的生命周期 当Activity开始启动的时候,首先调用onCreate(),onStart(),onResume()方法,此时Activity对用户来说,是可见的状态 当Activity从可见状态变为被Dialog遮挡的状态的时候,会调用onPause()方法,此时的Activity对用户可见,但是不能相 应用户的点击事件 当Activity从可见状态变为被其他

Android面试题目整理与讲解(二)

1.Dalvik和标准Java虚拟机之间的主要差别? Dalvik和标准Java虚拟机(JVM)之间的首要差别之一,就是Dalvik基于寄存器,而JVM基于栈. Dalvik和Java之间的另外一大区别就是运行环境--Dalvik经过优化,允许在有限的内存中同时运行多个虚拟机的实例,并且每一个 Dalvik应用作为一个独立的Linux进程执行. (1)虚拟机很小,使用的空间也小: (2)Dalvik没有JIT编译器: (3)常量池已被修改为只使用32位的索引,以简化解释器: (4)它使用自己的字

[Java基础] Java线程复习笔记

先说说线程和进程,现代操作系统几乎无一例外地采用进程的概念,进程之间基本上可以认为是相互独立的,共享的资源非常少.线程可以认为是轻量级的进 程,充分地利用线程可以使得同一个进程中执行多种任务.Java是第一个在语言层面就支持线程操作的主流编程语言.和进程类似,线程也是各自独立的,有自 己的栈,自己的局部变量,自己的程序执行并行路径,但线程的独立性又没有进程那么强,它们共享内存,文件资源,以及其他进程层面的状态等.同一个进程内的 多个线程共享同样的内存空间,这也就意味着这些线程可以访问同样的变量和