面试题(一)

news2024/11/17 7:30:28

目录

一.@Transactional 原理和常见的坑

前期准备

事务不生效的几种 Case

原理

源码解读

@Transactional 执行机制

private 导致事务不生效原因

异常不匹配原因

两种 @Transactional

Spring  @Transactional

javax.transaction.Transactional 

二.@Autowired 和 @Resource 的区别是什么?

@Autowired

@Resource 

小结

三.什么是序列化?常见的序列化协议有哪些?

什么是序列化?什么是反序列化?

实际开发中有哪些用到序列化和反序列化的场景? 

序列化协议对应于 TCP/IP 4 层模型的哪一层? 

常见序列化协议对比 

JDK 自带的序列化方式

Kryo

四.深拷贝和浅拷贝区别了解吗?什么是引用拷贝? 

五.优惠券设计

六.数据库优化

优化方案

Mysql索引

多表查询优化

 一条MySQL语句的执行过程

七.静态代理和动态代理

静态代理

静态代理的特点

静态代理的实现

动态代理 

动态代理的特点 

基于JDK实现

基于CGlib实现 

JDK代理与CGLIB代理的区别

八. AOP 了解吗?有什么用?切面执行顺序如何控制?

谈谈自己对于 AOP 的了解

Spring AOP 和 AspectJ AOP 有什么区别? 

AspectJ 定义的通知类型有哪些? 

多个切面的执行顺序如何控制? 

用AOP实现异步上传

九.MQ 消息丢失、重复、积压问题,如何解决?

案例分析 

案例解答

消息丢失

消息检测-拦截器机制

重复消费消息 

消息积压-消费端

总结

十. 说一说你对多态的理解

十一. ==和equals()有什么区别?

十二.String,StringBuilder,StringBuffer

十三.接口和抽象类 

十四.static与final

十五. 泛型


一.@Transactional 原理和常见的坑

前期准备

// 提供的接口
public interface UserDao {
    // select * from user_test where uid = "#{uid}"
    public MyUser selectUserById(Integer uid);
    // update user_test set uname =#{uname},usex = #{usex} where uid = #{uid}
    public int updateUser(MyUser user);
}

//====================================================================&

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/920712.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

EasyExcel实现文件分批次导入

文章目录 EasyExcel引入依赖表结构项目结构DozerUtils工具类实体类StudentController监听类ServiceServiceImplmapper 启动项目测试测试数据PostMan测试 EasyExcel EasyExcel是一个基于Java的、快速、简洁、解决大文件内存溢出的Excel处理工具。 他能让你在不用考虑性能、内存…

智能交通顶会 IEEE ITSC工作 LimSim:长期交互式多场景交通仿真器(已开源)

交通仿真器是自动驾驶技术发展的重要支撑。交通仿真器可以在虚拟环境中仿真各种交通场景和车辆行驶情况,从而提高测试效率、降低测试风险、提高测试准确性和加速开发周期,是自动驾驶技术验证和优化的重要手段之一。 **LimSim是由上海人工智能实验室智能…

怎么把PDF转成Word?需要注意什么事项?

PDF是一种常见的文档格式,但是与Word文档不同,PDF文件通常不能直接编辑。如果您想编辑PDF文件中的文本,或者想将PDF文件转换为Word文档,下面我们就来看一看把PDF转成Word有哪些方法和注意事项。 PDF转Word工具 有许多将PDF转换为…

AndroidStudio升级后总是Read Time Out的解决办法

AndroidStudio升级后在gradle的时候总是Time out,遇到过多次,总结一下解决办法 1、gradle下载超时 在工程目录../gradle/wrapper/gradle-wrapper.properties中找到gradle版本的下载链接,如下图: 将其复制到迅雷里下载&#xff0…

vue和react学哪一个比较有助于以后发展?

前言 首先声明vue和react这两个框架都是很优秀的前端框架,使用的人群下载量上数量也是相当的庞大,这篇文章没有贬低或者攻击任何一个框架的意思,只在于根据答主的问题来对这两个框架做出对比,以方便大家更加清晰的了解到当下vue和…

小迪和小捷的太空之旅——汽车篇

前情提要 书接上回,小迪与小捷接到外星人的委托,前往其母星拿取特殊小硬件。 在这个陌生的星球,小迪和小捷将遇到怎样的故事呢?

flask实现获取到上传的文件--postman实战

python: index_page.route("/upload",methods["POST"]) def upload():f request.files[file]return "request:%s,params:%s,var_a:%s" % (request.method, request.files, f)postman测试 也可以使用curl进行测试,post可…

高防护等级工业RFID读写器

工业环境恶劣,RFID工业读写器要能够在工业领域应用必须满足一定的防护等级,才能避免外界灰尘油污对设备产生影响,因此企业选择一款高防护等级的读写器尤为重要。下面本文就为大家介绍一下工业读写器对应的防护等级,给大家一个参考…

Wireshark数据抓包分析之互联网控制报文协议_ICMP

一、实验目的: 通过使用wireshark抓取的ICMP数据包对这个ICMP控制报文进行分析 二、预备知识: 1.ICMP协议概述:ICMP是Internet Control Message Protocol的缩写,即互联网控制报文协议。它是TCP/IP协议族的一个子协议,用于IP主机、…

c++ qt--页面布局(第五部分)

c qt–页面布局(第五部分) 一.页面布局 在设计页面的左侧一栏的组件中我们可以看到进行页面布局的一些组件 布局组件的使用 1.水平布局 使用:将别的组件拖到水平布局的组件中即可,可以选择是在哪个位置 2.垂直布局 使用&…

线性代数的学习和整理5: 矩阵的加减乘除及其几何意义

目录 1 矩阵加法 1.1 矩阵加法的定义 1.2 加法的属性 1.2.1 只有同类型,相同n*m的矩阵才可以相加 1.2.1 矩阵加法的可交换律: 1.2.2 矩阵加法的可结合律: 1.3矩阵加法的几何意义 2 矩阵的减法 2.1 矩阵减法定义和原理基本同 矩阵的…

MongoDB【CRUD练习-条件查询-文档关系】

练习1-CRUD // 进入test数据库 use test; // 查询文档内容 db.students.find(); // 显示当前数据库中所有集合 show collections; // 向数据库的user集合中插入一个文档 db.users.insertOne({username: "lyh"} ); // 查看当前数据库中所有的集合 发现users集合被创建…

JavaFX笔记

设置透明 group.setOpacity(0.5);,这里给group设置了半透明,其中的组件也会跟着变化。 按钮的字体 按钮背景 麻烦方法 paint是颜色 CornerRadii是圆角的弧度 CSS方法 单击事件

java八股文面试[java基础]——反射

知识来源: 【23版面试突击】讲讲JAVA的反射机制_哔哩哔哩_bilibili

华为云服务器部署mysql

1. 下载mysql压缩包 本机是64位,直接用命令安装 msyql官网: https://dev.mysql.com/downloads/mysql/ 去网站看下所需的版本,修改下列命令 wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.20-linux-glibc2.12-x86_64.tar.…

学习JAVA打卡第四十天

对象的字符串表示 在此类中我们讲过,所有的类都默认是java.lang包中object类的子类或间接子类。 Object类有一个public String toString()方法,一个对象通过调用该方法可以获得该对象的字符串表示。一个对象调用toString法(&…

vcomp140.dll丢失的修复方法分享,电脑提示vcomp140.dll丢失修复方法

今天,我的电脑出现了一个奇怪的问题,打开某些程序时总是提示“找不到vcomp140.dll文件”。这个问题让我非常头疼,因为我无法正常使用电脑上的一些重要软件。为了解决这个问题,我在网上查找了很多资料,并尝试了多种方法…

【面试经典150题】删除有序数组中的重复项-JavaScript版

题目链接 思路1&#xff1a;使用set。 /*** param {number[]} nums* return {number}*/ var removeDuplicates function(nums) {const uniqueSetnew Set();for(let i0;i<nums.length;i){uniqueSet.add(nums[i]);}const uniqueArrayArray.from(uniqueSet);nums.length0;nu…

【项目经理】项目管理杂谈

杂谈 1. 走上管理岗位&#xff0c;别再自己埋头干了2. 如何更好地管理项目进度3. 管理是“管事”而不是“管人”4. 让领导欣赏的十个沟通技巧在这里插入图片描述 1. 走上管理岗位&#xff0c;别再自己埋头干了 2. 如何更好地管理项目进度 3. 管理是“管事”而不是“管人” 4. 让…

书单背景图片怎么做?分享个手机轻松制作的方法

添加背景图片可以让书单变得更加吸引人&#xff0c;同时也能够让读者更好地理解该书单所代表的主题。在这篇文章中&#xff0c;我们将分享如何为书单添加背景图片&#xff0c;以及需要注意的地方。 如果你想在手机上把书单制作成视频的话&#xff0c;可以使用一些编辑应用&…