- 博客(45)
- 收藏
- 关注
原创 Java之使用策略模式替代 if-else
通过策略模式,我们将不同的算法(即折扣计算逻辑)封装到独立的策略类中,客户端根据需要选择具体的策略对象。在Java中,通常情况下 if-else 语句用于根据不同条件执行不同的逻辑。而策略模式则是一种设计模式,它允许在运行时选择算法的行为。策略模式的主要思想是将算法封装成独立的对象,使得它们可以相互替换,使得算法的变化独立于使用算法的客户。假设我们有一个根据不同类型的用户给予不同折扣的需求。结构,使得代码更加清晰、扩展性更好,同时也符合面向对象设计的开闭原则(对扩展开放,对修改关闭)。
2024-06-27 11:26:39 595
原创 Mysql之GROUP BY与PARTITION BY区别
PARTITION BY 是窗口函数的一部分,用于定义窗口(即数据分区),但是它不会改变结果集的行数。PARTITION BY 用于窗口函数内,将结果集划分为几个分区,计算聚合值或其他窗口函数。这个查询会返回每一行,并在每一行中增加一个列 totalAmount,它表示的是该 employee_id 内所有 amount 的总和。结果集:GROUP BY 改变结果集的行数,只返回每组一行。PARTITION BY 用于窗口函数,增加计算列,不改变结果集的结构。
2024-06-22 19:36:08 588
原创 Vue3使用reactive定义的响应式变量 用计算属性监听这个变量不会实时更新,需要定义ref才行
Vue3使用reactive定义的响应式变量 用计算属性监听这个变量不会实时更新,需要定义ref才行
2024-03-06 09:32:52 572
原创 Linux常见的命令
示例:grep “error” /var/log/apache/error.log搜索Apache错误日志文件中包含"error"的行。示例:less /var/log/messages打开/var/log/messages文件,并可以通过向上、向下箭头浏览其内容。示例:cat /var/log/nginx/access.log显示Nginx的访问日志的所有内容。示例:tail -f /var/log/syslog实时查看系统日志文件的内容。cat命令:显示整个文件的内容,适用于文件较小的情况。
2023-10-10 09:46:33 125
原创 2059 - Authentication plugin ‘caching_sha2_password‘ cannot be loaded:报错的解决办法
您可能需要输入MySQL的root密码。
2023-08-18 09:36:28 1616
原创 mysql事务隔离级别
在该隔离级别下,一个事务执行期间多次执行相同的查询,返回的结果集是一致的。不会发生不可重复读的问题。但在同一个事务内,多次执行相同的查询时,返回的结果集可能会发生变化,因为其他事务可能插入或删除了满足查询条件的数据。可重复读(Repeatable Read):在该隔离级别下,事务执行期间多次执行相同的查询,返回的结果集始终保持一致。事务读取的数据集是固定的,不会受其他事务的修改影响,避免了不可重复读问题。在该隔离级别下,一个事务可以读取到另一个事务尚未提交的数据,可能导致读取到的数据是不一致或无效的。
2023-06-30 00:03:11 288
原创 redis介绍及使用
Server)是一种开源的内存数据库,它提供了一个高性能的键值存储系统。Redis具有快速、可扩展和灵活的特性,因此在许多应用场景中得到广泛应用。:Redis的数据存储在内存中,因此读取和写入速度非常快。它适用于对性能有要求的场景,如缓存、会话存储和实时数据分析等。:Redis使用键值对的方式存储数据,其中键和值可以是字符串、哈希表、列表、集合、有序集合等。这种简单的数据结构使得Redis易于使用和理解。
2023-06-29 00:05:23 179
原创 前后端出现精度丢失问题
我后端传的long类型id的值传前端都变成了1669372955043405800这个值,后面发现可能涉及到数据类型的转换和精度问题。例如,后端可能使用Java的long类型,而前端可能使用JavaScript的Number类型。这样可以避免精度丢失问题,并确保传输的值保持一致。Java的long类型是64位有符号整数,而JavaScript的Number类型是双精度浮点数,只能精确表示53位整数。当一个64位整数超出JavaScript的Number类型的表示范围时,它可能会出现精度丢失的情况。
2023-06-23 16:38:53 240
原创 前后端请求的主要信息
它会根据请求方式执行相应的操作,根据请求地址找到对应的资源,根据请求头的要求进行处理,根据请求体中的数据进行相应的操作,以及根据请求参数进行查询或过滤等操作。4、请求体:有时候你需要向后端传递一些额外的数据,就像你在信件里写下了一些具体的内容,比如你想要保存的数据是什么样的。3、请求头:就像你在信封上写下了一些额外的信息,比如你的身份证明、你希望信件以什么样的格式返回给你等。5、请求参数:有时候你需要在信封上写下一些额外的信息,比如你想要查询的关键词、你希望返回的页数等。
2023-06-14 09:49:15 175
原创 vue中的v-show和v-if的区别
使用v-show和v-if都是安全的,只是在不同的情况下使用它们可以获得更好的性能和用户体验。v-show适用于需要频繁切换可见性的元素,因为它不会在DOM中删除元素,而是使用CSS的display属性来控制元素的可见性。这样,当你切换元素的可见性时,元素的状态将保持不变,因此它的性能更好。v-if适用于需要根据条件动态添加或删除元素的情况。当条件为false时,v-if指令会将元素从DOM中删除,这可以提高性能并减少内存占用。但是,当条件为true时,v-if指令会重新创建元素并添加到DOM中,这可能
2023-06-06 16:49:18 129
原创 如何让你的Spring Boot项目在IDEA中快速执行热部署,让你的修改即时生效,提高开发效率!
Spring Boot项目在IDEA中快速执行热部署
2023-05-15 20:14:37 1746
原创 springboot和springmvc区别
Spring Boot是Spring框架的扩展,它提供了一些自动配置和默认设置,可以帮助开发人员更快地构建应用程序,其中包括Web应用程序。Spring MVC是一个Web框架,它采用的是模型-视图-控制器(MVC)的设计模式,可以帮助开发人员更好地组织和管理Web应用程序的结构和逻辑。Spring Boot是一个快速构建应用程序的框架,它提供了许多默认配置和自动化的设置,可以让开发人员更快地构建应用程序。因此,Spring Boot适用于快速构建应用程序,而Spring MVC适用于构建Web应用程序。
2023-04-28 18:34:17 1056
原创 Vue2中的find()和findIndex()区别及使用
在Vue中,使用这两个方法来查找和更新项目都是可以的,只需在处理查找项之后使用相应的方法来更新它。在模板中,我们使用v-for指令遍历items数组,并在每个项目旁边显示项目的名称和值,并在每个项目之后放置一个“更新值”的按钮。在Vue2中,您可以使用findIndex()方法查找数组中具有特定属性值的对象的索引,然后使用Vue的式API更新该对象的属性值。在Vue2中,您可以使用find()方法查找具有特定ID属性值的对象,然后使用Vue的响应式API更新该对象的属性值。
2023-04-12 16:20:55 950
原创 vue2中给数组的每一个对象添加一个属性并赋值
在上面例代码中,使用了 Array.map() 方法来遍历原数组 arr,对每个对象进行了处理并返回一个新的对象,然后将这个新的对象赋值给原来的对象,并覆盖原来的对象。这样,在 Vue 监听到数组变化的时候,就会更新视图。在 Vue 2 中,使用 Array.map() 方法来给数组的每一个对象添加一个属性并赋值,然后将新的数组赋值给原来的数组,让 Vue 监听到数组的变化。
2023-04-12 12:15:40 4894
原创 StringUtils.isNotBlank和StringUtils.isNotEmpty用法区别
因此,StringUtils.isNotBlank方法比StringUtils.isNotEmpty方法更加严格,它不仅检查字符串是否为空或null,还要检查字符串中是否至少包含一个非空格字符。如果只需要检查字符串是否为空或null,则可以使用StringUtils.isNotEmpty方法。StringUtils.isNotBlank方法会检查字符串是否不为空或null,并且字符串中是否至少包含一个非空格字符。如果字符串为null或空字符串或只包含空格字符,则返回false,否则返回true。
2023-04-11 12:23:12 1086
原创 mybatis中常用的标签及使用
MyBatis是一款优秀的持久层框架,提供了许多标签来帮助我们编写SQL语句,并将其映射到Java对象上。foreach标签用于遍历集合或数组,并将其作为SQL语句的参数。以上就是MyBatis中常用的标签及使用方法,希望对你有所帮助。** select 标签用于定义查询语句。choose标签用于在多个选项中选择一个执行。if标签用于根据条件动态生成SQL语句。insert标签用于定义插入语句。update标签用于定义更新语句。delete标签用于定义删除语句。
2023-04-10 16:02:20 411
原创 vue2.0中几个常见的输入框快捷指令的示例
vue2.0中几个常见的输入框快捷指令的示例@TOC在 Vue 中,你可以使用指令的形式来实现类似的功能,以下是几个常见的输入框快捷指令的示例:2、 按下 Tab 键跳转到下一个输入框3、 按下 Esc 键取消输入框内容并隐藏弹窗欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准
2023-04-10 15:05:58 520
原创 java基础之集合
Java中的集合主要包括List、Set、Map等几种类型。通过ArrayList、LinkedList、HashSet、TreeSet、HashMap、TreeMap等类的使用,我们可以很方便地实现对一组对象的管理。在使用集合时,需要注意选择适合自己场景的集合类型,以及合理地使用集合相关的方法,避免出现性能问题。
2023-03-31 19:38:37 48
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人