- 博客(47)
- 收藏
- 关注
原创 图结构与高级数据结构的学习笔记一
以上Java代码分别实现了图的邻接矩阵和邻接表表示、DFS和BFS遍历算法、Dijkstra和Bellman-Ford最短路径算法,以及Kruskal和Prim最小生成树算法。
2024-08-29 21:16:06
1039
原创 事务传播级别的相关内容
是最常用的,因为它可以确保方法在事务中运行,适合绝大多数场景。是在需要完全独立事务时使用的,比如需要在事务失败后依然提交某些操作。则在需要部分回滚的复杂场景下使用。
2024-08-26 17:01:25
415
原创 基础概念与简单数据结构的笔记02
学习内容:实践:栈的定义:基本操作:应用场景:实践:队列的定义:基本操作:应用场景:双端队列(Deque):Deque的基本操作:实践:基本操作:常见问题:使用数组或链表来实现栈。以下是用数组实现栈的示例代码:应用:用数组实现队列,并完成基本操作。应用:Deque 的实现可以通过双向链表来完成。以下是使用双向链表实现双端队列的示例代码:应用:以下是解决括号匹配和最小编辑距离问题的示例代码:括号匹配问题:最小编辑距离:
2024-08-26 16:48:24
923
2
原创 Spring笔记的最后补充 (Spring的基本内容接触完毕)
面向切面编程(Aspect-Oriented Programming,简称AOP)是一种编程范式,它旨在通过将横切关注点(如日志记录、事务管理、安全性等)与业务逻辑分离来提高代码的模块化和可维护性。AOP是面向对象编程(OOP)的一个补充,它允许开发者以声明方式实现关注点,而不是通过在业务逻辑代码中散布大量重复代码。面向切面编程(AOP)是一种强大的编程范式,它通过将横切关注点与业务逻辑分离,提高了代码的模块化和可维护性。
2024-08-25 19:56:17
713
原创 基础概念与简单数据结构的学习笔记01
目标: 掌握数据结构的基本概念和简单的数据结构。学习内容:实践:1.1 数据结构的定义:1.2 数据结构的分类:线性结构: 数据按顺序排列,每个元素有且仅有一个前驱和一个后继。如:非线性结构: 数据之间的关系复杂,元素之间可能存在多个前驱和后继。如:学习要点:2.1 时间复杂度:2.2 空间复杂度:示例:学习要点:3.1 数组的定义:3.2 数组的特性:3.3 数组的常见操作:学习要点:4.1 单向链表:4.2 双向链表:4.3 循环链表:4.4 链表与数组对比:学习要点:5.1 数组操作实践:实现数组插入
2024-08-24 23:00:46
981
原创 常见的数据库连接池及其优缺点
如果追求稳定性和成熟度,C3P0和DBCP是不错的选择,但性能可能不如其他现代连接池。如果需要强大的监控功能并且项目规模较大,Druid是非常合适的选择,尤其是在高并发场景下。如果对性能要求极高并且喜欢轻量级解决方案,HikariCP是理想的选择。不同的项目对连接池的需求可能不同,因此了解各个连接池的优缺点,并根据实际需求进行选择,是确保系统性能和稳定性的关键。每种连接池都有其特定的配置项,适合不同的场景。在选择和配置数据库连接池时,应考虑项目的需求,包括性能要求、功能需求以及系统的复杂度。
2024-08-23 10:54:01
841
原创 高内聚低耦合的理解
内聚是指一个类或模块内的各个元素之间的相关性。高内聚意味着一个类或模块内部的功能应该是高度相关和紧密结合的。换句话说,一个类应该只负责一件事或一组紧密相关的任务。
2024-08-23 09:42:39
427
原创 Spring的笔记补充
自动装配模式下,Spring容器会查看一个bean的依赖关系,并尝试在Spring容器中查找与该依赖项类型相匹配的bean。自动装配模式下,Spring容器会查看一个bean的依赖关系,并尝试通过依赖项的属性名(假设该属性有相应的setter方法)来查找与bean ID相匹配的另一个bean。)能够直接映射到一个Spring容器中已注册的bean的ID,那么Spring就会尝试将这个bean注入到这个属性中。的属性,并且这个属性的名称(在Java中通常是以getter和setter方法的形式定义的,如。
2024-08-22 13:40:40
828
1
原创 开始步入Spring框架的学习
高内聚:指模块内部各个元素之间关联性的紧密程度。一个高内聚的模块应该只做一件事,即它应该恰好完成一项任务。高内聚有助于提高模块的可维护性和可重用性,因为每个模块都专注于完成一个特定的功能。低耦合:指软件系统结构中各模块间相互连接的紧密程度。低耦合意味着模块之间的依赖关系较少,每个模块都可以独立地进行开发、测试和维护。高内聚低耦合是软件设计中的一个重要原则,它有助于提高系统的可维护性、可扩展性和可重用性。在软件设计过程中,应该尽量遵循这一原则,将系统划分为独立、功能单一的模块,减少模块间的依赖性和复杂性。
2024-08-21 08:58:36
1389
原创 补充近期编写项目的常见代码块
dataType:预期的返回数据的类型,取值可以是 xml, html, js, json, text等。async:是否异步请求,true-是,false-否 (默认是 true)。data:发送到服务器的数据,可以是键值对形式,也可以是 js 对象形式。success:请求成功时调用的回调函数。//2.jQuery的通用方式实现AJAX。//请求失败后调用的回调函数 一般也不写。error:请求失败时调用的回调函数。//将响应的数据显示到span标签。//请求成功后调用的回调函数。
2024-08-20 10:48:59
366
原创 Mybatis笔记的后续补充
这个方法需要注意,select放的是你要二次执行的接口,(简单来说就是一个完整的查询接口,需要有mapper,有xml),查询的内容通常是用了关联字段或外键,没有中间表,但是查询完成以后,还是可以显示关联字段的所有信息。标签也是Mabits动态SQL中常用的一个标签,主要用于快速生成包含WHERE、SET等关键字的SQL语句,同时还能够自动处理SQL语句中的逗号(,)和AND/OR等连接符。需要注意的是,由于标签会自动处理SET子句中的逗号(,),因此在使用时应该合理安排更新内容的位置,避免出现意外结果。
2024-08-19 10:33:13
960
原创 mybatis中#{}和${}的区别
如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by “111”, 如果传入的值是id,则解析成的sql为order by “id”.KaTeX parse error: Expected 'EOF', got '#' at position 9: 的区别最大在于:#̲{} 传入值时,sql解析时,…,如果传入的值是111,那么解析成sql时的值为order by user_id, 如果传入的值是id,则解析成的sql为order by id.
2024-08-17 18:00:00
975
原创 Mybatis的学习笔记
注:mybatis-3.3 版本和之前的版本使用#{0},#{1}方式,从 mybatis3.4 开始使用#{arg0}方式。参数位置从 0 开始,引用参数语法 #{ arg 位置 } ,第一个参数是#{arg0},第二个是#{arg1}1.如果方法中参数是自定义对象类型,那么#{}中的属性必须是实体类中的属性。2.如果方法中的参数是其他类型,那么#{}中的属性不一定是实体类中的属性。方式三:以map集合添加多个参数 #{}中填写map中的key值。3.如果方法中的参数是其他类型,并且有多个参数。
2024-08-17 15:00:00
1774
原创 maven笔记的后续补充
Maven 继承是指在 Maven 的项目中,让一个项目从另一个项目中继承配置信息的机制。 假如有 Maven 项目 A,项目 B 依赖 A,项目 C 依赖 B。—>B—>A, 那么我们执行项目 C 时,会自动把 B、A 都下载导入到 C 项目的 jar 包文件夹中,这就是依赖的传递。在 C 依赖 B,B 依赖 A 的前提下,A 是否能够传递到 C,取决于 B 依赖 A 时使用的依赖范围以及配置。maven 自动解决依赖冲突问题能力,会按照自己的原则,进行重复依赖选择。改默认构建的行为和产物!
2024-08-16 15:14:53
1217
原创 开始回归 笔记继续 ----maven的初步了解
Maven 是一款为 Java 项目管理构建、依赖管理的工具(软件),使用 Maven 可以自动化构建、测试、打包和发布项目,大大提高了开发效率和质量。
2024-08-16 15:11:43
978
原创 JavaScript 学习笔记
JavaScript 是一种广泛用于 Web 开发的编程语言。它通常用于添加交互、动态更新内容、控制多媒体、动画等功能。它是三大前端技术之一,另外两个是 HTML 和 CSS。事件是浏览器或用户执行的动作,例如点击按钮、加载页面、提交表单等。事件驱动编程通过事件处理程序(函数)来响应这些事件。
2024-07-18 09:52:59
1063
原创 java中的构造器
Java 中的构造器(也称为构造方法)是一种特殊的方法,用于初始化对象的状态。在创建 Java 类的实例时,构造器会被自动调用。
2024-07-10 21:31:24
307
原创 学习数据库的增删改查
本文详细介绍了 MySQL 5.7 中的增删改查操作,并通过实际案例和高级操作,进一步展示了如何高效管理和优化数据库。希望通过本文,读者能够全面掌握 MySQL 5.7 的使用技巧,并在实际应用中灵活运用所学知识,提高数据库系统的效率和可靠性。掌握这些技巧不仅能提升工作效率,还能为系统的稳定性和安全性提供有力保障。
2024-07-09 12:41:54
1873
原创 数据库的简单学习
关系型数据库:Mysql 、Oracle 、SqlServer… DB2 PG 达梦非关系型数据库:Redis 、MongoDB…MySQL是一个,由瑞典MySQL AB 公司开发,属于旗下产品。MySQL 是最流行的之一,在 WEB 应用方面,MySQL是最好的(Relational Database Management System,关系数据库管理系统) 应用软件之一。
2024-07-08 21:15:17
1168
原创 Java 中的 String、StringBuffer 和 StringBuilder
不可变性String不可变,而和可变。线程安全String和是线程安全的,而不是。性能:在单线程环境下,性能最好;在多线程环境下,性能优于String。
2024-07-05 11:51:08
847
原创 一些java中记忆的问题
封装是将对象的属性和方法(或称为成员)结合成一个独立的单元,隐藏对象的属性和实现细节,仅对外公开接口(方法)与对象进行交互。实现方式ArrayList和Vector基于动态数组实现,而LinkedList基于双向链表实现。线程安全Vector是线程安全的,ArrayList和LinkedList不是线程安全的。性能ArrayList和Vector提供了快速的随机访问,但插入和删除性能较低;LinkedList插入和删除性能较高,但随机访问性能较低。内存使用ArrayList和Vector。
2024-07-05 10:28:02
1517
原创 第十四章异常和第十五章 File- IO 流
自己写类继承自Exception或RuntimeException自定义异常必须先throw自定义异常的对象,然后才能捕获catch(自定义异常对象)。Exception定义了四个构造函数。其中的两个支持链式异常,链式异常将在下一节描述。另外两个如下所示:File类用于表示文件和目录路径名的抽象表示。通过File类,Java程序可以对文件和目录进行操作,例如创建、删除、重命名和检查文件属性等。I/O 流用于处理输入和输出操作。Java 提供了多种类来处理字节流和字符流。字节流:用于处理二进制数据。
2024-07-03 17:20:38
1190
原创 java 笔记 第十二章 集合(部分整理细化)
(1)集合是存储其他对象的特殊对象。可以将集合当做一个容器。(2)集合的相关接口和类位于java.util包中(3)集合中的接口和类是一个整体、一个体系。
2024-06-28 11:50:50
1110
原创 java笔记第十二章集合
接口:表示集合的抽象数据类型,如 List、Set、Map 等。实现:具体实现接口的类,如 ArrayList、HashSet、HashMap 等。算法:定义在集合上的操作方法,如排序和搜索。
2024-06-27 16:54:43
521
原创 java中目前整理的问题
/ 类变量// 实例变量// 构造方法// 局部变量在这个例子中,我们演示了实例变量、类变量和局部变量的定义和使用方式。每种变量在内存中存在的时间和作用域都不同,并且各有其适用场景。理解这些差异对于编写有效的 Java 代码至关重要。接口是一个完全抽象的类,定义了一组方法,但不提供实现。接口中的所有方法都是抽象的(即没有方法体),直到 Java 8 之前只能包含抽象方法。Java 8 之后可以包含默认方法(有方法体)和静态方法,Java 9 之后还可以包含私有方法。
2024-06-27 11:42:22
1047
原创 初步了解数据结构
数据结构是计算机科学的重要组成部分,它为算法设计和实现提供了基础。通过学习和理解数组、链表、栈、队列、树、图和哈希表等数据结构,可以更高效地解决实际问题。在实际应用中,选择合适的数据结构可以显著提高程序的性能和效率。
2024-06-26 11:55:45
707
原创 java笔记 第十章:面向对象-接口 第十一章:常用类
(1)创建的每个字符串实际上都是String类的对象。即使是字符串字面值实际上也是String对象。(2)String类型的对象是不可变的;一旦创建了一个String对象,其内容就不能再改变。即,一旦创建了一个String对象,就不能改变该字符串包含的字符。所谓Stirng类型对象中的字符串是不可改变的,是指创建了String实例后不能修改String实例的内容。但是可以修改String引用变量,使其指向其他String对象。
2024-06-25 16:38:31
964
原创 java笔记 第九章:面向对象-多态
例如Shape类的area()方法,因为Shape类的不同子类对面积的计算方法不同,即Shape类无法准确地知道其子类计算面积的方法,因此area()方法只能留给子类实现。例如,Animal类的eat()方法、Shape类的area()方法,无法给出有实际意义的实现,对于这类方法可以声明为抽象方法。如果在类Outer的内部再定义一个类Inner,此时类Inner就称为内部类,而类Outer则称为外部类。因此如果子类中的方法与父类中的方法同名、并且参数类型也相同,那么子类中的方法就重写了父类中的同名方法。
2024-06-25 10:55:26
653
原创 初遇java八股文
Java八股文通常指的是Java面试中常见的知识点,涵盖了Java基础、面向对象编程、集合框架、多线程与并发、JVM(Java虚拟机)、Java网络编程、数据库连接与操作、设计模式、Spring框架、微服务等。
2024-06-24 17:20:04
674
原创 java笔记第八章:面向对象-继承
使用继承可以为一系列相关对象定义共同特征的一般类,然后其他类(更特殊的类)可以继承这个一般类,每个进行继承的类都可以添加其特有的内容。被继承的类称为,继承的类称为。一旦创建了一个定义一系列对象共同特征的超类,就可以使用该超类创建任意数量的更特殊的子类。父类世界地图、子类部分地图。
2024-06-24 10:05:31
499
原创 java笔记 第七章面向对象-类和对象
class 类名 { // 类名通常以大写字母开始类型 变量1;类型 变量2;...类型 方法名(参数列表) {// 方法体...在类中定义的变量和方法都称为类的成员。所以变量又称为成员变量,方法又称为成员方法。
2024-06-21 13:14:07
1007
原创 java笔记 第六章数组
数组是一种数据结构,用于存储同一类型的多个元素。数组中的每个元素都有一个固定的位置和索引,索引用于访问数组中的元素。Java 中的数组是对象,数组的大小在创建时确定,且不能改变。Java 提供了可变参数(varargs)机制,允许方法接受不定数量的参数。
2024-06-21 08:49:18
1013
原创 java中的几个关键字
在Java编程语言中,以下几个关键字扮演了重要角色,它们分别是thisstaticsuperObject和final。每个关键字都有其特定的用途和行为,理解这些关键字对于编写高效且可靠的Java代码至关重要。
2024-06-20 11:53:55
589
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人