自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(85)
  • 资源 (3)
  • 收藏
  • 关注

原创 样本轮廓系数(原理、sklearn.metrics.silhouette_score、silhouette_samples参数介绍)

一、轮廓系数含义:轮廓系数(Silhouette Coefficient),是聚类效果好坏的一种评价方式。 最佳值为1,最差值为-1。接近0的值表示重叠的群集。负值通常表示样本已分配给错误的聚类,因为不同的聚类更为相​​似二、计算步骤:1)对于簇中的每个向量,分别计算它们的轮廓系数。 对于其中的一个点 i 来说: 计算簇内不相似度a(i):i向量到同簇内其他点不相似程度的平均值,体现凝聚度 计算簇间不相似度b(i):i向量到其他...

2020-12-01 22:24:11 46409

原创 Optional.ofNullable 详解 | 告别空指针异常,让你的代码更优雅健壮

是 Java 中类的一个静态方法,用于返回一个指定值的Optional对象。这个方法的主要作用是将一个可能为null的值包装到Optional容器中。如果该值为null,则返回一个空的Optional对象;否则,返回一个包含该值的Optional对象。valueTOptionalnullOptionalnullOptional使用方法的主要好处在于,它可以提供一种更优雅的方式来处理可能为null的值,避免在代码中直接进行null检查,从而简化代码逻辑并提高代码的可读性。

2024-03-27 19:11:16 961

原创 虚拟机和物理机的区别 |如何判断是linux是运行在虚拟机还是物理机

【代码】虚拟机和物理机的区别 |如何判断是linux是运行在虚拟机还是物理机。

2024-03-22 09:52:47 405

原创 Spring Boot 配置中心与应用属性完美匹配 | 深入探究@ConfigurationProperties与@NacosPropertySource

注解是 Spring Boot 中用于将外部配置文件(如 YAML 或 properties 文件)中的属性映射到 Java Bean 类属性的强大工具。以下是关于:在注解中,通过prefix属性指定了配置文件中属性的前缀。Spring Boot 会查找所有以该前缀开头的属性,并将它们映射到 Java Bean 类的对应属性上。:YAML 配置文件中的属性名通常使用短横线分隔单词(例如),而 Java Bean 类的属性名则遵循驼峰命名规则(例如。

2024-03-20 16:42:17 841

原创 MySQL | join on、inner join、left join on和right join的区别及示例

相反,它返回右表中的所有记录,以及左表中匹配的记录。如果右表的某行在左表中没有匹配项,则结果集中左表的部分将包含NULL。返回两个表中都有的记录。换句话说,它只返回那些在两个指定的表中有匹配的行。都是用于根据两个或多个表之间的相关列之间的关系,从这些表中查询数据的SQL操作。返回左表中的所有记录,以及右表中匹配的记录。如果左表的某行在右表中没有匹配项,则结果集中右表的部分将包含NULL。同样,分数为92的学生也没有出现在结果集中,因为他在。在这里,Carol虽然没有分数,但仍然出现在结果集中,因为。

2024-03-19 16:59:35 397 1

原创 Spring源码 | SchedulingConfigurer / TaskScheduler / ThreadPoolTaskScheduler 自定义任务调度器实现与全链路源码分析

轮子造起来

2024-03-14 17:35:15 1073

原创 GIT | 解决IDEA每次git拉取远程代码 default changelist 都会出现 .idea文件修改记录

每次我在拉取远程代码的时候,git都会默认将 .idea当中的文件(例如:compiler.xml or workspace.xml)都会莫名其妙的自动修改。这里吐槽一下很离谱的一个现象,仔细看下修改的内容,最离谱的一条是把其中的一个module 由A 重命名成了 B,然后将一个 module 由B 重命名成了,无语死了!!!

2024-03-08 11:16:28 492

原创 Spring Security | Oauth2 /oauth/token自定义授权实现底层源码浅析与实现

创建授权处理类需要继承TokenGranter来实现自定义授权方式,查看TokenGranter实现类的列表,这里选择使用AbstractTokenGranter,而AbstractTokenGranter是一个抽象类,需要继承这个类才能达到我们的目的。根据AbstractTokenGranter调用关系,我们主要重写getOAuth2Authentication就可以达到我们的目的了。自定义授权类demo。

2024-03-06 11:18:35 1158

原创 findbugs | STCAL_INVOKE_ON_STATIC_DATE_FORMAT_INSTANCE

findbugs

2024-03-05 09:56:09 372

原创 回顾 | Java面向对象 多态篇

在这个示例中,Animal类是父类,Dog和Cat类是其子类。在main方法中,我们使用Animal类的引用animal1和animal2分别指向Dog和Cat类的实例对象。当调用makeSound()方法时,实际上会根据引用的实际对象类型来决定调用哪个类的方法,这就是多态性的体现。通过多态,可以通过父类或接口定义的引用变量来操作子类或实现类的对象,从而实现同一方法在不同对象上的不同行为。多态是面向对象编程中的一个重要概念,它允许不同的对象对同一消息做出不同的响应。

2024-02-22 22:45:00 333

原创 @XmlAccessorType+@XmlElement完美解决Java类到XML映射问题

第三种场景就可以满足本次需求!!!在上述示例中,第一个场景使用了 @XmlElement 注解,第二个场景使用了 @XmlAccessorType(XmlAccessType.FIELD) 注解,而第三个场景同时使用了两者。在场景三中,对于 address 字段,使用了 @XmlElement(name = "city") 来指定 XML 元素的名称。这些注解的组合方式可以根据需求来灵活使用,以达到对 XML 与 Java 对象的映射要求。

2023-12-21 16:14:52 1264

原创 笔记 | ConcurrentHashMap和分布式锁的区别以及应用场景

范围不同: ConcurrentHashMap主要用于解决同一JVM内的多线程并发问题,而分布式锁主要用于解决分布式系统中多个应用程序实例之间的并发问题。解决问题的层面: ConcurrentHashMap是为了解决内存内的共享数据并发访问问题,而分布式锁是为了解决分布式环境中的多个实例之间的共享资源并发问题。实现方式: ConcurrentHashMap通过在内存中使用分段锁来实现,并依赖于共享内存;而分布式锁通过在分布式协调服务上创建锁来实现,并依赖于网络通信。

2023-12-20 10:29:11 489

原创 一文弄懂事件Event与Kafka的区别

事件(Event): 事件是系统内发生的特定事情或状态变化的表示。在编程和软件设计中,事件通常被用于解耦系统中的不同部分,以及在不同模块之间传递信息。事件可以是内建的,也可以是自定义的。Kafka: Apache Kafka 是一个分布式流处理平台,主要用于构建实时数据管道和流应用程序。它提供了持久性、容错性、伸缩性和高吞吐量的消息传递系统,通过分布式发布-订阅机制,允许多个应用程序或服务之间以实时的方式交换数据。

2023-12-18 14:41:27 1181

原创 Java 创建事件(Event)、事件监听器(EventListener)、事件发布(publishEvent)详解

在Java中,创建事件(Event)、事件监听器(EventListener)和事件发布(publishEvent)的工作原理涉及到观察者设计模式。这种设计模式用于实现对象之间的松耦合通信。事件(Event)相当于被观察对象,事件监听器(EventListener)相当于观察者。其中一个对象(事件源)维护一组依赖于它的对象(事件监听器),并在状态改变时通知它们。一般的,事件发布或事件监听后处理逻辑应该都是异步不阻塞线程。可以在发布时间或者事件监听方法上面加上@Async注解。

2023-12-13 18:49:00 1395

原创 @EventListener工作原理

EventListener 是 Spring Framework 提供的用于处理事件监听的注解。它的工作原理基于观察者设计模式,其中有一个事件发布者(publisher)和一个或多个事件监听者(listener)。

2023-12-13 18:46:04 360

原创 @Autowired、@Resource区别详解及特殊应用场景

Autowired 是Spring提供的注解,基于类型进行匹配,可以搭配 @Qualifier 使用,适用于Spring环境。@Resource 是Java EE 提供的注解,可以按照名称或类型进行匹配,不仅限于Spring环境,也可以在其他Java EE 容器中使用。一般而言,如果项目使用的是Spring框架,优先选择使用 @Autowired,因为它是Spring的一部分。如果需要更广泛的可移植性,可以考虑使用 @Resource。

2023-12-13 16:12:03 115

原创 Linux服务器部署XXL-JOB

这是一篇部署xxljob服务的文章,后续有时间继续肝部署xxljob执行器的文章!!!

2023-12-05 15:55:12 346

原创 超越任务调度的极致:初探分布式定时任务 XXL-JOB 分片广播

XXL-JOB 是一个分布式任务调度平台,支持分片任务执行。

2023-11-13 19:26:04 944

原创 @KafkaListener注解详解(一)| 常用参数详解

KafkaListener 注解提供了许多可配置的参数,以便更灵活地定制 Kafka 消息监听器的行为。

2023-11-12 00:55:51 3396 1

原创 RestTemplate.postForEntity 方法进行 HTTP POST 请求

RestTemplate 是 Spring Framework 提供的一个用于处理 HTTP 请求的客户端工具。其中,postForEntity 是 RestTemplate 提供的用于发送 HTTP POST 请求并返回 ResponseEntity 对象的方法。

2023-11-09 10:13:15 1828

原创 负载均衡的艺术:释放 Ribbon 的潜力

Ribbon 是 Netflix 开源的一个用于负载均衡的客户端库,主要用于分布式系统中的服务调用负载均衡。它可以与服务发现组件(如 Eureka)结合使用,实现在多个服务实例之间分发请求,从而提高系统的可用性和性能。

2023-11-09 09:56:49 719

原创 hystrix,高可用性保障框架

Hystrix 是 Netflix 开源的一个用于构建分布式系统的库,主要用于处理分布式系统中的服务容错和降级。它提供了一种机制来防止分布式系统中的故障从一个服务传播到整个系统,以及在某个服务不可用时提供降级机制。Hystrix 被广泛应用在微服务架构中,可以用于保护应用程序免受故障或延迟的影响,提高系统的可用性和稳定性。

2023-11-09 09:49:09 59

原创 spring | -bash: ./control.sh: /bin/bash^M: bad interpreter: No such file or directory

按Shift+:键后,输入set ff=unix调整文件格式。再按Shift+:键,然后输入wq。

2023-11-01 15:29:30 144

原创 Linux | 如何根据进程号查询服务的端口号

ps -ef | grep nacos 命令是用于查找系统中所有包含 "nacos" 关键字的进程。这个命令的含义如下:ps: 这是一个用于显示当前正在运行的进程的命令。-ef: 这两个选项一起使用,表示显示所有进程的详细信息。-e 选项表示显示所有进程,而 -f 选项表示显示完整的进程信息。|: 这是管道操作符,用于将 ps -ef 命令的输出传递给 grep 命令的输入。grep nacos: grep 命令用于在文本中搜索包含指定关键字 "nacos" 的行。

2023-10-31 17:03:42 718

原创 【MyBatis-Plus】详解Wrappers.<T> lambdaQuery()以及常用过滤方法

Wrappers. lambdaQuery() 是 MyBatis-Plus 中用于创建 LambdaQueryWrapper 对象的方法,它用于构建 SQL 查询条件的起始点。LambdaQueryWrapper 是一种类型安全的查询条件构建方式,通过 lambda 表达式可以更加直观地定义查询条件。

2023-09-12 17:57:06 11703 1

原创 【思考】java中xml文件得到的sql查询字段是如何与对象类中的属性字段对应的?有顺序要求吗?

假设有一个Java对象类 User,其中包含了数据库表的字段,例如 user_id 和 username。在Java中可以使用XML文件来配置数据库查询语句以及将查询结果映射到Java对象。在这个XML文件中,我们定义了一个<select>元素,它执行了一个SQL查询,并将结果映射到com.example.User类。接着,我们通过session.getMapper()获取一个映射器接口的实例,并使用该接口执行查询。然后,你可以使用MyBatis框架来执行该查询并将结果映射到Java对象。

2023-09-08 21:18:43 466

原创 网络层抓包tcpdump

这段代码使用了命令行工具 tcpdump,用于在Linux系统上捕获网络数据包。

2023-09-07 19:35:22 920

原创 【实战】三种方法解决本地分支与远端分支代码同步的问题

在日常开发中,很有可能多个开发人员都在同一个代码仓库分支上进行工作,这可能导致本地分支与远端分支之间存在差异。

2023-09-07 19:28:13 5174

原创 【扩展】怎么把xshell背景调为白色

请注意,这些步骤可能会根据不同的 Xshell 版本略有不同,但通常情况下,您可以按照上述步骤找到并更改背景颜色设置。在 "外观" 选项卡下,您可以找到 "背景颜色"(Background Color)选项。通常,会有一个 "确定"(OK)或 "应用"(Apply)按钮,用于保存新的设置。在 Xshell 窗口中,点击顶部菜单栏中的 "工具"(Tools)。在 "选项" 窗口中,选择 "外观"(Appearance)选项卡。在 "工具" 菜单中,选择 "选项"(Options)。关闭 "选项" 窗口。

2023-09-07 13:05:41 1580 1

原创 @XmlType(propOrder)、@XmlRootElement、@XmlAttribute、@XmlTransient和@XmlElement(name))作用详解

总之,这些注释提供了对 Java 类如何映射到 XML 表示形式的细粒度控制@XmlType(propOrder)控制元素的顺序、@XmlRootElement指定根元素名称、@XmlAttribute将字段映射到 XML 属性、@XmlTransient从 XML 映射中排除字段以及@XmlElement(name)设置字段或属性的 XML 元素的名称。用法:您可以使用注释字段或属性来@XmlElement(name = "elementName")指定 XML 元素的名称。

2023-09-06 17:28:45 2030

原创 VIM统计搜索关键词命令

所以,当你运行 :%s/keyword/&/gn 时,Vim 会在整个文件中查找 keyword 并统计匹配次数,但不会实际替换任何文本。这个指令的作用是在整个文件中查找 xxx 并删除所有匹配,同时显示匹配次数。与上一个指令,两者的区别在于第一个指令是删除匹配文本,而第二个指令只是统计匹配次数,不进行实际替换。:在替换命令中,g 表示全局替换,也就是不仅仅替换每一行的第一个匹配,而是替换每一行的所有匹配。:在替换命令中,& 表示要替换成的内容,这里用 & 表示保持不变,也就是不进行实际替换。

2023-09-05 19:32:30 1786

原创 Linux | nslookup详细介绍一下这指令的作用以及用法

nslookup是一个网络工具,通常用于查询域名系统(DNS)服务器以获取主机名或IP地址相关的信息。它可以用于查找主机名的IP地址,反向查找IP地址的主机名,以及查询DNS记录的其他信息。

2023-09-04 13:07:24 3980

原创 vim 使用/进行关键字搜索,跳转到下一个搜索结果的快捷键

在命令行中使用 `/` 或 `?` 向下或向上搜索指定的字符,字符可手动输入 或 粘贴指定寄存器里的字符输入。此外还可以同时进行多个匹配(关键字)的搜索,不同匹配项之间使用`只要找到满足这些匹配之一即可。转到下一个匹配到的位置。

2023-09-03 00:37:45 1617

原创 tail -n 500 -f /apprun/logs/history/log.log

因此,整个命令的含义是:实时监视一个日志文件的末尾500行内容,同时在这些内容中搜索包含关键词 "nacos" 的行,并显示匹配行及其上一行,以及它们所在的行号。: 这部分命令使用了tail命令来监视一个日志文件的末尾,并显示文件的最后500行内容。: 这部分命令使用了grep命令来在输入中搜索包含关键词 "nacos" 的行。: 这个符号是管道操作符,它将第一个命令的输出(即tail命令的输出)作为第二个命令的输入。: 跟随模式,实时显示文件的新增内容。: 显示最后500行内容。: 显示匹配行的行号。

2023-08-31 23:51:26 283

原创 中间件 | nacos版本升级注意事项

3 执行2.x的sql脚本,路径 conf/mysql-schema.sql 【旧版本的是conf/nacos-mysql.sql】,创建数据库表。2 由于1.x到2.x版本数据结构发生变化,无法沿用旧的数据库,所以新建一个数据库实例,来保存具体的nacos配置信息。背景:nacos版本升级,1.0.1升级到2.1.2,nacos主要用作配置中心。6 使用curl命令模拟接口访问nacos,测试是否可以正常获取配置信息。1 从官网下载新版本nacos压缩包。4 备份nacos的配置文件。

2023-08-31 19:28:47 398

原创 @XmlType,@XmlRootElement,@XmlAttribute的作用与区别

XmlType 主要用于控制类的结构和类型信息,以及属性的顺序等。@XmlRootElement 用于指定类作为 XML 文档的根元素,用于整个对象的序列化和反序列化。@XmlAttribute 用于将属性映射为 XML 元素的属性,使属性的值以属性形式出现在 XML 中。举例说明:return age;在这个示例中,@XmlRootElement 注解将 Person 类映射为 XML 根元素,而 @XmlAttribute 注解将 name 属性映射为 XML 元素的属性。

2023-08-29 15:15:52 2314

原创 IDEA、git如何修改历史提交commit的邮箱

git log查看提交日志,获取commit ID。

2023-08-28 11:52:46 1293

原创 git 查看/配置 local/global 用户名称和用户邮箱

git config --local user.name “你的名称”git config --local user.email “你的邮箱”

2023-08-28 11:46:25 1873

原创 【mysql】ON DUPLICATE KEY UPDATE phone = #{phone};

例如,假设你有一个名为 tracks 的表,其中有一个唯一键 track_id,以及一个 track_date 列。你想要插入一行数据,如果 track_id 已经存在,那么更新 track_date 列为指定的时间戳。可以将这段代码放入一个 Java 或者类似语言的字符串模板中,然后通过将 #{phone} 替换为实际的时间戳值来构建最终的 SQL 查询语句。在这个例子中,如果 track_id 为 123 的行已经存在,那么 track_date 列将会被更新为 '2023-08-25'。

2023-08-25 19:01:57 213

原创 Protocol Buffers:Cannot resolve symbol ‘proto‘,Cannot resolve import ‘common/errcode.proto‘

无法导入.proto或者.proto文件内的方法。

2023-08-24 14:35:29 137

工程伦理9-13章.pdf

1、与土建、机械、电气等工程技术相比,信息技术具有连接能力、交互能力、____能力和融合能力。() A 异构B 重构C 渗透D 百变 2、1950年,科学家___在出版的《人有人的用处》一书中,率先提出信息与计算机伦理,追问信息技术对诸如生命、健康、快乐、能力、知识、自由、安全、发展机会等人类核心价值的意义,并倡议用“伟大的公正原则”作为信息伦理的基石() A 冯·诺依曼(John von Neumann)B 维纳(Norbert Wiener)C 图灵(Alan Mathison Turing)D 阿西莫夫 ......(本文仅供学习之用,不做商业用不做商业用途,如有侵权,请联系博主删除)

2020-11-23

工程伦理1-8章.pdf

1、工程的概念最初主要用于指代与()相关的设计和建造活动,工程师最初指设计、创造和建造火炮、弹射器、云梯或其他用于战争的工具的人。 2、工程活动的各个环节涉及不同类型的参与者,这些参与者共同构成了工程活动复杂的行动者网络。对行动者网络的分析有两个维度。第一个维度是不同类型的行动者之间的交互作用,第二个维度是() 1、造成工程风险的原因不包括() A技术因素B 环境因素C 人为因素D 文化因素 ......(本文仅供学习之用,不做商业用途,如有侵权,请联系博主删除,9-13章连接:)

2020-11-23

计算机操作系统基本概念总结.docx

涵盖内容:操作系统概述、进程管理、内存管理、文件管理、输入/输出(I/O)管理。

2020-04-15

空空如也

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

TA关注的人

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