进程是操作系统分配资源的最小单元,线程是操作系统调度的最小单元。一个程序至少有一个进程,一个进程至少有一个线程。
Java的集合有两类,一类是List,还有一类是Set。前者有序可重复,后者无序不重复。当我们在set中插入的时候怎么判断是否已经存在该元素呢,可以通过equals方法。但是如果元素太多,用这样的方法就会比较满。于是有人发明了哈希算法来提高集合中查找元素的效率。这种方式将集合分成若干个存储区域,每个对象可以计算...
异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。
final也是很多面试喜欢问的地方,但我觉得这个问题很无聊,通常能回答下以下5点就不错了:被final修饰的类不可以被继承被final修饰的方法不可以被重写被final修饰的变量不可以被改变.如果修饰引用,那么表示引用不可变,引用指向的内容可变.被final修饰的方法,JVM会尝试将其内联,以提高运行效率被fi...
final作为Java中的关键字可以用于三个地方。用于修饰类、类属性和类方法。特征:凡是引用final关键字的地方皆不可修改!1.修饰类:表示该类不能被继承;2.修饰方法:表示方法不能被重写;3.修饰变量:表示变量只能一次赋值以后值不能被修改(常量)。
OracleJDK版本将每三年发布一次,而OpenJDK版本每三个月发布一次;OpenJDK是一个参考模型并且是完全开源的,而OracleJDK是OpenJDK的一个实现,并不是完全开源的;OracleJDK比OpenJDK更稳定。OpenJDK和OracleJDK的代码几乎相同,但OracleJDK有更多的类...
当我们需要一个同步的HashMap时,有两种选择:使用Collections.synchronizedMap(..)来同步HashMap。使用ConcurrentHashMap的这两个选项之间的首选是使用ConcurrentHashMap,这是因为我们不需要锁定整个对象,以及通过ConcurrentHashMa...
如果面试官问这个问题,那么他的意图一定是让你区分Iterator不同于Enumeration的两个方面:Iterator允许移除从底层集合的元素。Iterator的方法名是标准化的。
JavaBlockingQueue是一个并发集合util包的一部分。BlockingQueue队列是一种支持操作,它等待元素变得可用时来检索,同样等待空间可用时来存储元素。
HashMap是一个针对数据结构的键值,每个键都会有相应的值,关键是识别这样的值。HashMap基于hashing原理,我们通过put()和get()方法储存和获取对象。当我们将键值对传递给put()方法时,它调用键对象的hashCode()方法来计算hashcode,让后找到bucket位置来储存值对象。当获...