Java常见面试题200+,学习、面试必备

简介: Java常见面试题200+,学习、面试必备

本套Java面试题,选取了企业面试最常问到的问题,可以做为Java工程师的面试宝典,也可以做为想要不断完善和扩充自己 java 技术的学习者。


主要包含:


Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM 。


初学者不需要看后面的框架和 JVM 模块的知识


Java常见面试题


一、Java 基础


1.JDK 和 JRE 有什么区别?


2.== 和 equals 的区别是什么?


3.两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?


4.final 在 java 中有什么作用?


5.java 中的 Math.round(-1.5) 等于多少?


6.String 属于基础的数据类型吗?


7.java 中操作字符串都有哪些类?它们之间有什么区别?


8.String str=”i”与 String str=new String(“i”)一样吗?


9.如何将字符串反转?


10.String 类的常用方法都有那些?


11.抽象类必须要有抽象方法吗?


12.普通类和抽象类有哪些区别?


13.抽象类能使用 final 修饰吗?


14.接口和抽象类有什么区别?


15.java 中 IO 流分为几种?


16.BIO、NIO、AIO 有什么区别?


17.Files的常用方法都有哪些?


二、容器


18.java 容器都有哪些?


19.Collection 和 Collections 有什么区别?


20.List、Set、Map 之间的区别是什么?


21.HashMap 和 Hashtable 有什么区别?


22.如何决定使用 HashMap 还是 TreeMap?


23.说一下 HashMap 的实现原理?


24.说一下 HashSet 的实现原理?


25.ArrayList 和 LinkedList 的区别是什么?


26.如何实现数组和 List 之间的转换?


27.ArrayList 和 Vector 的区别是什么?


28.Array 和 ArrayList 有何区别?


29.在 Queue 中 poll()和 remove()有什么区别?


30.哪些集合类是线程安全的?


31.迭代器 Iterator 是什么?


32.Iterator 怎么使用?有什么特点?


33.Iterator 和 ListIterator 有什么区别?


34.怎么确保一个集合不能被修改?


三、多线程


35.并行和并发有什么区别?


36.线程和进程的区别?


37.守护线程是什么?


38.创建线程有哪几种方式?


39.说一下 runnable 和 callable 有什么区别?


40.线程有哪些状态?


41.sleep() 和 wait() 有什么区别?


42.notify()和 notifyAll()有什么区别?


43.线程的 run()和 start()有什么区别?


44.创建线程池有哪几种方式?


45.线程池都有哪些状态?


46.线程池中 submit()和 execute()方法有什么区别?


47.在 java 程序中怎么保证多线程的运行安全?


48.多线程锁的升级原理是什么?


49.什么是死锁?


50.怎么防止死锁?


51.ThreadLocal 是什么?有哪些使用场景?


52.说一下 synchronized 底层实现原理?


53.synchronized 和 volatile 的区别是什么?


54.synchronized 和 Lock 有什么区别?


55.synchronized 和 ReentrantLock 区别是什么?


56.说一下 atomic 的原理?


125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/3629.html


相关文章
|
15天前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
45 2
|
3天前
|
Java 程序员
Java社招面试题:& 和 && 的区别,HR的套路险些让我翻车!
小米,29岁程序员,分享了一次面试经历,详细解析了Java中&和&&的区别及应用场景,展示了扎实的基础知识和良好的应变能力,最终成功获得Offer。
26 14
|
20天前
|
存储 算法 Java
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
本文详解自旋锁的概念、优缺点、使用场景及Java实现。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
|
25天前
|
存储 缓存 Oracle
Java I/O流面试之道
NIO的出现在于提高IO的速度,它相比传统的输入/输出流速度更快。NIO通过管道Channel和缓冲器Buffer来处理数据,可以把管道当成一个矿藏,缓冲器就是矿藏里的卡车。程序通过管道里的缓冲器进行数据交互,而不直接处理数据。程序要么从缓冲器获取数据,要么输入数据到缓冲器。
Java I/O流面试之道
|
21天前
|
存储 缓存 Java
大厂面试必看!Java基本数据类型和包装类的那些坑
本文介绍了Java中的基本数据类型和包装类,包括整数类型、浮点数类型、字符类型和布尔类型。详细讲解了每种类型的特性和应用场景,并探讨了包装类的引入原因、装箱与拆箱机制以及缓存机制。最后总结了面试中常见的相关考点,帮助读者更好地理解和应对面试中的问题。
43 4
|
22天前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
76 4
|
存储 Java 程序员
Java面试题日积月累(数据库30道)
Java面试题日积月累(数据库30道)
68 0
|
5月前
|
SQL 安全 Java
Java面试题:什么是JDBC以及如何在Java中使用它进行数据库操作?
Java面试题:什么是JDBC以及如何在Java中使用它进行数据库操作?
55 0
|
5月前
|
druid Java 数据库连接
Java面试题:解释数据库连接池的概念及其作用,讨论常见的连接池实现。
Java面试题:解释数据库连接池的概念及其作用,讨论常见的连接池实现。
85 0
|
5月前
|
SQL Java 关系型数据库
Java面试题:描述JDBC的工作原理,包括连接数据库、执行SQL语句等步骤。
Java面试题:描述JDBC的工作原理,包括连接数据库、执行SQL语句等步骤。
69 0