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

20230305学习计划

目录

第二天学习开发框架

前言

一、巩固复习第一天20230304学习笔记

二、SpringMVC中的控制器是不是单例模式?如果是,如何保证线程安全?

1、控制器是单例模式,是线程不安全的。

2、Spring中保证线程安全的方法:

三、Spring事务传播机制

四、Spring框架中Bean的创建过程是怎么样的?

五、Spring事务失效的十二大场景?

总结


第二天学习开发框架


文章目录

  • 系列文章目录
  • 前言
  • 一、pandas是什么?
  • 二、使用步骤
    • 1.引入库
    • 2.读入数据
  • 总结

前言

今天是开始准备开发框架面试题的第二天,计划今天可以使用六个小时用来学习。


一、巩固复习第一天20230304学习笔记

20230304学习笔记_bug说技术的博客-CSDN博客

二、SpringMVC中的控制器是不是单例模式?如果是,如何保证线程安全?

1、控制器是单例模式,是线程不安全的。

2、Spring中保证线程安全的方法:

  • 将scop设置成非singleton,prototype、reqeust。
  • 最好的方式是将控制器设置成无状态。

三、Spring事务传播机制

REQUIRED(默认):有则加,无则创。

SUPPORTS:有则加。

MANDATORY:有则加,无则错。

REQUIRED_NEW:无则创,有则挂,调用者和被调用者事务相互独立。

NOT_SUPPORTS:有则挂起,无则以非事务方式执行。

NEVER:以非事务方式执行,调用方有事务,则抛出异常。

NESTED:如果当前存在事务,则嵌套到当前事务。如果当前不存在事务,以REQUIRED的操作一样,开启一个新的事务。

和REQUIRES_NEW的区别

REQUIRES_NEW是创建一个新的事务与原有事务无关,NESTED创建子事务,原有事务为父事务。REQUIRES_NEW不会被原有的事务影响,但NESTED会受到原有事务的影响。

和REQUIRED的区别

REQUIRED新开启的事务会影响原来事务,比如新开启的事务回滚,原有的事务也会回滚。

NESTEDG 回滚如果被捕捉异常,不会影响原有事务。

四、Spring框架中Bean的创建过程是怎么样的?

首先分为四个步骤:实例化=》属性赋值=》初始化=》销毁。

1、实例化:两个时机:a、客户主动向容器申请一个bean时,b、当容器初始化一个bean时发现还需要另一个bean。BeanDefinition对象保存相关信息。

2、设置对象属性(依赖注入):Spring通过Definition找到对象依赖的其它对象,并将这些对象赋予当前对象。

3、初始化(Aware):BeanNameAware、BeanClassLoaderAware、BeanFactoryAware、ApplicatonContextAware;

4、BeanPostProcessor前置处理:调用BeanPostProcessor的postProcessBeforeInitailization方法。

5、InitializingBean:就会实现afterPropertiesSet方法。

6、init-method:<bean init-method=xxx>  @postConstruct

7、BeanPostProcessor后置处理方法:PostProcessAfterInitilization方法。

8、DisposableBean:当bean实现这个接口时,destory();

9、destory-method: @PreDestory。

五、Spring事务失效的十二大场景?

1、访问权限private。

2、final、static 。

3、内部调用:@service @autoWrite proxy

4、未添加到spring容器中。

5、未开启事务,point。

6、数据库未支持Myisim  innoDB

7、设置错误的事务传播特性propation。

8、捕捉异常

9、抛出无法处理异常,运行时异常、error错误

10、自定义了回滚异常

11、多各线程调用

12、嵌套事务回滚多了


总结

以上是今天的全部内容。

相关文章:

20230305学习计划

目录 第二天学习开发框架 前言 一、巩固复习第一天20230304学习笔记 二、SpringMVC中的控制器是不是单例模式&#xff1f;如果是&#xff0c;如何保证线程安全&#xff1f; 1、控制器是单例模式&#xff0c;是线程不安全的。 2、Spring中保证线程安全的方法&#xff1a; …...

SocketCan 应用编程

SocketCan 应用编程 由于 Linux 系统将 CAN 设备作为网络设备进行管理&#xff0c;因此在 CAN 总线应用开发方面&#xff0c;Linux 提供了SocketCAN 应用编程接口&#xff0c;使得 CAN 总线通信近似于和以太网的通信&#xff0c;应用程序开发接口更加通用&#xff0c;也更加灵…...

从零学习python - 04函数方法与返回值

函数&#xff1a;Function-也称为方法&#xff0c;是组织好的、可重复使用的&#xff0c;用来实现指定功能的代码块。函数的定义与调用:创建函数目的是封装业务逻辑&#xff0c;实现代码复用# 创建函数关键字:def(definition)def fun1(x, y):print(x y)函数的参数:python函数中…...

MySQL实战之事务到底是隔离的还是不隔离的

1.前言 我们在MySQL实战之事务隔离&#xff1a;为什么你改了我还看不见讲过事务隔离级别的时候提到过&#xff0c;如果是可重复读隔离级别&#xff0c;事务T启动的时候会创建一个视图read-view,之后事务T执行期间&#xff0c;即使有其他事务修改了数据&#xff0c;事务T看到的…...

Elasticsearch:理解 Master,Elections,Quorum 及 脑裂

集群中的每个节点都可以分配多个角色&#xff1a;master、data、ingest、ml&#xff08;机器学习&#xff09;等。 我们在当前讨论中感兴趣的角色之一是 master 角色。 在 Elasticsearch 的配置中&#xff0c;我们可以配置一个节点为 master 节点。master 角色的分配表明该节点…...

【致敬女神】HTMLReport应用之Unittest+Python+Selenium+HTMLReport项目自动化测试实战

HTMLReport应用之UnittestPythonSeleniumHTMLReport项目自动化测试实战1 测试框架结构2 技术栈3 实现思路3.1 使用HtmlTestRunner3.2 使用HTMLReport4 TestRunner参数说明4.1 源码4.2 参数说明5 框架代码5.1 common/reportOut.py5.2 common/sendMain.py5.3 report5.3.1 xxx.htm…...

JAVA的16 个实用代码优化小技巧

一、类成员与方法的可见性最小化 举例&#xff1a;如果是一个private的方法&#xff0c;想删除就删除。 如果一个public的service方法&#xff0c;或者一个public的成员变量&#xff0c;删除一下&#xff0c;不得思考很多。 二、使用位移操作替代乘除法 计算机是使用二进制…...

并发编程的三大挑战之原子性及其解决方案

目录 一、原子性问题 1、带来原子性问题的原因 2、如何解决线程切换带来的原子问题 2.1、使用synchronized关键字来保证 2.2、使用CAS来保证原子性 2.3、使用lock锁来保证 一、原子性问题 1、带来原子性问题的原因 线程切换是带来原子的根本原因&#xff0c;java的并发程…...

QML动画(其他的动画)

PauseAnimation &#xff08;暂停动画&#xff09; 为动画提供暂停 Rectangle{id:rect1width: 100;height: 100;x:100;y:100color: "lightBlue"SequentialAnimation{running: trueColorAnimation {target: rect1&#xff1b;property: "color"&#xff1b;…...

Spark 配置项

Spark 配置项硬件资源类CPU内存堆外内User Memory/Spark 可用内存Execution/Storage Memory磁盘ShuffleSpark SQLJoin 策略调整自动分区合并自动倾斜处理配置项分为 3 类: 硬件资源类 : 与 CPU、内存、磁盘有关的配置项Shuffle 类 : Shuffle 计算过程的配置项Spark SQL : Spar…...

掌握Vue3模板语法,助你轻松实现高效Web开发

Vue3作为前端开发中的一种主流框架&#xff0c;为我们提供了多种灵活的方式来处理模板语法。除了基础的模板语法&#xff0c;Vue3还提供了一些高级的语法&#xff0c;可以让我们更好地处理组件、响应式数据和UI逻辑等。在这篇博客中&#xff0c;我们将介绍Vue3中的一些高级模板…...

Jmeter+Ant+Jenkins接口自动化测试平台搭建

平台简介一个完整的接口自动化测试平台需要支持接口的自动执行&#xff0c;自动生成测试报告&#xff0c;以及持续集成。Jmeter支持接口的测试&#xff0c;Ant支持自动构建&#xff0c;而Jenkins支持持续集成&#xff0c;所以三者组合在一起可以构成一个功能完善的接口自动化测…...

ncnn部署(CMakelists.txt)

1. NCNN 环境安装 参考博客: 基于ncnn的yolov5模型部署 1. 1 protobuf编译 打开VS2013/VS2019的X64命令行(注意不是cmd),我这里以V32013环境进行编译 > cd <protobuf-root-dir> > mkdir build-vs2013 > cd build-vs2013 > cmake -G"NMake Makefil…...

SQL分库分表

什么是分库分表&#xff1f; 分库分表是两种操作&#xff0c;一种是分库&#xff0c;一种是分表。 分库分表又分为垂直拆分和水平拆分两种。 &#xff08;1&#xff09;分库&#xff1a;将原来存放在单个数据库中的数据&#xff0c;拆分到多个数据库中存放。 &#xff08;2&…...

大数据分析案例-基于逻辑回归算法构建微博评论情感分类模型

🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 喜欢大数据分析项目的小伙伴,希望可以多多支持该系列的其他文章 大数据分析案例合集…...

0105深度优先搜索算法非递归2种实现对比-无向图-数据结构和算法(Java)

1 两种非递归实现 在前面我们解决无向图的单点通性和单点路径问题时&#xff0c;都用到了深度优先搜索算法。深度优先搜索算法可以用递归和非递归两种方式。这里讨论非递归实现。 无向图结构使用邻接表实现。 第一种非递归方法&#xff08;推荐&#xff09;&#xff0c;代码如…...

传统手工数据采集耗时耗力?Smartbi数据填报实现数据收集分析自动化

企业在日常经营管理过程中&#xff0c;往往需要收集很多内外部的信息&#xff0c;清洗整理后再进行存储、分析、呈现、决策支持等各种作业&#xff0c;如何高效收集结构化数据是企业管理者经常要面对的问题。传统手工的数据采集方式不仅耗费了大量人力时间成本&#xff0c;还容…...

《Spring源码深度分析》第5章 Bean的加载

目录标题前言一、Bean加载入口与源码分析1、Bean加载的入口2、Bean加载源码二、FactoryBean的使用三、缓存中获取单例bean(待补充)前言 经过前面的分析&#xff0c;我们终于结束了对XML 配置文件的解析&#xff0c;接下来将会面临更大的挑战&#xff0c;就是对 bean 加载的探索…...

华为OD机试真题Java实现【求最大数字】真题+解题思路+代码(20222023)

求最大数字 题目 给定一个由纯数字组成以字符串表示的数值,现要求字符串中的每个数字最多只能出现2次,超过的需要进行删除;删除某个重复的数字后,其它数字相对位置保持不变。 如34533,数字3重复超过2次,需要删除其中一个3,删除第一个3后获得最大数值4533 请返回经过删…...

Java——异常机制

前言 随着对java的不断深入学习&#xff0c;在对语法以及编程思想有了一定的了解之后&#xff0c;在编程的过程中有可能会因为用户的输入不正确或者逻辑错误而出现异常或者错误&#xff0c;因此如何去捕捉与避免不应该出现的异常或者错误就变得十分重要。本文就介绍了java的异…...

如何快速搭建AI聊天前端:SillyTavern完整教程与角色扮演系统指南

如何快速搭建AI聊天前端&#xff1a;SillyTavern完整教程与角色扮演系统指南 【免费下载链接】SillyTavern LLM Frontend for Power Users. 项目地址: https://gitcode.com/GitHub_Trending/si/SillyTavern 想象一下&#xff0c;你能够与任何AI角色进行沉浸式对话&#…...

边缘AI与TinyML在医疗影像筛查中的实战:从模型轻量化到临床部署

1. 项目概述&#xff1a;当AI成为医生的“仿生眼”在医疗诊断领域&#xff0c;尤其是癌症早期筛查中&#xff0c;人类医生的经验与肉眼观察长期是金标准。然而&#xff0c;这个标准背后隐藏着巨大的不确定性&#xff1a;研究显示&#xff0c;即便是标准的放射影像学检查&#x…...

AI智能体技能库构建:从标准化接口到安全实践

1. 项目概述&#xff1a;从“技能库”到“智能体”的进化之路最近在折腾AI智能体开发的朋友&#xff0c;估计都绕不开一个核心问题&#xff1a;如何让一个智能体真正“能干”&#xff0c;而不仅仅是“能聊”&#xff1f;这背后&#xff0c;就是“技能”的构建与管理。今天要聊的…...

量子纠错AI预解码器:加速表面码实时处理

1. 量子纠错与实时解码的挑战量子计算的核心难题之一是量子比特的脆弱性。与环境相互作用导致的退相干效应&#xff0c;使得量子信息在极短时间内就会发生不可逆的丢失。表面码&#xff08;Surface Code&#xff09;作为最具实用前景的量子纠错方案&#xff0c;通过将逻辑量子比…...

AI伦理实战:从偏见、可解释性到隐私保护的工程化解决方案

1. 项目概述&#xff1a;当AI从实验室走向现实&#xff0c;我们面临什么&#xff1f;几年前&#xff0c;我还在实验室里为一个模型的准确率提升0.5个百分点而兴奋不已。那时&#xff0c;“伦理”这个词&#xff0c;对我们这些埋头调参的工程师来说&#xff0c;似乎还停留在哲学…...

告别AT指令恐惧症:用ESP-01S和51单片机,5分钟搞定手机远程开关灯

从零到一的智能家居初体验&#xff1a;ESP-01S与51单片机极简联动方案 第一次接触物联网硬件开发时&#xff0c;那些密密麻麻的AT指令确实容易让人望而生畏。但当我真正用ESP-01S模块配合最基础的51单片机&#xff0c;在五分钟内实现了手机远程开关LED灯的那一刻&#xff0c;所…...

AI赋能医院物流:基于PDCA循环的智能供应链韧性提升实践

1. 项目概述&#xff1a;当医院物流遇上AI与PDCA医院物流&#xff0c;听起来可能有点“幕后”&#xff0c;但它绝对是现代医疗体系顺畅运转的“大动脉”。从高值耗材、药品、检验试剂&#xff0c;到被服布草、医疗废物&#xff0c;甚至是一日三餐&#xff0c;这条链条上任何一个…...

Windows 10/11 下 Node.js 安装踩坑实录:为鸿蒙HarmonyOS开发扫清环境障碍

Windows 10/11 下 Node.js 安装踩坑实录&#xff1a;为鸿蒙HarmonyOS开发扫清环境障碍 当你在Windows系统上准备搭建鸿蒙HarmonyOS开发环境时&#xff0c;Node.js的安装往往是第一个拦路虎。不同于官方文档中"下一步到底"的理想化流程&#xff0c;真实场景中你会遇到…...

终极魔兽争霸3优化指南:5分钟让你的经典游戏焕发新生

终极魔兽争霸3优化指南&#xff1a;5分钟让你的经典游戏焕发新生 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 你是否还在为《魔兽争霸3》的老旧限制…...

从用户态到内核态:Linux Hook技术的全景实践与攻防解析

1. Linux Hook技术入门&#xff1a;从概念到实践 第一次接触Hook技术是在十年前的一个安全分析项目中&#xff0c;当时需要监控某个可疑进程的行为。那时候我才明白&#xff0c;原来Linux系统里藏着这么多可以"截胡"程序执行的秘密通道。简单来说&#xff0c;Hook技术…...