- 博客(19)
- 收藏
- 关注
原创 Spring进阶(五):Spring事务管理(详解+实例)_spring 事务教程
理解事务之前,先讲一个你日常生活中最常干的事:取钱。比如你去ATM机取1000块钱,大体有两个步骤:首先输入密码金额,银行卡扣掉1000元钱;然后ATM出1000元钱。这两个步骤必须是要么都执行要么都不执行。如果银行卡扣除了1000块但是ATM出钱失败的话,你将会损失1000元;如果银行卡扣钱失败但是ATM却出了1000块,那么银行将损失1000元。所以,如果一个步骤成功另一个步骤失败对双方都不是好事,如果不管哪一个步骤失败了以后,整个取钱过程都能回滚,也就是完全取消所有操作的话,这对双方都是极好的。
2025-02-03 13:47:14
583
原创 Spring编程式事务详解
PlatformTransactionManager中部分代码是可以重用的,所以spring对其进行了优化,采用模板方法模式就其进行封装,主要省去了提交或者回滚事务的代码。若你选择编程式事务管理,Spring推荐使用 TransactionTemplate。类似使用JTA的 UserTransaction API (除了异常处理的部分稍微简单点)。2.1 简介TransactionTemplate 采用与Spring中别的模板同样的方法,如 JdbcTemplate。
2025-02-03 13:45:30
694
原创 Pytest中实现自动生成测试用例脚本代码
api_module = ‘接口模块***’api_name = ‘接口名称***’“”" 写入用例数据 “”"“”"初始化文件写入:param file_path: __init__文件地址:return:“”"
2025-02-03 02:12:01
910
原创 pyqt5 pyqt5+opencv 实现读取视频数据_pyqt opencv 视频
self.setGeometry(250, 80, 800, 600) # 从屏幕(250,80)开始建立一个800*600的界面。self.setCentralWidget(self.videoFrame) # 设置图像数据填充控件。
2025-02-03 02:10:18
314
原创 nodejs项目实战教程09——封装静态Web服务器并进行路由管理
(3)解决异常的思路是,让static使用同步读取文件方法readFileSync,并且最终返回一个布尔值,如果路径走了static()返回true,没走的话返回false,然后让app.js调用的static接收返回的布尔值,如果接收到true,那么就不用走if条件,如果接收到false,那么走if条件。res.end(‘处理后的业务逻辑’);res.end(‘处理后的业务逻辑’);res.end(‘这个页面不存在’);res.end(‘该页面不存在’);res.end(‘该页面不存在’);
2025-02-02 19:01:27
675
原创 Nodejs基础之Express框架和art-template引擎(四)
cookie 是存储于访问者的计算机中的变量。可以让我们用同一个浏览器访问同一个域名的时候共享数据。HTTP 是无状态协议。简单地说,当你浏览了一个页面,然后转到同一个网站的另一个页面,服务器无法认识到这是同一个浏览器在访问同一个网站。每一次的访问,都是没有任何关系的。Cookie 是一个简单到爆的想法:当访问一个页面的时候,服务器在下行HTTP 报文中,命令浏览器存储一个字符串;浏览器再访问同一个域的时候,将把这个字符串携带到上行HTTP 请求中。第一次访问一个服务器,不可能携带cookie。
2025-02-02 18:57:58
1471
原创 JavaWeb - XML,XML的解析,Tomcat,web服务器,http协议
= 直接关闭黑窗口;找到tomcat里面bin目录,找到文件shutd.bat文件,点击这个文件关闭tomcat服务器。== 找到tomcat的bin目录,找到文件startup.bat文件,点击这个文件,启动tomcat服务器。= 查看错误:打开cmd窗口,进入到启动tomcat文件所在的路径,执行文件,看到错误信息。== 出现一个黑窗口,在黑窗口里面出现ms,同时没有异常信息,表示tomcat启动成功了。== 找到tomcat的conf目录,找到server.xml文件,进行端口的修改。
2025-02-01 17:22:04
478
原创 JavaSE学习----(九)线程(1)
进程是一个应用程序(一个进程是一个软件)线程是一个进程中执行的执行场景/执行单元一个进程可以启动多个线程以后在开发中,我们的项目都是运行在服务器当中,而服务器已经将线程定义,线程对象的创建,线程的启动等都已经实现完了,这些代码我们都不需要编写最重要的是:你要知道,你编写的程序要放到一个多线程下的环境下去运行,你更需要关注的是这些数据在多线程并发的环境写是否是安全的(重点!!!
2025-02-01 17:20:20
814
原创 iOS优化App启动时间优化(2024-09更新)
由于ASLR的存在,镜像(Image,包括可执行文件、dylib和bundle)会在随机的地址上加载,和之前指针指向的地址(preferred_address)会有一个偏差(slide),dyld需要修正这个偏差,来指向正确的地址。dyld运行APP的初始化函数,调用每个OC类的+load方法,调用C++的构造器函数(attribute((constructor))修饰),创建非基本类型的C++静态全局变量,然后执行main函数。执行的代码,有很多初始化操作,如日志,统计,SDK配置等。
2025-02-01 01:03:05
669
原创 iOS 多线程的四种技术方案
/第一种方式:先创建再启动线程// 创建线程// 线程启动了,事情做完了才会死, 一个NSThread对象就代表一条线程//第二种:直接创建并启动线程// 直接创建并启动线程//第三种:// 直接创建并启动线程// 使线程进入阻塞状态//例子// 获取图片的url// 另开1条线程 object用于数据的传递// 由于下面下载图片的耗时太长,应开启线程来完成#pragma mark - 执行run方法// 当前线程是否是主线程i < 10;i++) {
2025-02-01 01:01:20
1567
原创 Android C++ 系列:Linux Socket 编程(二)网络套接字函数_安卓用c++ 套接字组包
本文介绍了网络套接字函数:socket、bind、listen、accept、connect等。文末放一个小福利给大家,扫描下方二维码:群内有许多技术大牛,有任何问题,欢迎广大网友一起来交流,群内还不定期免费分享高阶Android学习视频资料和面试资料包~
2025-01-31 00:32:36
1670
原创 Android Architecture Components 之 Room 篇
为了让 Room 可以访问 entity,entity 中的字段必须是 public 的,或者提供了getter/setter方法。默认情况下,Room 会将 entity 中的每个字段作为数据库表中一列,如果你不想持久化某个字段,可以使用@Ignore注解。默认数据库表名为 entity 类名,你可以通过@Entity注解的tableName属性 更改,默认列名是字段名,你可以通过注解更改。
2025-01-31 00:30:53
549
原创 关于前端模块化开发你不可不知的那些事
在创建 JavaScript 模块时,export 语句用于从模块中导出实时绑定的函数、对象或原始值,以便其他程序可以通过 import 语句使用它们。在使用 import 进行导入时,这些绑定值只能被导入模块所读取,但在 export 导出模块中对这些绑定值进行修改,所修改的值也会实时地更新。在浏览器中,import 语句只能在声明了 type=“module” 的 script 的标签中使用。在您希望按照一定的条件或者按需加载模块的时候,动态 import() 是非常有用的。es module 使用。
2025-01-30 02:38:30
181
原创 MyBatis 中为什么不建议使用 where 1=1?
一切顺理成章,完美的一塌糊涂。以上代码删除了 1=1,并且把第一个 name 查询中的 and 去掉了,以防 SQL 查询报错。机智的小伙伴可能已经看出了问题,在众多 mapper 中发现了一个相同的想象,但这样就没问题了吗?作为一个几乎有代码洁癖症的人,自然是忍不住动手改造一番了。其实不用,在 MyBatis 中早已经想到了这个问题,我们。都是报错信息,那肿么办呢?难不成把 1=1 恢复回去?代码改造完成之后,接下来我们来测试一下所有的请求场景。
2025-01-29 18:29:53
294
原创 MongoDB安装和入门_mongodb4
在下载页面中可以看到另一个叫作 Studio 3T 的软件,它是一个功能更加强大的MongoDB图形化管理软件,但它是一个商业软件,需要收费,而Robo 3T是开源软件并且免费,它的功能足够应付本书的所有应用场景,因此本文选择使用Robo 3T。第2个参数是一个字典,它的Key为“$set”,它的值为另一个字典。如要查询的字段值能够比较大小,则查询时可以限定值的范围,例如,对数据集example_data_1,要查询所有“age”字段不小于25的记录,则需要使用大于等于操作符“$gte”。
2025-01-29 18:27:49
676
原创 Java进阶架构师之如何画好架构图?阿里大神手把手教你!
先不去管这些图好不好,我们通过对这些图的分类以及作用,思考了一下,总结下来,我们认为,在画出一个好的架构图之前, 首先应该要明确其受众,再想清楚要给他们传递什么信息 ,所以,不要为了画一个物理视图去画物理视图,为了画一个逻辑视图去画逻辑视图,而应该根据受众的不同,传递的信息的不同,用图准确地表达出来,最后的图可能就是在这样一些分类里。可以看到,非常简单、清晰,相信不需要解释,都看的明白,里面包含了需要建设的系统本身,系统的客户,和这个系统有交互的周边系统。有了架构之后,就需要让干系人理解、遵循相关决策。
2025-01-29 11:40:59
784
原创 Java进阶——多线程相关,实际应用中的积累,持续更新
案例2:4名选手参加赛跑,选手需要等待裁判发送指令;裁判发送完指令后,需要等所有选手到达终点;所有选手到达终点后,裁判汇总成绩。案例:主线程的执行需要等待子线程执行完,等各个线程执行完毕后,主线程做收尾的工作。到达时间后,就解除阻塞,并返回false。-1成功,返回true。await方法的对比。
2025-01-29 11:38:56
287
原创 Android开发:从创业小公司跳槽进阿里,需要做到什么?
这里不是说所有别人写的资料都是差的都是不值得看的,而是说其实别人可能也是看了官方的资料,经过自己的理解加工输出一个资料,而这个加工过程可能删减了部分内容,也可能扭曲/误解了官方的意思,以至于你看到的时候可能变了味。阅读源码确实不简单,但是不要着急,从简单的源码开始,慢慢提升,学会抽丝剥茧,层层递进,逐渐培养阅读源码的习惯与能力。但是呢,资料也是有好有坏的,众所周知,你用 google 搜跟 某度 搜到的资料会有很大的差别,所以。其实在进阿里之前,我也挺迷茫,内心有一些谜团一直困扰着我,比如。
2025-01-28 17:31:40
555
原创 Android开发指南!Android事件分发机制收藏这一篇就够了,2年以上经验必看
【Android 详细知识点思维脑图(技能树)】我个人是做Android开发,已经有十来年了,目前在某创业公司任职CTO兼系统架构师。虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,现在高级工程师还是比较缺少的,很多高级职位给的薪资真的特别高(钱多也不一定能找到合适的),所以努力让自己成为高级工程师才是最重要的。这里附上上述的面试题相关的几十套字节跳动,京东,小米,腾讯、头条、阿里、美团等公司19年的面试题。
2025-01-28 17:29:34
567
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人