近段时间在准备实习的面试,在网上看到一份面试题,就慢慢试着作,争取天天积累一点点。
暂时手头上的面试题只有一份,题量仍是挺大的,有208题,因此可能讲的不是很详细,只是我本身帮助记忆的笔记,但愿对大家有启发,同时有什么说的不许确的能够互相讨论一下。
如今天天给本身在面试题编写的任务是4题,有时候忙起来可能就没有时间写了,可是争取日更,即便当天没更也会在以后的更新补上。java
JDK 和 JRE 区别面试
==和equals的区别数组
两个对象的 hashCode()相同,则 equals()也必定为 true,对吗缓存
final 在 Java 中做用安全
Java 中的 Math.round(-1.5)多线程
String 属于基础的数据类型吗并发
Java 中操做字符串都有哪些类?它们之间有什么区别?函数
String str="i"与 String str=new String(“i”)同样吗工具
如何将字符串反转性能
String 类的经常使用方法
字符类
* charAt(int),根据索引找到索引上字符 * indexOf,寻找条件在当前字符串上的索引
字符串信息类
* length,字串长度 * isEmpty,判断字符串是否为空
字符串操做类
* trim,删除字符串中全部空格 * substring,截取一部分字符串 * toUpperCase,将字符串全变成大写 * spilt,根据条件切割字符串并返回数组 * concat,追加字符串
对比
* equals * compareTo
抽象类必需要有抽象方法吗
普通类和抽象类有哪些区别
抽象类能使用 final 修饰吗?
接口和抽象类有什么区别?
Java 中 IO 流分为几种?
BIO、NIO、AIO 有什么区别?
File的经常使用方法都有哪些?
获取文件名字及路径
* getName,获取文件名字 * getPath。获取文件当前路径 * getPath,获取文件绝对路径 * isAbsoulute,判断文件是否绝对路径
文件信息
* canRead/canWrite,是否可读/可写 * isFile,是不是文件 * isDirectory,是不是目录 * length,文件内容长度
文件操做
* createFile,新建一个文件/目录 * delete,删除当前文件/目录 * exists,判断文件/目录是否存在
Java 容器都有哪些?
Collection 和 Collections 有什么区别?
Collections经常使用方法
* addAll * binarySearch,二分查找 * emptyList,返回一个有序空列表 * synchronizedXxx,将线程不安全的集合转换成线程安全的集合
List、Set、Map 之间的区别是什么?
HashMap 和 Hashtable 有什么区别?
如何决定使用 HashMap 仍是 TreeMap?
说一下 HashMap 的实现原理?
2019.4.24更新
说一下 HashSet 的实现原理?
ArrayList 和 LinkedList 的区别是什么?
List则是经过for循环寻找插入位置。 * 数据量小于30,二者没有明显差异,当数据量大于容量1/10时,LinkedList的效率没有ArrayList高 * 在元素个数大体相等的状况下,二者遍历的性能差很少
如何实现数组和 List 之间的转换?
List转Array
Array转List
ArrayList 和 Vector 的区别是什么?
Array 和 ArrayList 有何区别?
2019.04.25更新
在 Queue 中 poll()和 remove()有什么区别?
哪些集合类是线程安全的?
java.util.concurrent包中的集合
迭代器 Iterator 是什么?
Iterator 怎么使用?有什么特色?
2019.04.26更新
Iterator 和 ListIterator 有什么区别?
相同
* 都是迭代器,均可以用于迭代Collection集合 * 均可以顺序向后遍历集合元素 * 均可以移除底层集合元素
不一样
* ListIteaator有add方法,能够添加元素到底层集合中,位置在迭代器当前位置以前 * ListIterator能够向前遍历,Iterator不能 * ListIterator能够经过nextIndex以及preIndex定位索引位置,Iteratoor不能 * ListIterator能够经过set方法对元素进行修改
怎么确保一个集合不能被修改?
并行和并发有什么区别?
线程和进程的区别?
2019.04.27更新
守护线程是什么?
建立线程有哪几种方式?
说一下 runnable 和 callable 有什么区别?
线程有哪些状态?
2019.04.28更新
sleep() 和 wait() 有什么区别?
notify()和 notifyAll()有什么区别?
线程的 run()和 start()有什么区别?
建立线程池有哪几种方式?
2019.04.29更新
线程池都有哪些状态?
线程池中 submit()和 execute()方法有什么区别?
在 Java 程序中怎么保证多线程的运行安全?
多线程锁的升级原理是什么?
2019.05.02更新
什么是死锁?
怎么防止死锁?
预防死锁
避免死锁
ThreadLocal 是什么?有哪些使用场景?
说一下 Synchronized 底层实现原理?
synchronized 和 volatile 的区别是什么?
synchronized 和 Lock 有什么区别?
synchronized 和 ReentrantLock 区别是什么?
说一下 Atomic 的原理?