前言 最近有很多粉丝问我,有什么方法能够快速提升自己,通过阿里、腾讯、字节跳动、京东等互联网大厂的面试,我觉得短时间提升自己最快的手段就是背面试题,最近总结了Java常用的面试题,分享给大家,希望大家都能圆梦大厂,加油,我命由我不由天。 目录 1、JDK 和 JRE 有什么区别? 2、== 和 equals 的区别是什么? 3、final 在 java 中有什么作用? 4、java 中的 Math.round(-1.5) 等于多少? 5、String 属于基础的数据类型吗? 6、String str="i"与 String str=new String(“i”)一样吗? 7、如何将字符串反转? 8、String 类的常用方法都有那些? 9、new String("a") + new String("b") 会创建几个对象? 10、如何将字符串反转? 11、String 类的常用方法都有那些? 12、普通类和抽象类有哪些区别? 13、接口和抽象类有什么区别? 14、java 中 IO 流分为几种? 15、BIO、NIO、AIO 有什么区别? 16、Files的常用方法都有哪些? 17、什么是反射? 18、什么是 java 序列化?什么情况下需要序列化? 19、为什么要使用克隆?如何实现对象克隆?深拷贝和浅拷贝区别是什么? 20、throw 和 throws 的区别? 21、final、finally、finalize 有什么区别? 22、try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗? 23、常见的异常类有哪些? 24、hashcode是什么?有什么作用? 25、java 中操作字符串都有哪些类?它们之间有什么区别? 26、java 中都有哪些引用类型? 27、在 Java 中,为什么不允许从静态方法中访问非静态变量? 28、说说Java Bean的命名规范 29、Java Bean 属性命名规范问题分析 30、什么是 Java 的内存模型? 31、在 Java 中,什么时候用重载,什么时候用重写? 32、举例说明什么情况下会更倾向于使用抽象类而不是接口? 33、实例化对象有哪几种方式 34、byte类型127+1等于多少 35、Java 容器都有哪些? 36、Collection 和 Collections 有什么区别? 37、list与Set区别 38、HashMap 和 Hashtable 有什么区别? 39、说一下 HashMap 的实现原理? 40、set有哪些实现类? 41、说一下 HashSet 的实现原理? 42、ArrayList 和 LinkedList 的区别是什么? 43、如何实现数组和 List 之间的转换? 44、在 Queue 中 poll()和 remove()有什么区别? 45、哪些集合类是线程安全的 46、迭代器 Iterator 是什么? 47、Iterator 怎么使用?有什么特点? 48、Iterator 和 ListIterator 有什么区别? 49、怎么确保一个集合不能被修改? 50、队列和栈是什么?有什么区别? 51、Java8开始ConcurrentHashMap,为什么舍弃分段锁? 52、ConcurrentHashMap(JDK1.8)为什么要使用synchronized而不是如ReentranLock这样的可重入锁? 53、concurrentHashMap和HashTable有什么区别 54、HasmMap和HashSet的区别 55、请谈谈 ReadWriteLock 和 StampedLock 56、线程的run()和start()有什么区别? 57、为什么我们调用 start() 方法时会执行 run() 方法,为什么我们不能直接调用 run() 方法? 58、Synchronized 用过吗,其原理是什么? 59、JVM 对 Java 的原生锁做了哪些优化? 60、为什么 wait(), notify()和 notifyAll()必须在同步方法或者同步块中被调用? 61、Java 如何实现多线程之间的通讯和协作? 62、Thread 类中的 yield 方法有什么作用? 63、为什么说 Synchronized 是非公平锁? 64、请谈谈 volatile 有什么特点,为什么它能保证变量对所有线程的可见性? 65、为什么说 Synchronized 是一个悲观锁?乐观锁的实现原理又是什么?什么是 CAS,它有什么特性? 66、乐观锁一定就是好的吗? 67、请尽可能详尽地对比下 Synchronized 和 ReentrantLock 的异同。 68、ReentrantLock 是如何实现可重入性的? 69、什么是锁消除和锁粗化? 70、跟 Synchronized 相比,可重入锁 ReentrantLock 其实现原理有什么不同? 71、那么请谈谈 AQS 框架是怎么回事儿? 72、AQS 对资源的共享方式? 73、如何让 Java 的线程彼此同步? 74、你了解过哪些