- 博客(88)
- 资源 (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
53382
原创 在 Offset Explorer 中配置多节点 Kafka 集群的详细指南
则选择SASL_PLAINTEXT模式,并且需要在JAAS config当中配置用户名密码,JAAS config内容可以从配置文件。搜索security.inter.broker.protocol。否则security默认Plaintext。确保地址和端口与集群实际配置一致。从 Kafka 的配置文件。
2025-03-19 18:05:04
971
原创 拦截器魔法:Spring MVC中的防重放守护者
在构建安全可靠的Web应用程序时,防止请求重放攻击是一项关键任务。当用户或系统发出的请求被恶意第三方捕获并重复发送给服务器时,就会发生重放攻击。这可能导致不必要的操作被执行,如重复下单、重复支付等。为了保护我们的应用免受此类威胁,我们可以利用Spring MVC框架提供的强大工具——HandlerInterceptor来实现防重放机制。通过本文介绍的内容,我们了解了如何利用Spring MVC中的和来构建一个高效的防重放拦截器。
2024-12-20 16:06:49
552
原创 application-dev.yml、application-online.yml、application.yml、bootstrap.yml还有配置中心使用先后顺序以及原理
最早加载,用于配置中心连接等引导阶段必要的配置。Config Server Configuration(如果使用):从配置中心获取配置,覆盖或补充本地配置。:基础配置,包含所有环境共通的配置信息。:根据激活的Profile加载,覆盖中的相应配置。通过这种方式,Spring Boot提供了一种灵活且可扩展的配置管理机制,支持不同环境和场景下的配置需求。开发者可以根据实际需求,灵活地组合使用这些配置文件和配置中心,以确保应用的正确运行。
2024-06-13 15:32:01
638
原创 Optional.ofNullable 详解 | 告别空指针异常,让你的代码更优雅健壮
是 Java 中类的一个静态方法,用于返回一个指定值的Optional对象。这个方法的主要作用是将一个可能为null的值包装到Optional容器中。如果该值为null,则返回一个空的Optional对象;否则,返回一个包含该值的Optional对象。valueTOptionalnullOptionalnullOptional使用方法的主要好处在于,它可以提供一种更优雅的方式来处理可能为null的值,避免在代码中直接进行null检查,从而简化代码逻辑并提高代码的可读性。
2024-03-27 19:11:16
15584
原创 虚拟机和物理机的区别 |如何判断是linux是运行在虚拟机还是物理机
【代码】虚拟机和物理机的区别 |如何判断是linux是运行在虚拟机还是物理机。
2024-03-22 09:52:47
1807
原创 Spring Boot 配置中心与应用属性完美匹配 | 深入探究@ConfigurationProperties与@NacosPropertySource
注解是 Spring Boot 中用于将外部配置文件(如 YAML 或 properties 文件)中的属性映射到 Java Bean 类属性的强大工具。以下是关于:在注解中,通过prefix属性指定了配置文件中属性的前缀。Spring Boot 会查找所有以该前缀开头的属性,并将它们映射到 Java Bean 类的对应属性上。:YAML 配置文件中的属性名通常使用短横线分隔单词(例如),而 Java Bean 类的属性名则遵循驼峰命名规则(例如。
2024-03-20 16:42:17
1552
原创 MySQL | join on、inner join、left join on和right join的区别及示例
相反,它返回右表中的所有记录,以及左表中匹配的记录。如果右表的某行在左表中没有匹配项,则结果集中左表的部分将包含NULL。返回两个表中都有的记录。换句话说,它只返回那些在两个指定的表中有匹配的行。都是用于根据两个或多个表之间的相关列之间的关系,从这些表中查询数据的SQL操作。返回左表中的所有记录,以及右表中匹配的记录。如果左表的某行在右表中没有匹配项,则结果集中右表的部分将包含NULL。同样,分数为92的学生也没有出现在结果集中,因为他在。在这里,Carol虽然没有分数,但仍然出现在结果集中,因为。
2024-03-19 16:59:35
856
1
原创 Spring源码 | SchedulingConfigurer / TaskScheduler / ThreadPoolTaskScheduler 自定义任务调度器实现与全链路源码分析
轮子造起来
2024-03-14 17:35:15
2424
2
原创 GIT | 解决IDEA每次git拉取远程代码 default changelist 都会出现 .idea文件修改记录
每次我在拉取远程代码的时候,git都会默认将 .idea当中的文件(例如:compiler.xml or workspace.xml)都会莫名其妙的自动修改。这里吐槽一下很离谱的一个现象,仔细看下修改的内容,最离谱的一条是把其中的一个module 由A 重命名成了 B,然后将一个 module 由B 重命名成了,无语死了!!!
2024-03-08 11:16:28
1400
原创 Spring Security | Oauth2 /oauth/token自定义授权实现底层源码浅析与实现
创建授权处理类需要继承TokenGranter来实现自定义授权方式,查看TokenGranter实现类的列表,这里选择使用AbstractTokenGranter,而AbstractTokenGranter是一个抽象类,需要继承这个类才能达到我们的目的。根据AbstractTokenGranter调用关系,我们主要重写getOAuth2Authentication就可以达到我们的目的了。自定义授权类demo。
2024-03-06 11:18:35
3389
原创 回顾 | Java面向对象 多态篇
在这个示例中,Animal类是父类,Dog和Cat类是其子类。在main方法中,我们使用Animal类的引用animal1和animal2分别指向Dog和Cat类的实例对象。当调用makeSound()方法时,实际上会根据引用的实际对象类型来决定调用哪个类的方法,这就是多态性的体现。通过多态,可以通过父类或接口定义的引用变量来操作子类或实现类的对象,从而实现同一方法在不同对象上的不同行为。多态是面向对象编程中的一个重要概念,它允许不同的对象对同一消息做出不同的响应。
2024-02-22 22:45:00
380
原创 @XmlAccessorType+@XmlElement完美解决Java类到XML映射问题
第三种场景就可以满足本次需求!!!在上述示例中,第一个场景使用了 @XmlElement 注解,第二个场景使用了 @XmlAccessorType(XmlAccessType.FIELD) 注解,而第三个场景同时使用了两者。在场景三中,对于 address 字段,使用了 @XmlElement(name = "city") 来指定 XML 元素的名称。这些注解的组合方式可以根据需求来灵活使用,以达到对 XML 与 Java 对象的映射要求。
2023-12-21 16:14:52
3817
原创 笔记 | ConcurrentHashMap和分布式锁的区别以及应用场景
范围不同: ConcurrentHashMap主要用于解决同一JVM内的多线程并发问题,而分布式锁主要用于解决分布式系统中多个应用程序实例之间的并发问题。解决问题的层面: ConcurrentHashMap是为了解决内存内的共享数据并发访问问题,而分布式锁是为了解决分布式环境中的多个实例之间的共享资源并发问题。实现方式: ConcurrentHashMap通过在内存中使用分段锁来实现,并依赖于共享内存;而分布式锁通过在分布式协调服务上创建锁来实现,并依赖于网络通信。
2023-12-20 10:29:11
756
原创 一文弄懂事件Event与Kafka的区别
事件(Event): 事件是系统内发生的特定事情或状态变化的表示。在编程和软件设计中,事件通常被用于解耦系统中的不同部分,以及在不同模块之间传递信息。事件可以是内建的,也可以是自定义的。Kafka: Apache Kafka 是一个分布式流处理平台,主要用于构建实时数据管道和流应用程序。它提供了持久性、容错性、伸缩性和高吞吐量的消息传递系统,通过分布式发布-订阅机制,允许多个应用程序或服务之间以实时的方式交换数据。
2023-12-18 14:41:27
1636
原创 Java 创建事件(Event)、事件监听器(EventListener)、事件发布(publishEvent)详解
在Java中,创建事件(Event)、事件监听器(EventListener)和事件发布(publishEvent)的工作原理涉及到观察者设计模式。这种设计模式用于实现对象之间的松耦合通信。事件(Event)相当于被观察对象,事件监听器(EventListener)相当于观察者。其中一个对象(事件源)维护一组依赖于它的对象(事件监听器),并在状态改变时通知它们。一般的,事件发布或事件监听后处理逻辑应该都是异步不阻塞线程。可以在发布时间或者事件监听方法上面加上@Async注解。
2023-12-13 18:49:00
4585
原创 @EventListener工作原理
EventListener 是 Spring Framework 提供的用于处理事件监听的注解。它的工作原理基于观察者设计模式,其中有一个事件发布者(publisher)和一个或多个事件监听者(listener)。
2023-12-13 18:46:04
739
原创 @Autowired、@Resource区别详解及特殊应用场景
Autowired 是Spring提供的注解,基于类型进行匹配,可以搭配 @Qualifier 使用,适用于Spring环境。@Resource 是Java EE 提供的注解,可以按照名称或类型进行匹配,不仅限于Spring环境,也可以在其他Java EE 容器中使用。一般而言,如果项目使用的是Spring框架,优先选择使用 @Autowired,因为它是Spring的一部分。如果需要更广泛的可移植性,可以考虑使用 @Resource。
2023-12-13 16:12:03
267
原创 @KafkaListener注解详解(一)| 常用参数详解
KafkaListener 注解提供了许多可配置的参数,以便更灵活地定制 Kafka 消息监听器的行为。
2023-11-12 00:55:51
6210
1
原创 RestTemplate.postForEntity 方法进行 HTTP POST 请求
RestTemplate 是 Spring Framework 提供的一个用于处理 HTTP 请求的客户端工具。其中,postForEntity 是 RestTemplate 提供的用于发送 HTTP POST 请求并返回 ResponseEntity 对象的方法。
2023-11-09 10:13:15
3687
原创 负载均衡的艺术:释放 Ribbon 的潜力
Ribbon 是 Netflix 开源的一个用于负载均衡的客户端库,主要用于分布式系统中的服务调用负载均衡。它可以与服务发现组件(如 Eureka)结合使用,实现在多个服务实例之间分发请求,从而提高系统的可用性和性能。
2023-11-09 09:56:49
796
原创 hystrix,高可用性保障框架
Hystrix 是 Netflix 开源的一个用于构建分布式系统的库,主要用于处理分布式系统中的服务容错和降级。它提供了一种机制来防止分布式系统中的故障从一个服务传播到整个系统,以及在某个服务不可用时提供降级机制。Hystrix 被广泛应用在微服务架构中,可以用于保护应用程序免受故障或延迟的影响,提高系统的可用性和稳定性。
2023-11-09 09:49:09
140
原创 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
205
原创 Linux | 如何根据进程号查询服务的端口号
ps -ef | grep nacos 命令是用于查找系统中所有包含 "nacos" 关键字的进程。这个命令的含义如下:ps: 这是一个用于显示当前正在运行的进程的命令。-ef: 这两个选项一起使用,表示显示所有进程的详细信息。-e 选项表示显示所有进程,而 -f 选项表示显示完整的进程信息。|: 这是管道操作符,用于将 ps -ef 命令的输出传递给 grep 命令的输入。grep nacos: grep 命令用于在文本中搜索包含指定关键字 "nacos" 的行。
2023-10-31 17:03:42
1823
原创 【MyBatis-Plus】详解Wrappers.<T> lambdaQuery()以及常用过滤方法
Wrappers. lambdaQuery() 是 MyBatis-Plus 中用于创建 LambdaQueryWrapper 对象的方法,它用于构建 SQL 查询条件的起始点。LambdaQueryWrapper 是一种类型安全的查询条件构建方式,通过 lambda 表达式可以更加直观地定义查询条件。
2023-09-12 17:57:06
21349
2
原创 【思考】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
673
原创 【实战】三种方法解决本地分支与远端分支代码同步的问题
在日常开发中,很有可能多个开发人员都在同一个代码仓库分支上进行工作,这可能导致本地分支与远端分支之间存在差异。
2023-09-07 19:28:13
8027
原创 【扩展】怎么把xshell背景调为白色
请注意,这些步骤可能会根据不同的 Xshell 版本略有不同,但通常情况下,您可以按照上述步骤找到并更改背景颜色设置。在 "外观" 选项卡下,您可以找到 "背景颜色"(Background Color)选项。通常,会有一个 "确定"(OK)或 "应用"(Apply)按钮,用于保存新的设置。在 Xshell 窗口中,点击顶部菜单栏中的 "工具"(Tools)。在 "选项" 窗口中,选择 "外观"(Appearance)选项卡。在 "工具" 菜单中,选择 "选项"(Options)。关闭 "选项" 窗口。
2023-09-07 13:05:41
3408
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
3917
原创 VIM统计搜索关键词命令
所以,当你运行 :%s/keyword/&/gn 时,Vim 会在整个文件中查找 keyword 并统计匹配次数,但不会实际替换任何文本。这个指令的作用是在整个文件中查找 xxx 并删除所有匹配,同时显示匹配次数。与上一个指令,两者的区别在于第一个指令是删除匹配文本,而第二个指令只是统计匹配次数,不进行实际替换。:在替换命令中,g 表示全局替换,也就是不仅仅替换每一行的第一个匹配,而是替换每一行的所有匹配。:在替换命令中,& 表示要替换成的内容,这里用 & 表示保持不变,也就是不进行实际替换。
2023-09-05 19:32:30
2629
原创 Linux | nslookup详细介绍一下这指令的作用以及用法
nslookup是一个网络工具,通常用于查询域名系统(DNS)服务器以获取主机名或IP地址相关的信息。它可以用于查找主机名的IP地址,反向查找IP地址的主机名,以及查询DNS记录的其他信息。
2023-09-04 13:07:24
7548
原创 vim 使用/进行关键字搜索,跳转到下一个搜索结果的快捷键
在命令行中使用 `/` 或 `?` 向下或向上搜索指定的字符,字符可手动输入 或 粘贴指定寄存器里的字符输入。此外还可以同时进行多个匹配(关键字)的搜索,不同匹配项之间使用`只要找到满足这些匹配之一即可。转到下一个匹配到的位置。
2023-09-03 00:37:45
3973
原创 tail -n 500 -f /apprun/logs/history/log.log
因此,整个命令的含义是:实时监视一个日志文件的末尾500行内容,同时在这些内容中搜索包含关键词 "nacos" 的行,并显示匹配行及其上一行,以及它们所在的行号。: 这部分命令使用了tail命令来监视一个日志文件的末尾,并显示文件的最后500行内容。: 这部分命令使用了grep命令来在输入中搜索包含关键词 "nacos" 的行。: 这个符号是管道操作符,它将第一个命令的输出(即tail命令的输出)作为第二个命令的输入。: 跟随模式,实时显示文件的新增内容。: 显示最后500行内容。: 显示匹配行的行号。
2023-08-31 23:51:26
636
原创 中间件 | 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
715
原创 @XmlType,@XmlRootElement,@XmlAttribute的作用与区别
XmlType 主要用于控制类的结构和类型信息,以及属性的顺序等。@XmlRootElement 用于指定类作为 XML 文档的根元素,用于整个对象的序列化和反序列化。@XmlAttribute 用于将属性映射为 XML 元素的属性,使属性的值以属性形式出现在 XML 中。举例说明:return age;在这个示例中,@XmlRootElement 注解将 Person 类映射为 XML 根元素,而 @XmlAttribute 注解将 name 属性映射为 XML 元素的属性。
2023-08-29 15:15:52
3852
工程伦理9-13章.pdf
2020-11-23
工程伦理1-8章.pdf
2020-11-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人