Java高频面试题目

简介: 面试时面试官最常问的问题总结归纳!

第一部分

JVM

1.jvm的内存模式是什么?

2.什么是GC?

3.对象是怎样被回收的?

4.常用的GC算法有哪些?

5.GC能否手动进行触发

6.如何使用链表实现一个栈?

7.什么是常量池,作用是什么?

8.什么是双亲委派机制?

9.强引用,软引用,弱引用,虚引用分别是什么?

10.队列和栈是什么?有什么区别?

11.请画出jvm的内存模型

12.如何理解基础数据类型还是引用数据类型

13.类的实例化顺序

14.什么是内存溢出?

15.内存溢出的异常有哪些?如何进行解决

第二部分

数据库

  1. 常用的数据库的函数
  2. 数据库的游标是什么?视图是什么?
  3. leftjoin,rightjoin,innerjoin是什么?
  4. 数据库的索引如何设置
  5. 数据库的索引有哪些种类?
  6. 数据库的索引什么时候失效?
  7. 数据库的inner_buffer_pool是什么?
  8. 数据库如何实现数据库的回滚操作?
  9. 数据库设计的三大范式是什么?
  10. 数据库的表如何进行拆分?好处是什么?分库是什么?
  11. 数据库的引擎有哪些?
  12. 如何优化sql?
  13. 数据库的索引使用的是B+树,为什么不使用二叉树?
  14. 事务的隔离级别有哪些?
  15. 高并发的情况下,如何实现安全的修改数据库数据?
  16. 如果某表的数据超过千万,如何crud时,加快速度?
  17. MVCC是什么?它的作用是?
  18. 一条sql语句是如何在MYSQL中执行的?
  19. 什么是关系型数据库?什么是非关系型数据库?各自的优势是什么?
  20. 什么是存储过程?

第三部分

锁/IO流

  1. 什么是重型锁,什么是轻型锁?什么是悲观锁?什么是乐观锁?
  2. synchronized 与Lock锁的区别是什么?
  3. CAS锁是什么?
  4. automic是什么?作用是?
  5. CAS锁的ABA问题是什么?如何解决?
  6. 怎样解决多线程的死锁问题?
  7. 自旋锁是什么?
  8. 可重入锁是什么?非可重入锁是什么?
  9. HashTable为什么是安全的?
  10. CurrentHashMap是怎么实现安全与效率的?
  11. 什么是IO流,种类有哪些?

12.什么是JAVA序列化?什么是非序列化?

13.BIO,NIO,AIO分别是什么?

14.字节流字符流的区别是什么?

15.什么是多路复用机制?

16.了解过Netty么?

17.有一个文件大小为10G,我们需要读取这个文件,进行入库处理,你怎样来做?

第四部分

框架部分

  1. springBean的生命周期?
  2. springIOC与AOP是什么?
  3. Spring中的循环依赖如何解决?
  4. Spring中的设计模式有哪些?在哪里应用的?
  5. Spring的注入方式有哪些?
  6. Spring中常见的注解的含义是什么?
  7. SpringAop 的通知模式有哪些?
  8. Springmvc的执行流程?
  9. Springmvc的注解有哪些?以及含义
  10. mybatis如何绑定statement
  11. mybatis是如何通过反射生成执行语句?
  12. mybatis的自定义映射如何实现?
  13. mybatis的一对一,一对多映射如何实现?
  14. mybatis的缓存是什么?什么时候生效,什么时候失效?
  15. mybatis的动态sql有哪些?
  16. 什么是jpa?与mybatis的区别是什么?
  17. pagehelp分页组件是如何生效的?
  18. Springboot的自动装配原理是什么?
  19. Springboot的注解有哪些?配置方式有哪些?加载顺序是什么?
  20. Springboot与Spring的区别是什么?
相关文章
|
8天前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
28 2
|
13天前
|
存储 算法 Java
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
本文详解自旋锁的概念、优缺点、使用场景及Java实现。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
|
18天前
|
存储 缓存 Oracle
Java I/O流面试之道
NIO的出现在于提高IO的速度,它相比传统的输入/输出流速度更快。NIO通过管道Channel和缓冲器Buffer来处理数据,可以把管道当成一个矿藏,缓冲器就是矿藏里的卡车。程序通过管道里的缓冲器进行数据交互,而不直接处理数据。程序要么从缓冲器获取数据,要么输入数据到缓冲器。
Java I/O流面试之道
|
14天前
|
存储 缓存 Java
大厂面试必看!Java基本数据类型和包装类的那些坑
本文介绍了Java中的基本数据类型和包装类,包括整数类型、浮点数类型、字符类型和布尔类型。详细讲解了每种类型的特性和应用场景,并探讨了包装类的引入原因、装箱与拆箱机制以及缓存机制。最后总结了面试中常见的相关考点,帮助读者更好地理解和应对面试中的问题。
39 4
|
15天前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
55 4
|
1月前
|
存储 安全 算法
Java面试题之Java集合面试题 50道(带答案)
这篇文章提供了50道Java集合框架的面试题及其答案,涵盖了集合的基础知识、底层数据结构、不同集合类的特点和用法,以及一些高级主题如并发集合的使用。
91 1
Java面试题之Java集合面试题 50道(带答案)
|
27天前
|
存储 Java 程序员
Java面试加分点!一文读懂HashMap底层实现与扩容机制
本文详细解析了Java中经典的HashMap数据结构,包括其底层实现、扩容机制、put和查找过程、哈希函数以及JDK 1.7与1.8的差异。通过数组、链表和红黑树的组合,HashMap实现了高效的键值对存储与检索。文章还介绍了HashMap在不同版本中的优化,帮助读者更好地理解和应用这一重要工具。
54 5
|
26天前
|
存储 Java
[Java]面试官:你对异常处理了解多少,例如,finally中可以有return吗?
本文介绍了Java中`try...catch...finally`语句的使用细节及返回值问题,并探讨了JDK1.7引入的`try...with...resources`新特性,强调了异常处理机制及资源自动关闭的优势。
20 1
|
1月前
|
Java 程序员
Java 面试高频考点:static 和 final 深度剖析
本文介绍了 Java 中的 `static` 和 `final` 关键字。`static` 修饰的属性和方法属于类而非对象,所有实例共享;`final` 用于变量、方法和类,确保其不可修改或继承。两者结合可用于定义常量。文章通过具体示例详细解析了它们的用法和应用场景。
28 3
|
1月前
|
Java
Java面试题之cpu占用率100%,进行定位和解决
这篇文章介绍了如何定位和解决Java服务中CPU占用率过高的问题,包括使用top命令找到高CPU占用的进程和线程,以及使用jstack工具获取堆栈信息来确定问题代码位置的步骤。
103 0
Java面试题之cpu占用率100%,进行定位和解决
下一篇
无影云桌面