自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 list的初始化,add指定位置,remove指定位置。

list。addlist。remove质数。

2024-07-26 01:28:03 555

原创 comparable接口(compareTo)和Comparator.comparing方法

对int类型的二维fans数组,按照每个数组的第一个位置的数升序,如果第一个位置数相同,再按照第二个位置的元素升序。只按照一个的话,不用规定比较器将用于int[]类型的数组。否则要加。对int类型的二维fans数组,按照每个数组的第一个位置的数升序。用list.sort排序的话就是。

2024-07-22 22:12:33 610

原创 Spring Cloud常用组件及其作用(Eureka、Feign、Ribbon)

当一个服务实例启动时(比如一个center服务),它会向Eureka发送注册请求,将自己的信息注册到注册中心。Eureka会将这些信息保存在内存中,并提供REST接口供其他服务查询。别的服务可以通过查询服务实例列表(就是下面这个表)来获取可用的服务,从而实现服务发现。服务健康检查:Eureka通过心跳机制来检测服务实例列表里的服务的健康状态。服务实例会定期向Eureka发送心跳,也就是续约,表示自己还存活。如果Eureka一段时间内没有收到某个服务实例的心跳,会将其标记不可用,从服务实例列表删除。

2024-07-19 18:24:07 1332

原创 常见网络知识

在基于TCP协议中,特别是HTTP/1.1之前版本。tcp是面向连接,可靠,基于字节流的,字节流可以理解为双向通道里流淌的数据,就是我们常说的二进制数据,就是一大堆01串这些01串是没有任何边界的,所以我们不知道到哪个地方算一条完整的消息。所以我们使用TCP发送夏洛特烦恼,接收端没法区分。这就是粘包问题。解决办法:把每条要发送的消息都包装一下,比如加上消息头。消息头里写清楚一个完整的边界是多少。根据这个长度截取完整的数据。截取出来的就是我们想发送的消息体。

2024-07-18 17:55:56 264

原创 ADX-媒体对接技术文档(redis 布隆 Lua MD5)

rotobuf 通常产生更小的二进制数据,这在带宽受限的环境中尤为重要,如移动网络或物联网设备。由于 Protobuf 使用二进制格式,解析和序列化通常比 JSON 快得多。Protocol Buffers(通常简称为 Protobuf)和 JSON 都是用来序列化数据结构的。对方请求我们的接口是带protobuf的,是以protobuf形式的,然后就会跳转到protocolbuf的controller里。

2024-07-18 17:04:05 1621

原创 函数式接口+匿名内部类+lambda表达式+方法引用+比较器

想实现这个接口,有两种方法:匿名内部类(接口可以有多个抽象方法)和函数式接口(只能有一个抽象方法)函数式接口()里就是参数列表,这个抽象方法m是无参的,就空着。{}里是唯一的抽象方法的方法实现。阅读源码可以看到,forEach方法里面是增强的for循环,之所以能用()->{}函数式接口:只有一个抽象方法的接口(但可以有多个非抽象方法)Consumer也是函数式接口。

2024-07-12 11:53:05 1387

原创 apollo查看redis,mysql的配置

我们从单体应用到RPC应用再到今天的微服务应用,程序功能日益复杂,程序配置日益增多。每一次参数变更,服务器地址变更等等,都要重启启动项目,甚至要重新打包发布。而且我们希望修改了配置之后,无需重启,实时生效,并可以指定某些微服务,某些集群修改。开源的一款可靠的分布式配置管理中心,它能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。在资源管理里就能看到配置的实例,mysql,redis等。在这里我们就能看到相应的配置。

2024-07-11 18:09:21 132

原创 阿里云DMS系统在执行计划中看添加的索引情况

从tag_library_new表中选择所有列,其中条件为tag_level等于2,并且tag_num字段的值以'07'开头。CONCAT将07和%连接成07%,LIKE模糊匹配,匹配到tag_num里以07开头的记录。key是使用到索引idx_level_num了,key_len表示在查询过程中实际被使用的索引长度。possible_keys表示MySQL查询优化器认为可用于当前查询的索引列表。就是加了where tag_level=2这种约束范围字段。这是我们建立的索引,在执行计划里可以看到。

2024-07-11 11:00:23 209

原创 建造者模式制造普通汉堡和豪华汉堡

在这个例子中,HamburgerBuilder 是抽象建造者,它定义了构建汉堡的步骤,而 SimpleHamburgerBuilder 和 DeluxeHamburgerBuilder 则是具体建造者,它们按照不同的方式来实现这些步骤,最终构建出不同类型的汉堡。:可选角色,负责组织具体建造者的建造顺序,调用具体建造者的方法来创建产品。:它是一个接口或抽象类,定义了创建产品对象各个部分的抽象方法,以及获取最终产品的接口方法。将构建复杂对象的过程和它的表示分离,使得同样的构建过程可以创建不同的表示。

2024-07-04 18:10:18 30

原创 通过反射创建protobuf请求对象

这个接口允许你通过一系列的设置方法来逐步构建一个完整的Protocol Buffers消息。尝试通过clazz.getMethod("newBuilder")找到类中名为newBuilder的静态方法。定义一个对象obj,接收使用method.invoke(null)调用找到的newBuilder静态方法。类加载:使用Class.forName(className)方法加载指定的类到Java虚拟机中。如果调用成功,将返回的对象强制转换为Message.Builder类型并返回给调用者。

2024-07-04 15:21:50 45

原创 protobuf生成java类

把你的proto文件放到bin目录下。(qimao_adx.proto)下载完里面是带bin的,没有的话说明下错了。把bin里面的protoc拖到终端运行一下。mac笔记本是下这个-osx-x86。接下来进入bin的目录下。就转成java文件了。

2024-07-01 16:11:47 334

原创 CSRF原理及本地debug时修改referer跳过CSRF

对于需要验证的请求,会检查Referer头确保请求来源于同一站点,以及验证请求头中的CSRF Token与Cookie中的是否匹配,如果不匹配则抛出DuibaSecurityException异常。改成本地http://localhost:17785,或者改成参数RequestTool.getServerPath(request)后,就会变成。自己想debug时通过的话,把。

2024-06-28 14:25:58 245

原创 开发完代码后创建并发布到流水线,灰度发布及git实操

2在这里选择想要提交的更改,注意写一个feat规范一点,指出这个功能是干嘛的。3提交完记得推送,按理说这里会有一个绿色小箭头提示你要推送。别忘记center也要发布。1 先在这里提交一下代码到本地。4推送完就能看到你的分支更新了。idea写完代码提交git。点击进入流水线,会看到。

2024-06-28 14:04:16 61

原创 SpringCloud之Eureka服务注册+RPC调用问题+idea端口占用

用SpringEureka进行服务注册,允许微服务实例在启动时向 Eureka Server 注册自己的信息(如主机地址、端口、服务名等),这样服务实例就成为 Eureka 服务注册中心中的一个可被发现的成员。ssp-manager是一个服务,ssp-center是一个服务,center注册上来,发现有一个在测试的机器上,有一个在本地,所以debug的时候,manager的这里。Eureka是随机负载均衡的,不一定用本地的机器。说明项目的端口还开着,我们要主动杀死他。就能在manager的只读文件里。

2024-06-27 13:54:23 213

空空如也

空空如也

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

TA关注的人

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