当前位置: 首页 > article >正文

java后端开发面试常问

面试常问问题

1 spring相关

(1)@Transactional失效的场景

<1> @Transactional注解默认只会回滚运行时异常(RuntimeException),如果方法中抛出了其他异常,则事务不会回滚(数据库数据仍然插入成功了)。

@Transactional(rollbackFor = Exception.class)    

<2> 如果方法中有try catch语句,并且抛出的异常的代码被try捕获,那么方法上的@Transactional注解也会失效。
<3> 方法内调用,一个没有@Transactional注解的方法在内部调用了有@Transactional注解的方法,那么由于spring aop的代理会导致有@Transactional注解的方法的事务失效。
<4> 一个有@Transactional注解的方法中调用了@Async异步注解的方法,由于@Async是开启一个异步线程执行,和主线程不共享同一个事务,当主线程中有异常回滚后,@Async注解的方法不会回滚。
<5> 事务的方法被private和final修饰的,事务也会失效。

(2)

java相关

异常

java中的异常可以分为2大类:Error和Exception
Error:是程序无法处理的错误,通常和jvm或系统资源有关,如:内存溢出(OutOfMemoryError),当jvm没有足够内存时抛出。
Exception:程序本身可以处理的异常,包括运行时异常和非运行时异常(受检异常)。
运行时异常:是由程序逻辑错误引起的,java编译器不会检查它们。
非运行时异常:必须在代码中进行处理的异常。如:IOException、SQLException、FileNotFoundException

linux相关

jvm相关命令

1 列出所有的java进程:

jps
jps -l

2 监控jvm的各种统计信息

jsata pid

3 查看和调整运行中的java进程的配置参数

jinfo pid

4 生成java进程的内存转储快照

jmap pid

5 打印java线程的堆栈跟踪信息

jstack

6 监控java进程的可视化监控、管理工具

jconsole
jvisualvm


http://www.kler.cn/a/533870.html

相关文章:

  • 通过docker安装部署deepseek以及python实现
  • 基于springboot河南省旅游管理系统
  • 【1】快手面试题整理
  • 物业管理系统源码提升社区智能化管理效率与用户体验
  • OPENGLPG第九版学习 - 着色器基础
  • 普罗米修斯监控服务搭建位置全解析:权衡与抉择
  • R分析|稀有or丰富,群落物种六级分类鉴别稀有和丰富物种:Excel中简单实现
  • 算法设计-普里姆算法(C++)
  • 寒假刷题Day22
  • 【搜索文章】:搜索(es)+ 搜索记录(mongodb)+ 搜索联想词
  • 如何在PPT中将文字环绕于图片周围
  • python零基础入门学习之“输入”
  • Maven架构项目管理工具
  • Mysql——SQL语句
  • KES数据库实践指南:探索KES数据库的事务隔离级别
  • linux 进程状态学习
  • SQL Server配置管理器无法连接到 WMI 提供程序
  • 设计模式---观察者模式
  • 用Argo的netCDF文件计算海洋混合层和障碍层深度并通过M_Map工具包画出全球海洋MLD和BL的分布图
  • Zabbix SQL注入漏洞CVE-2024-42327修复建议
  • Hackmyvm friendly2
  • 使用java调用deepseek,调用大模型,处理问题。ollama
  • Unity3D RVO动态避障技术方案详解
  • 春节娱乐大餐,智能家居互联互通,极空间虚拟机安装小米官方 HA 集成组件
  • excel里面的数据怎样批量地处理,把数据竖排便成横排?
  • 第五天 初步了解ArkTS和ArkUI