高频指的是哪个频率范围(高频指的是)
今天给各位分享
14.在监视器(Monitor)内部,是如何做线程同步的?程序应该做哪种级别的同步?监视器和锁在Java虚拟机中是一块使用的监视器监视一块同步代码块,确保一次只有一个线程执行同步代码块每一个监视器都和一个对象引用相关联。
线程在获取锁之前不允许执行同步代码15.同步代码块和同步方法的区别是什么?在Java语言中,每一个对象都有一把锁线程可以使用synchronized关键字来获取对象上的锁synchronized关键字可应用在方法级别(粗粒度锁)或者是代码块级别(细粒度锁)。
16.如何确保N个线程可以访问N个资源同时又不导致死锁?使用多线程的时候,一种非常简单的避免死锁的方式就是:网站推广类型指定获取锁的顺序,并强制线程按照指定的顺序获取锁因此,如果所有的线程都是以同样的顺序加锁和释放锁,就不会出现死锁了。
17.什么是死锁(deadlock)?两个进程都在等待对方执行完毕才能继续往下执行的时候就发生了死锁结果就是两个进程都陷入了无限的等待中18.Java集合类框架的基本接口有哪些?集合类接口指定了一组叫做元素的对象。
集合类接口的每一种具体的实现类都可以选择以它自己的方式对元素进行保存和排序有的集合类允许重复的键,有些不允许Java集合类提供了一套设计良好的支持对一组对象进行操作的接口和类Java集合类里面最基本的接口有:。
Collection:代表一组对象,每一个对象都是它的子元素网站推广类型Set:不包含重复元素的CollectionList:有顺序的collection,并且可以包含重复元素Map:可以把键(key)映射到值(value)的对象,键不能重复。
19.为什么集合类没有实现Cloneable、Serializable接口?克隆(cloning)或者是序列化(serialization)的语义和含义是跟具体的实现相关的因此,应该由集合类的具体实现来决定如何被克隆或者是序列化。
20.什么是迭代器(Iterator)?Iterator接口提供了很多对集合元素进行迭代的方法每一个集合类都包含了可以返回迭代器实例的迭代方法迭代器可以在迭代的过程中删除底层集合的元素21.Iter网站推广类型ator、ListIterator的区别是什么?。
下面列出了他们的区别:Iterator可用来遍历Set和List集合,但是ListIterator只能用来遍历ListIterator对集合只能是前向遍历,ListIterator既可以前向也可以后向ListIterator实现了Iterator接口,并包含其他的功能,比如:增加元素,替换元素,获取前一个和后一个元素的索引,等等。
22.快速失败(fail-fast)、安全失败(fail-safe)的区别是什么?Iterator的安全失败是基于对底层集合做拷贝,因此,它不受源集合上修改的影响java.util包下面的所有的集合类都是快速失败的,而网站推广类型java.util.concurrent包下面的所有的类都是安全失败的。
快速失败的迭代器会抛出ConcurrentModificationException异常,而安全失败的迭代器永远不会抛出这样的异常23.Java中HashMap的工作原理是什么?Java中的HashMap是以键值对(key-value)的形式存储元素的。
HashMap需要一个hash函数,它使用hashCode()和equals()方法来向集合/从集合添加和检索元素当调用put()方法的时候,HashMap会计算key的hash值,然后把键值对存储在集合中合适的索引上。
如果key已经存在了,value会被更新成新值Hash网站推广类型Map的一些重要的特性是它的容量(capacity),负载因子(load factor)和扩容极限(threshold resizing)24.hashCode()、equals()方法的重要性体现在什么地方?。
Java中的HashMap使用hashCode()、equals()方法来确定键值对的索引,当根据键获取值的时候也会用到这两个方法如果没有正确的实现这两个方法,两个不同的键可能会有相同的hash值,因此,可能会被集合认为是相等的。
而且,这两个方法也用来发现重复元素所以这两个方法的实现对HashMap的精确性和正确性是至关重要的25.HashMap、Hashtable有什么区别?Hash网站推广类型Map、Hashtable都实现了Map接口,因此很多特性非常相似。
但是,他们有以下不同点:HashMap允许键和值是null,而Hashtable不允许键或者值是nullHashtable是同步的,而HashMap不是因此,HashMap更适合于单线程环境,而Hashtable适合于多线程环境。
HashMap提供了可供应用迭代的键的集合,因此,HashMap是快速失败的。另一方面,Hashtable提供了对键的列举(Enumeration)。一般认为Hashtable是一个遗留的类。