- 博客(34)
- 收藏
- 关注
原创 05.Spring_AOP详解
Spring AOP 的实现基于代理模式,根据目标对象是否实现接口,Spring 会选择不同的代理实现方式。通过这种方式,AOP 允许我们在不修改原始代码的情况下,对现有方法的行为进行增强。Spring AOP 创建代理的核心源码在。// 耗时的数据库查询操作。JDK 动态代理通过。
2025-04-18 16:57:40
430
原创 03.Spring_IOC反射机制
读取配置元数据(XML、注解、Java 配置)生成 BeanDefinition 并注册到容器根据 BeanDefinition 获取 Bean 的 Class 对象选择合适的构造函数解析构造函数所需的参数通过反射调用构造函数创建实例进行属性注入和初始化这种基于反射的对象创建机制,使 Spring 能够在运行时动态创建和管理 Bean,实现了控制反转和依赖注入的核心功能。Spring IOC 实现原理详解之 Bean 实例化Spring 官方文档。
2025-04-18 16:10:47
685
原创 02.Spring_IOC详解
将用户定义的 Bean 配置信息解析成 Spring 内部的 BeanDefinition 数据结构。// Bean定义包含的主要信息// Bean的完整类名// 是否懒加载// 依赖的Bean// 构造参数// 属性值// 作用域// 工厂Bean名称// 工厂方法名称// ...其他配置将解析好的 BeanDefinition 注册到容器,形成 Bean 定义注册表。// 伪代码展示// 注册Bean定义。
2025-04-18 16:06:42
539
原创 04.Spring 框架注解体系详解
注解(Annotation)是 Java 5 引入的一种特殊类型的接口,它是一种元数据,用于提供有关程序的数据,但不属于程序本身。注解对于它所修饰的代码没有直接影响,但可以被工具或框架读取,用于生成代码、编译检查或在运行时通过反射处理。Spring 框架大量使用注解来简化配置,提高开发效率,实现声明式编程。在 Java 中,注解通过@interface@Target:指定注解可以应用的元素类型(类、方法、字段等)@Retention:指定注解的保留策略(源码、编译时、运行时)
2025-04-18 15:29:55
741
原创 01.Spring 框架的演化:从 XML 配置到注解驱动
Spring 框架自诞生以来经历了显著的演变,主要体现在配置方式的变革上。这一演化过程从 XML 配置、XML+注解混合配置、Java 配置到纯注解配置,每一步都使开发变得更加简洁高效。通过分析 AnnotationConfigApplicationContext 的参数变化,我们可以清晰地看到这一演进过程。在 Spring 最初的版本中,所有配置都必须通过 XML 文件完成,包括 Bean 定义、依赖注入、AOP 配置等。这种方式将配置与代码完全分离
2025-04-17 18:04:37
1359
原创 生成式对抗网络GAN
由伊恩·古德费洛(Ian J.Goodfellow)等人于2014年发表在Conference on Neural Information Processing Systems (NeurIPS)上。NeurIPS是机器学习和计算神经科学领域的顶级国际学术会议之一。
2024-01-15 09:57:19
1921
原创 在anaconda中安装pytorch的GPU版本
1.你已经下载好了anaconda,最好是新建一个虚拟环境来安装pytorch的GPU版本,并且设置了国内镜像源;首页向下翻,找到以下内容,然后根据自己的cuda版本复制相应的命令。安装包相对较大,请耐心等待。2.了解自己电脑对应的cuda版本,可通过。,并下载好了cuda。
2024-01-08 15:36:20
600
原创 时间序列系列04-时间序列间因果关系
挖掘时间序列间的因果关系是时间序列分析中的一个重要任务,它有助于理解变量之间的动态关系、预测未来趋势以及发现潜在的影响因素。
2024-01-05 17:29:03
2375
原创 python学习曲线绘制
学习曲线是通过这些得分的平均值和标准差绘制而成的,使你能够了解模型在不同训练集大小下的性能表现,并帮助你判断模型是否过拟合或欠拟合。函数是 Scikit-learn 库中用于生成学习曲线的工具。,以_socre结尾的越高越好,以_error或_loss结尾的越低越好。
2024-01-05 17:21:37
1813
原创 2.C++的编译:命令行、makefile和CMake
2,就算你只修改了某一个c文件,你也必须把所有的源文件全部重新编译一次,这个是非常耗时间的,也是完全没有必要的。当然CLion并没有使用Makefile的编译方式,而是Ninja,并且生成的构建文件默认存放在cmake-build-debug中,跟make比较类似但是速度会更快一些,不过最后都会成功构建出我们的可执行程序。我们的项目可能会有很多很多的内容需要去进行编译,如何去进行组织成了一个大问题,比如让谁先编译,谁后编译,这时,我们就需要一个构建工具来帮助我们对程序的构建流程进行组织。
2024-01-03 16:35:40
1520
原创 1.C++语言的编译器及编译流程
GCC原名GNU C Compiler,后来逐渐支持更多的语言编译(C++、Fortran、Pascal、Objective-C、Java、Ada、Go等),所以变成了GNU Compiler Collection(GNU编译器套装),是一套由GNU工程开发的支持多种编程语言的编译器。C++编译器通常提供许多编译选项,这些选项允许你指定如何进行代码生成、优化、调试信息等方面的设置。编译:g++ -S main.i -o main.s。汇编:g++ -c main.s -o main.o。
2024-01-03 15:33:56
1534
原创 时间序列系列03-统计模型
时间序列统计模型是用来描述和预测时间序列数据的数学模型。这些模型通常基于过去的观测值,并假设时间序列的行为是可预测的。
2023-12-27 21:25:17
1427
原创 时间序列系列01-初识时间序列
时间序列是按照时间顺序排列的一组随机变量,通常是在相等间隔的时间段内依照给定的采样率对某种潜在过程进行观测的结果。它能够反映某个或者某些随机变量随时间不断变化的趋势。更具体地说,时间序列可以展示某个现象的指标数值,这些数值按时间顺序排列,从而揭示了该现象的长期变化趋势和规律。大量的社会经济统计指标都是依据年、季度、月、日,甚至实时(秒)统计的,因此,时间序列是某个统计指标(变量)长期变动的数值表现。
2023-12-24 15:55:06
1898
原创 自动机器学习AutoML-Autogluon
AutoGluon是一个具有自动化机器学习功能的开源框架,它旨在简化机器学习模型的训练和部署过程。AutoGluon提供了一种简单、灵活且高效的方法,可以自动化地完成特征工程、模型选择和超参数调优等流程,从而为开发者提供了更多的时间和精力来解决其他问题。自动化特征工程:AutoGluon可以自动分析数据集中的特征,并根据其类型和特性进行转换和编码。它可以处理数值特征、类别特征和文本特征,并自动选择适当的转换方法。此外,AutoGluon还可以处理缺失值和异常值,并生成新的特征以提高模型的性能。
2023-12-24 14:35:50
3252
2
原创 软件工程复习指南6-试题5
(单选题)可移植性是反映出把一个原先在某种硬件或软件环境下正常运行的软件移植到另一个硬件或软件环境下,使该软件也能正确地运行的难易程序。为了提高软件的可移植性,应注意提高软件的( )。A. A、使用方便性B. 简洁性C. 可靠性D. 设备不依赖性我的答案: D(单选题)制定进度计划的重要工具和方法是( )。A. 层次图B. CoCoMoC. 工程网络图D. HIPO图我的答案: C(单选题)软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( )。A
2023-12-21 10:43:11
560
原创 软件工程复习指南6-试题4
(单选题, 3分) 若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是( )(单选题, 3分) 软件测试中根据测试用例设计的方法的不同可分为黑盒测试和白盒测试两种,它们( )(单选题, 3分) 软件测试方法中,黑盒、白盒测试法是常用的方法,其中白盒测试主要用于测试( )(单选题, 3分) 在软件测试中,( )是通过分析程序的内部逻辑来设计测试用例的方法。
2023-12-21 10:33:59
1221
原创 软件工程复习指南6-试题3
(单选题)软件的结构化设计(SD)方法中,一般分为概要设计和详细设计两阶段,其中详细设计主要是要建立( )B. 数据流程图,程序流程图,PAD图,N-S图,HIPO图。(单选题)结构化程序设计的三种基本控制结构的共同特点是( )(单选题)为了提高软件的可维护性,在编码阶段应注意( )。D. 判定树,数据流程图,系统流程图,程序流程图,层次图。(单选题)详细设计的基本任务是确定每个模块的( )(单选题)在详细设计阶段所使用到的设计工具是( )。(单选题)程序的三种基本控制结构是( )
2023-12-21 10:10:23
641
原创 软件工程复习指南6-试题2
例如,如果我们有一个用例是登录功能,那么我们可以创建两个用例,一个是"正常登录",另一个是"异常登录"。"正常登录"用例可以被认为是"login"用例的子集,而"异常登录"用例可以被认为是"login"用例的扩展。已知用例A表示一般情况,而用例B是在用例A到达一个特定点时才发生的情况(该特定点可能到达,可能不到达),则下列4个选项中,( )能正确表示A、B之间的关系。也就是说,如果一个用例包含了另一个用例的所有步骤,那么我们就说这个用例"include"了另一个用例。
2023-12-21 10:07:47
1261
原创 软件工程复习指南6-试题1
(单选题)为了解决软件危机,人们提出了用( )的原理来设计软件。A. 运筹学B. 工程学C. 软件学D. 数学我的答案: B(单选题)“软件危机”是指( )A. 计算机病毒的出现B. 利用计算机进行经济犯罪活动C. 软件开发和维护中出现的一系列问题D. 人们过分迷恋计算机系统我的答案: C(单选题)在瀑布模型中,将软件划分为若干个时期,软件项目的可行性研究一般归属于( )A. 维护时期B. 计划时期C. 运行时期D. 开发时期我的答案: B(单选题)软件工程的基本
2023-12-21 09:53:26
639
原创 软件工程复习指南5-软件测试
某报表处理系统要求用户输入处理报表的日期,日期限制在2003年1月至2008年12月,即系统只能对该段期间内的报表进行处理,如日期不在此范围内,则显示输入错误信息。设计一个新的测试用例,使其能够尽量覆盖尚未覆盖的有效等价类。设计一个新的测试用例,使其仅覆盖一个尚未覆盖的无效等价类。输入条件规定了输入值的集合,或是规定了“必须如何”的条件,则可确定一个有效等价类和一个无效等价类。已划分的等价类中各元素在程序中的处理方式是不同的,则应将此等价类进一步划分成更小的等价类。A、前者属于静态测试,后者属于动态测试。
2023-12-19 13:31:58
1157
原创 软件工程复习指南4-软件质量管理
可移植性是反映出把一个原先在某种硬件或软件环境下正常运行的软件移植到另一个硬件或软件环境下,使该软件也能正确地运行的难易程序。为了提高软件的可移植性,应注意提高软件的( D)。软件质量保证(SQA):参照一定的质量标准、目标及各项软件流程、规范来监督、管理软件产品的质量。软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为(B )。(易培训性):对程序学习、操作、准备输入和解释输出所需要的。:软件的各个构件可以在另一个软件中使用的程度。:程序完成其功能所需的。
2023-12-19 12:48:14
444
原创 软件工程复习指南3-软件设计
人机界面(Human-Computer Interface,HCI)是计算机直接与人打交道的途径,是计算机系统的重要组成部分,它的开发工作量占系统开发工作量的40-60%PAD图的基本原理:采用自顶向下、逐步细化和结构化设计的原则,力求将模糊的问题解的概念逐步转换为确定的和详尽的过程,使之最终可采用计算机直接进行处理。一个内聚的模块执行一个独立的任务,与程序的其他部分构件只需要很少的交互。模块的独立性是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其他模块的接口是简单的。
2023-12-19 11:32:57
1062
原创 软件工程复习指南2-需求建模
某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第1位数字不是0;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨0,若是本市电话则再接着拨8位数字(第1位不是0),若是外地电话则拨3位区码再拨8位电话号码(第1位不是0)。电话号码=[校内电话|本市电话|外地电话]校内电话=1{非0数字}1+3{数字}3本市电话=0 + 1{非0数字}1+7{数字}7外地电话=0 + 3{数字}3 + 1{非0数字}1+7{数字}7。
2023-12-19 10:49:22
1750
原创 软件工程复习指南1-基础知识
计算机软件指计算机系统中的程序、数据及其相关文档程序:按照特定顺序组织的计算机数据和指令的集合。数据:使程序能正常执行的数据结构文档:为了便于理解程序所需的与开发、维护和使用有关的资料软件三要素:软件=程序+文档+数据软件的特点:软件是一种逻辑实体,而不是有形的系统元件,其开发成本和进度难以准确地估算软件是被开发的或被设计的,没有明显的制造过程,一旦开发成功,只需复制即可,但其维护的工作量大。软件的使用没有硬件那样的机械磨损和老化问题,但会应缺陷和过时而退化。软件的分类系统软件。
2023-12-18 19:48:47
980
原创 最优化试题
一般迭代格式:收敛性:在最优化问题的迭代过程中,如果目标函数的值逐渐接近最优解,且迭代点的变化逐渐减小,那么我们称这个迭代过程是收敛的。如果迭代点最终达到一个固定点或无法进一步变化(即达到了某种形式的边界条件),那么我们称这个迭代过程已经收敛到了最优解。停止准则:常见的最优化算法:线性规划的基本概念凸优化问题是指目标函数和约束条件都是凸函数的优化问题凸优化问题的优势主要有以下三点:凸优化问题的局部最优解就是全局最优解很多非凸问题都可以被等价转化为凸优化问题或者被近似为凸优化问题
2023-11-14 22:30:00
1386
3
原创 高级算法设计与分析
合并:将两个有序子数组合并成一个更大的有序数组,重复这个过程直到整个数组有序。合并的过程需要将两个有序子数组合并成一个有序数组,合并的时间复杂度与待排序数组的大小成线性关系,即。归并排序是一种基于分治思想的排序算法,分治思想是将一个大问题分割成许多小问题,这些小问题相互独立且与原问题相同,递归解决小问题后再将他们合并在一起。分割:将待排序的数组递归地分割成两个子数组,直到每个子数组只包含一个元素。子序列定义:一个给定序列的子序列是在该序列中删去若干元素后得到的序列。的矩阵相乘,要做m*n*k次乘法。
2023-11-02 22:51:47
491
1
原创 《最优化理论与方法》复习内容要求与例题(补充中)
1.1是数学和计算科学中的一个重要领域,它涉及在给定约束条件下找到使某个目标函数最优化的变量值。1.2:根据目标函数是线性还是非线性,问题可以分为。:问题可以分为。有约束问题包括。:根据决策变量是连续还是离散的,可以将问题分类为问题。:问题可以分为问题,其中多目标问题涉及多个相互竞争的目标函数。:根据目标函数的性质,可以分为问题。凸优化问题通常具有全局最优解,而非凸问题可能有多个局部最优解。1.3:最优解是指在满足给定约束条件的情况下,使目标函数值最小(或最大)的变量值。
2023-10-24 17:50:57
1585
原创 SSM复习资料整理
Mybaits1.特点:轻量级,灵活,简单易学,效率高2.XXXmapper.xml对应参数:namespace:Dao层xxx接口所在的全限定名id:接口中的方法名parameterType:接口参数类型resultType:接口返回值类型,未设置别名需要在mybaits配置中使用别名属性来设置,或者在整合时在spring配置中设置。别名:<typeAliases> <typeAlias type="类的全限定" alias="别名"/><type
2022-04-20 10:55:39
1122
原创 Spring整合mybaits相关配置文件
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2022-04-19 22:57:19
614
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人