- 博客(145)
- 收藏
- 关注
原创 SSM和SpringBoot有什么区别?
undefined.应用程序的度量指标,如请求的处理时间、吞吐量等。通过访问特定的 URL 路径(端点路径),就可以获取到相应的监控和管理信息。undefined.应用程序的配置信息,如环境变量、配置属性的值。总之,Spring Boot 是在 SSM 等传统框架基础上发展而来,更适合快速开发和部署现代化的 Java 应用。端点用于获取应用的健康状况, /actuator/info 端点用于获取应用的自定义信息。undefined.应用程序的健康状况,包括数据库连接、缓存状态等方面的健康检查结果。
2025-02-25 10:15:23
238
原创 Hosts 和 DNS
DNS(Domain Name System,域名系统)和 hosts 文件都与域名解析相关,它们相互协作又有各自的特点,下面为你详细介绍它们之间的关系。
2025-02-12 11:11:53
456
原创 【回调函数】
回调函数是编程中一种重要的概念,特别是在处理异步操作时。它是一种在某个操作完成后执行的函数,这个操作可能是耗时的I/O操作,如网络请求或文件读写,也可能是任何需要在稍后执行的任务。
2024-09-10 17:22:47
339
原创 UNION 和 UNION ALL
语句必须有相同数量的列,并且每列的数据类型必须兼容。列的顺序和数据类型也必须一致,这样才能保证结果集的正确合并。中有重复的行,这些重复的行也会出现在合并后的结果集中。语句的结果合并成一个单一的结果集,包括所有重复的行。是一个SQL操作符,用于合并两个或多个。它的工作原理是将每个。会自动去除重复的行,而。会保留所有重复的行。
2024-07-11 10:23:13
627
原创 迭代器 增强for循环
这里的关键是,这个操作是安全的,因为它是由迭代器自己管理的。迭代器会记录下它所在的集合的状态,并在调用 remove() 方法时进行相应的更新,以避免并发修改异常。
2024-05-23 13:57:51
1323
原创 Stream API 和 Lambda表达式
总结来说,Java 8 Stream API提供了一种新的数据处理方式,而Lambda表达式提供了一种新的代码表达方式。两者结合使用,可以写出更简洁、高效的代码。在这个示例中,使用Stream API和Lambda表达式来处理一个字符串列表,筛选出以"A"开头并转换为大写的字符串,并将结果收集到一个新的列表中。
2024-05-21 13:37:50
370
原创 flatMap方法:扁平处理流
方法就像是这样一个助手:它帮你打开每个信封,取出所有的小纸条,并把它们放在一起,形成一个没有信封的、平铺的小纸条列表。这样,你就得到了一个包含所有小纸条的单一列表,而不是之前那些装有小纸条的多个信封。flatMap是一个流操作,它接受一个函数作为参数,这个函数会被应用到流中的每个元素上,并且这个函数返回的每个结果都是一个流。flatMap然后将这些流扁平化成一个流。现在,你想要把所有的小纸条都取出来,整理成一个新的、没有信封的列表。假设有一系列的信封,每个信封里面都装着一些小纸条。这些信封相当于我们的。
2024-05-21 10:57:43
453
原创 putIfAbsent() 方法
这个方法非常有用,特别是在不希望覆盖现有键值对的情况下,或者在需要检查键是否已经存在于。中,并返回之前与该键关联的值(如果有的话)。如果键不存在,则返回。接着,我们尝试添加 “cherry”,由于它不存在,所以添加成功,,也不会返回任何值。只有当键不存在时,它才会将指定的键值对添加到。返回了之前与 “apple” 关联的值(即 1),而没有修改。并添加了两个键值对。然后,尝试将 “apple” 添加到。中添加一个键值对,前提是这个键尚未存在于。接口的一个方法,它用于向。中,但由于它已经存在,
2024-05-17 09:22:39
583
原创 Debug技巧-不启用前端访问后端
在日常开发中,我们经常会遇到各种问题需要调试,前后端都启动需要耗费一定的时间和内存,方便起见,可以直接用抓包数据访问后端,这里我们需要用到Postman或者ApiFox。
2023-11-01 10:47:42
633
原创 Git 常用
*注意:**git restore 是 Git 2.23 版本引入的一个命令,如果你使用的是较早版本的 Git,可能无法使用 git restore 命令,但你仍然可以使用。**注意:**git switch 是 Git 2.23 版本引入的一个新命令,如果使用的是 Git 的旧版本,可能无法使用 git switch 命令,但仍然可以使用。命令时,暂存区的目录树被更新,同时工作区修改(或新增)的文件内容被写入到对象库中的一个新的对象中,而该对象的ID被记录在暂存区的文件索引中。
2023-09-07 16:29:49
707
原创 JRebel and XRebel 区别
XRebel:请求过程中,各个部分代码性能监控。例如:方法执行时间,出现的异常,SQL执行时间,输出的Log,MQ执行时间等。JRebel:修改完代码,不想重启服务,期望代码直接生效。
2023-08-11 14:31:14
594
原创 isPresent()
是 Java 8 引入的一个类,用于解决空指针异常的问题。它可以将一个可能为空的值封装成一个对象,并提供了一系列方法来进行安全的操作。对象中的值时出现空指针异常。通过在执行前进行判断,我们可以根据存在与否来决定进一步的操作,确保代码的安全性和可靠性。对象中有非空值,那么条件判断为真,执行下面的代码块。如果不存在匹配的对象,即。的作用是判断是否存在匹配的 zf 采购页签对象。对象中为空值,那么条件判断为假,跳过下面的代码块。对象中存在非空值,则返回。类的一个方法,用于检查。在上面提到的代码示例中,
2023-08-01 11:19:06
3151
原创 for…in 循环
在每次迭代时,循环会将可迭代对象中的下一个元素赋值给变量,并执行语句块。当所有元素都被遍历完毕后,循环终止。in 循环是一种用于遍历可迭代对象(如列表、元组、字符串等)中的元素的循环结构。以下是一个示例,演示如何使用for…这样就完成了对列表中元素的遍历。变量依次被赋值为列表中的每个元素,并通过。
2023-06-25 11:10:57
397
原创 node errno: -3008
具体来说,ENOTFOUND错误意味着DNS服务器无法找到指定的主机名(hostname)。我个人是电脑hosts文件莫名被篡改,导致项目启动失败,更新hosts文件后问题得以解决。在代码中捕获该错误并处理,以便在出现此错误时采取适当的措施,例如重试或提供错误提示。检查主机名(hostname)是否正确,并确保主机名存在于DNS服务器上。如果您使用的是自定义的DNS服务器,请确保DNS服务器配置正确。检查网络连接是否正常,确保可以正常访问Internet。
2023-06-21 14:36:58
1675
原创 打时间戳并查看某个方法的执行时间
在想要查看执行时间的方法之前,用 System.currentTimeMillis() 记录开始时间戳,并将其保存到一个变量中。在该方法执行完毕后,再次使用 System.currentTimeMillis() 记录结束时间戳,并将其保存到另一个变量中。运行以上代码后,控制台会输出方法执行的时间。可以根据需要将其修改为实际应用的形式,比如将时间写入日志文件。通过计算结束时间戳减去开始时间戳来获取方法执行的时间长度(以毫秒为单位)。可以将这个时间长度打印出来或者将其存储在一个日志文件中,以便稍后查看。
2023-06-15 19:59:25
305
原创 BeanUtils.copyProperties()
可以方便地将一个Java对象的属性值赋值给另一个Java对象,避免了手动编写getter和setter方法的繁琐过程。需要注意的是,被复制的对象必须有对应的getter和setter方法,否则无法进行属性值的复制。此外,如果源对象中有属性为null,则目标对象中对应属性也会为null。是Spring框架中的一个工具类方法,用于将一个Java对象的属性值复制到另一个Java对象中去。对象中,如果两个对象的属性名相同且数据类型兼容,则会进行属性值的复制。
2023-05-26 14:16:06
381
原创 Collectors.collectingAndThen()
在上述代码中,我们首先使用Collectors.toCollection()方法创建了一个TreeSet集合,然后将其作为downstream传递给collectingAndThen()方法。而finisher是一个Function函数,用于对downstream的收集结果进行处理,并返回最终的结果。Collectors.collectingAndThen()是Java 8中的一个辅助方法,它能够将一个Collector收集器转换为另一个收集器,并在最终收集结果上应用一个Function函数。
2023-05-24 09:50:44
9650
原创 List集合中的元素按照POJO对象的Id属性去重
这段代码使用了Java 8中的Stream API和Collectors类,它的作用是将一个List集合中的元素按照POJO对象的Id属性去重,并返回一个新的List集合。因此,执行上述代码后,得到的新集合List1中包含了原始集合List中去重后的元素,且按照Id属性进行了排序。
2023-05-23 18:55:59
466
原创 instanceof
在这个例子中,我们首先定义了一个Animal类型的对象animal,并将其初始化为一个Dog对象。然后使用instanceof运算符检查animal是否是Dog类或其子类的一个实例,由于animal确实是Dog类的一个实例,因此打印出“animal is a dog”的信息。例如,当我们需要对一个集合中的元素进行类型转换时,就可以使用instanceof来检查各个元素的类型,并根据需要执行相应的转换操作。instanceof是Java中的一个运算符,用于检查一个对象是否属于某个类或其子类。
2023-05-10 18:53:07
231
原创 sort()和sorted()方法的区别
而sorted方法则是Stream接口中的方法,它会返回一个新的Stream对象,该Stream对象包含了原始集合排序后的元素。由于sorted方法返回的是新的Stream对象,因此它适用于对原始集合不做修改的场合,例如在使用Stream进行数据处理时。sort方法是List接口中的方法,它会直接修改原始列表,将其按照指定的比较器或默认的自然排序规则进行排序。注意,调用sort方法将会直接修改原始列表,因此在使用该方法时需要谨慎考虑是否需要保留原始列表。
2023-05-09 10:00:18
505
原创 公众号 接收手机验证码发送给用户
在公众号的客户端中,用户输入验证码后,使用微信JS-SDK中的wx.request接口将验证码发送到公众号的服务器上进行验证。如果验证通过,就可以获取到网站的相关信息。在公众号的服务器上,使用Spring Boot等框架接收到验证码请求后,将验证码保存到数据库中,并将验证码发送到用户的微信账号中。在网站的验证码接口中,将验证码发送到公众号的服务器地址上,并将验证码内容和手机号等信息一并发送。在公众号的服务器上,接收到验证码后,将验证码保存到数据库中,并将验证码发送到用户的微信账号中。
2023-05-05 16:34:13
1633
原创 {.....},正则表达式将{}和{}中的内容全部替换为1
当在Java字符串中使用正则表达式时,需要注意转义字符的使用。因为在Java中某些字符本身就有特殊含义,例如。,紧接着匹配任意数量的任意字符(包括 0 个),并且使用非贪婪模式尽量少的匹配,最后匹配一个右花括号。等等,如果直接使用这些字符来进行正则表达式匹配,可能会导致语法错误或不符合预期的结果。来转义特殊字符,使其在正则表达式中被解释为普通字符。表示匹配除换行符外任意一个字符,因此。出现,即匹配大括号内部的所有内容。的实际含义是:匹配一个左花括号。中,我们使用了双反斜杠。因此,整个正则表达式。
2023-05-05 15:38:35
914
原创 Objects.equals()和.equals()
因此,当您使用 Objects.equals() 方法来比较两个对象时,如果其中一个对象为 null,它将自动返回 false,从而避免了 NullPointerException 异常的抛出。当您调用一个对象的 equals() 方法时,如果该对象是 null,则会抛出 NullPointerException 异常。因此,建议您在比较两个可能为 null 的对象时,使用 Objects.equals() 方法来避免 NullPointerException 异常。这也是编码规范中的推荐做法。
2023-04-27 11:21:50
2059
原创 StringUtils.isNotEmpty 和CollectionUtils.isNotEmpty()
CollectionUtils.isNotEmpty() 是一个 Apache Commons Collections 库中的方法,用于检查给定的集合对象是否不为空(即既不为 null 也不是空集合)。StringUtils.isNotEmpty() 是一个 Apache Commons Lang 库中的方法,用于检查给定的字符串是否不为空(即既不为 null 也不是空字符串 “”)。
2023-04-26 19:35:49
328
原创 CollectionUtils containsAny()方法和intersection()方法
可以看到,containsAny()方法和intersection()方法虽然都和集合的交集有关,但是它们的作用不同。containsAny()方法:判断两个集合是否有交集,如果存在交集则返回true,否则返回false。intersection()方法:求两个集合的交集,将它们共有的元素放在一个新的集合中返回。containsAny()方法和intersection()方法的作用不同。
2023-04-20 19:22:05
3050
原创 CollectionUtils常用方法
还提供了很多其他有用的方法,如连接集合、分组集合、计算集合差异等,使用时可根据实际需求选择适合的方法。需要注意的是,这些方法可以操作各种类型的集合,例如 List、Set 和 Map 等。一些常用的 Apache Commons Collections 中。
2023-04-20 19:01:22
829
原创 List<Map<String, Object>>
然后,我们插入了一条记录,其中包含两个键值对(id和name)。List 是一个Java数据结构,它是一个列表(List),其中每个元素都是一个Map。例如,可以使用List 存储数据库查询结果,其中每个Map表示一条记录,而Map中的键表示字段名,值表示该字段对应的值。要访问 List 中的元素,您可以使用索引来访问列表中的特定Map,并使用键来访问Map中的值。
2023-04-17 13:48:04
5534
翻译 idea中Debug窗口不见了,被Services代替了
方式二:Remove Configuration Type from Services。2.Add Services找到 Springboot项目,添加即可。可以针对某一个服务启动不使用Services窗口。方式一:Hide Configuration。整个项目启动都不使用Services窗口。想要恢复,两种方式如何恢复呢?
2023-03-10 16:20:51
5287
2
原创 在vscode使用webpack指令显示“因为在此系统中禁止运行脚本“问题
vscode使用webpack指令显示"因为在此系统中禁止运行脚本"问题
2023-03-10 10:53:32
403
原创 Java 三元运算符 ?:
Java 提供了一个特别的三元运算符(也叫三目运算符)经常用于取代某个类型的 if-then-else 语句。条件运算符的符号表示为“?:”,使用该运算符时需要有三个操作数,因此称其为三目运算符。其中,expression 是一个布尔表达式。当 expression 为真时,执行 statement1, 否则就执行 statement3。此三元运算符要求返回一个结果,因此要实现简单的二分支程序,即可使用该条件运算符。
2022-12-28 14:04:33
347
翻译 POJO 类中布尔类型的变量命名
反例:定义为基本数据类型 boolean isSuccess;的属性,它的方法也是 isSuccess(),RPC。框架在反向解析的时候,“以为”对应的属性名称是 success,导致属性获取不到,进而抛出异。POJO 类中布尔类型的变量,都不要加 is,否则部分框架解析会引起序列化错误。
2022-09-21 09:59:44
358
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人