自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 MyBatis 缓存与 Spring 事务相关笔记

【代码】MyBatis 缓存与 Spring 事务相关笔记。

2025-08-12 21:54:43 637

原创 2025.08.11课后作业

大部分参数传递使用#{},优先保证安全性动态表名、列名、排序方式等必须使用${}模糊查询推荐使用<bind>标签配合#{}实现,避免使用${}

2025-08-11 19:40:44 441

原创 项目代码涉及的知识点笔记整理

用于快速开发 Java Web 应用的框架。:关系型数据库,作为数据存储介质。:持久层框架,用于数据库操作。

2025-08-11 19:11:05 363

原创 静态代理、JDK 动态代理、CGLIB 及 AOP 核心要点

静态代理是在编译期就确定代理类与目标类关系的代理模式。代理类需要手动编写,且与目标类实现相同的接口(或继承同一父类)。动态代理是在运行时动态生成代理类的代理模式。无需手动编写代理类,通过反射或字节码技术在程序运行时动态创建代理对象,解决静态代理的代码冗余问题。CGLIB 是一个第三方字节码生成库,通过继承目标类动态生成代理类(子类),从而实现代理功能。无需目标类实现接口,弥补了 JDK 动态代理的局限性。AOP 是一种编程思想,核心是分离 “横切关注点”(如日志、事务、安全)与 “核心业务逻辑”

2025-08-08 20:41:44 642

原创 代码库详细笔记

JDK 动态代理:基于接口实现,通过创建代理对象,核心是的invoke()方法静态代理:编译期确定代理关系,代理类与目标类实现同一接口,直接持有目标对象引用Spring IOC:通过和@Bean定义 Bean,支持自定义初始化方法和作用域Bean 生命周期:通过等接口和可监控和干预 Bean 的创建过程注解驱动:使用@Service等注解快速注册 Bean,简化配置。

2025-08-07 22:25:22 243

原创 Spring Boot 项目代码笔记

【代码】Spring Boot 项目代码笔记。

2025-08-06 17:13:43 408

原创 JSP 内置对象与 Servlet 代码结合笔记

内置对象类型对应 Servlet 对象作用域request方法参数req一次请求response方法参数resp一次响应session会话周期应用生命周期out页面输出config过滤器 / Servlet 的组件配置无直接对应页面级别page当前 Servlet 实例页面自身exception异常对象错误页面requestresponse贯穿整个请求 - 响应流程,是数据传递的核心session负责用户状态管理,是登录功能的基础。

2025-08-05 17:30:45 963

原创 Servlet 相关笔记整理

场景方法示例处理 GET 请求处理 POST 请求初始化 Servlet销毁 Servlet通用服务方法获取会话对象设置响应字符流。

2025-08-04 19:02:29 320

原创 数据库Day04

脏读 / 不可重复读 / 幻读:用多事务并发操作,演示 “读未提交数据”“多次读结果不同”“读新增数据” 的现象。隔离级别:通过切换级别,验证不同级别对并发问题的解决能力。事务日志:redo log 保障崩溃恢复,undo log 保障回滚,可通过 “模拟崩溃”“手动回滚” 间接验证。

2025-07-31 19:34:19 539

原创 数据库Day03

创建语法-- 允许创建函数create function 函数名(参数 类型) returns 返回类型begin-- 函数体(声明变量、逻辑处理、return语句)end;示例计算数值翻倍:beginend;beginend;

2025-07-30 17:37:38 918

原创 数据库Day02

• 主键 COUNT(student_id) 速度 ≈ COUNT(1) > COUNT(*) > COUNT(可空列)。SUM(CASE WHEN subject='数学' THEN fraction ELSE 0 END) AS '数学。SUM(CASE subject WHEN '数学' THEN fraction END) AS 数学,运算符:=、>、<、!=、<>、IN、NOT IN、BETWEEN …聚合函数:COUNT() / SUM() / AVG() / MAX() / MIN()

2025-07-29 20:14:58 686

原创 Java基础Day09&&数据库Day01

在程序中我们可以利用每个类的类对象,动态的获取类中已经定义好的属性,方法以及构造方法。java程序中每一个类都有一个<类对象>用来描述这个类的定义。这段信息用来描述某个类中定义了哪些属性,方法以及构造方法。并且可以获取/修改对象中的属性,也可以调用对象中的方法。Java是面向对象的,在java内存中的数据都是对象。查看mysql是否安装以及版本:-u root -p。java的类也应该有一段内存来纪录java类的信息。这个用来描述<类的定义>的对象属于Class类型。这段描述类定义的信息也是一个对象。

2025-07-28 17:17:08 232

原创 Java基础Day08

join 加入/插队 A线程中执行了B.join(),A线程让B线程先运行,A线程挂起等待,B线程运行完毕后,A线程才继续运行。执行yield方法,触发CPU分配机制,避免单个线程长时间占用CPU资源,达到CPU资源合理分配的效果。线程同步和方法无关,只跟锁对象有关系,同一时间同一个锁对象只能放行一个线程,不管这个线程要执行哪个方法。2.静态方法 锁对象是当前类的类对象 例如A中的方法 锁对象就是A.class。执行这个方法只是告诉线程可以中断了 就是修改了线程中的一个属性。

2025-07-25 17:18:41 409

原创 Java基础Day07

快速排序的核心思想是分而治之:首先,从待排序的数组中随意选取一个元素作为“基准值”(pivot),然后将所有比它小的元素移到其左侧,所有比它大的元素移到其右侧,这一步称为“分区”或“划分”;接着,对基准值左右两侧形成的两个子数组,分别再递归地重复上述过程——即再选基准、再分区——直到子数组的长度缩减到 0 或 1,此时整个数组便自然完成了排序。数据输入到计算机内存的过程即输入,反之输出到外部存储(比如数据库,文件,远程主机)的过程即输出。将读取到的数据存入到arr数组中 返回的是读取到的数据的长度。

2025-07-24 20:29:15 748

原创 Java基础Day06

List:有序,允许重复,适合需要通过索引访问的场景。Set:无序,不允许重复,适合需要去重的场景。Map:键值对,键唯一,适合需要通过键快速查找值的场景。

2025-07-23 17:34:00 276

原创 Java基础Day05

finalize:是Object 类的一个方法,在垃圾回收前由 JVM 调用,做资源清理(已过时,不建议用)。比较:基本数据类型和对应的封装类型进行比较,将封装类型的对象拆箱,然后再和基本数据类型比较。在使用字符串时,先检测字符串常量池中是否有对应的字符串,如果有,就直接使用。如果没有,将str字符串复制一份到字符串常量池中,返回字符串常量池中的对象。运行时异常:只有在程序运行阶段才会抛出的异常,可以通过编码技巧规避这些异常。执行过程:try尝试运行可能抛出的异常,如果try块中的代码抛出了异常对象。

2025-07-22 20:01:29 1488

原创 Java基础Day04

非static修饰的属性和方法,它是属于对象的,只有对象(类的的个体)才能调用,不能通过类名直接调用。在内存中,属性保存在对象中,方法保存在类中,对象中会记录该对象输入哪个类,从而找到对应的方法。条件:父类变量里装的必须是“这个子类或它的子孙类”的实例,否则会抛 ClassCastException。接口可以多继承,是因为它们只定义行为,不持有状态或实现,天然避免了多继承带来的复杂性。static 的归“类”,非 static 的归“对象”规则:编译期只看“=”左边的类型,运行期才看“=”右边的对象。

2025-07-21 20:39:40 879

原创 Java基础Day03

访问权限修饰符 public(公共的) protected(受保护的) default 本包(默认的) private 本类(受保护的)import com.easy0718.EasyC(类的全名);编译器通过调用时传入的参数匹配到对应的方法,从而实现“同名不同参”的多态性。所有的类默认继承Object类,Object类是所有类的超级父类。1.同一个包下的类可以相互引用(类会默认引入同一个包下的类)外部类:在.java文件中直接声明的类叫做外部类。程序中:必须先有类,通过类实例化个体(对象)

2025-07-19 11:14:22 845

原创 Java基础day02

这样一轮一轮进行下去,每一轮都会把一个当前最大的数字放到它最终应该在的位置上,就像气泡不断往上冒一样,直到所有数字都排好序。冒泡排序的原理是从左边开始将数组第一个数字和后面的比较,如果前面的数字大于后面的数字,他俩就交换位置,这样最大的数字就会像“气泡”一样浮到最右面。数组扩容(复制) 由于数组的大小从定义好了以后就不能改变,所以想让数组有更大的容量就只能开一个更大的数组,将原来数组的内容复制过去。简单来说,就是不断比较相邻元素,把大的往后挪,每轮确定一个最大值的位置,直到没有需要交换的元素为止。

2025-07-17 16:53:43 451

原创 java基础day01

其中基本数据类型有八种,包括byte,short,int,long,float,double,char,boolean.强制数据类型转换:需要代码强制声明的转换过程,如果内存溢出就是一刀切 取值范围大的向取值范围小的类型转换。隐式转换:系统默许的,不需要代码强制声明的转换过程,取值范围小的可以向取值范围大的类型转换。在程序运行过程中,定义一些名称来记录一些数据,在之后的代码中方便使用。++a 先加加 先将a的值加一,然后再将a的值赋给++a表达式。a++ 后加加 先将a的值赋给a++表达式,然后a+1。

2025-07-16 20:34:29 165

原创 C语言-结构体

7-5 小鑫の日常系列故事(十)——排名次。7-10 简单枚举类型——植物与颜色。7-2 小 I 的小姐姐。7-4 小 I 选宾馆。7-1 检查宿舍卫生。7-8 老--质价比。

2023-05-19 07:18:52 156

原创 2022/11/11 程序课笔记

也称直接插入排序。基本思路:每一步将一个数插入一个已经排好的序列中,并使之保持有序。直到插完所有的数为止。指的是在排序时,每次比较数组中相邻的两个数组元素的值,将较大的数(从小到大排列)排在较小的数后面。(3)验证该位置是否与i相等,如果不相等,交换;(2)从剩下的所有数中选择一个更小的数;2.冒泡排序(o(n^2),稳定性排序)(1)n个数经过n-1轮排序;(1)n个数n-1轮冒泡。外层循环要经过n-1轮;第一种:找到位置的插入。

2022-11-14 17:36:54 126

原创 PTA实验5答案

实验5

2022-11-12 19:25:32 1133 2

原创 7-19 猜数字游戏

完全不希望考这个

2022-11-10 12:07:08 147

原创 7-22 找完数

考前冲刺

2022-11-10 12:04:54 420

原创 PTA考试前笔记

自己复习前用的,考试前半个小时左右PTA平台关闭

2022-11-09 23:07:37 616

原创 2022/10/28 for循环语句

自己的笔记

2022-10-28 15:14:35 358

原创 PTA答案

PTA新手看看

2022-10-10 14:57:47 672

原创 PTA答案

有点小苦难

2022-10-09 19:11:14 3424

原创 PTA答案

加油,本人也是新学的

2022-10-08 21:48:18 706

原创 PTA答案

不算太难,仅供参考,如果有更优解请@我互相交流促进学习

2022-10-08 19:15:59 207

原创 PTA答案

C语言新手小槛

2022-10-08 19:05:26 471

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除