- 博客(67)
- 收藏
- 关注
原创 java发送https请求支持tls1.3
另外:需要修改一下代码强行使用tls1.3协议。如果只修改代码,不升级java版本会报错找不到该协议。说明:java 8_u201及以下版本不支持tls1.3协议发送。最直接的方法是升级到该版本之上。
2024-07-25 14:52:33
1365
1
原创 nginx搭建简单负载均衡demo(springboot)
3中的proxy_pass 设置了代理服务器地址。语法:http://变量名(1中的upstream变量名)。server服务器为:springboot编写的服务器,启动两个实例,端口分别为8081和8082。其中1配置了真实的server地址。图中配置的是本地127.0.01本机地址。2配置了access_log和error_log日志路径。环境:MacBook Pro M1 pro。
2024-05-31 16:56:36
673
1
原创 mac m1 pcre.h 找不到
Library/Developer/CommandLineTools/usr/include # 这个地址。brew 安装地址和程序搜索地址不一样,所以需要软链过去。
2024-05-21 20:25:31
469
原创 执行go get xxx报错
go: coding.jd.com/xxx/xxxxxx@v0.0.0-xxxxxxxxxx: invalid version: git ls-remote -q origin in /users/douhao7/go/pkg/mod/cache/vcs/xxxxxxxxxxxxxx: exit status 128: 致命错误:could not read username for 'http://coding.jd.com': terminal prompts disabled。
2024-02-28 18:26:29
1137
原创 docker安装kafka
安装kafka之前需要先安装zookeeper。1、获取镜像2、运行容器,先运行zookeeper再运行kafka运行kafka这里,我们链接了ZooKeeper容器,并且设置了几个环境变量来配置Kafka。确保在运行这个命令之前ZooKeeper容器已经在运行,并且可以通过来访问。如果你的ZooKeeper容器有一个不同的名字或者你使用的是不同的网络设置,你需要相应地调整--link和的值。
2024-02-26 20:31:03
675
原创 GoLang基础
Goroutine是Golang语言中轻量级线程的实现,可以在一个或多个线程上运行。它是由Go运行时系统管理的,是一个独立、轻量级的执行单元。与传统线程不同,goroutine运行时,它是由Go运行时系统自动进行调度,而且它的调度模型也是非常高效的,它不仅可以很好地支持高并发,而且还能够充分利用多核CPU的优势。大多数 Go 语言程序同时使用数千个 Goroutine。要创建 Goroutine,可以在函数声明之前添加 go 关键字。
2024-01-22 18:41:18
1126
2
原创 线程数量与cpu核数的理解
一个极端的线程(不停执行“计算”型操作时),就可以把单个核心的利用率跑满,多核心CPU最多只能同时执行等于核心数的“极端”线程数如果每个线程都这么“极端”,且同时执行的线程数超过核心数,会导致不必要的切换,造成负载过高,只会让执行更慢I/O 等暂停类操作时,CPU处于空闲状态,操作系统调度CPU执行其他线程,可以提高CPU利用率,同时执行更多的线程I/O 事件的频率频率越高,或者等待/暂停时间越长,CPU的空闲时间也就更长,利用率越低,操作系统可以调度CPU执行更多的线程。
2023-12-27 21:29:53
3395
原创 http状态码大全
303 (查看其他位置) 请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码。307 (临时重定向) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。302 (临时移动) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。通常,这只是暂时状态。413 (请求实体过大) 服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。414 (请求的 URI 过长) 请求的 URI(通常为网址)过长,服务器无法处理。
2023-12-27 21:07:11
1683
原创 kafka发送大消息
此为 Kafka 中端到端的块压缩功能。如果启用,数据将由 producer 压缩,以压缩格式写入服务器,并由 consumer 解压缩。压缩将提高 consumer 的吞吐量,但需付出一定的解压成本。压缩就是用时间换空间,其基本理念是基于重复,将重复的片段编码为字典,字典的 key 为重复片段,value 为更短的代码,比如序列号,然后将原始内容中的片段用代码表示,达到缩短内容的效果,压缩后的内容则由字典和代码序列两部分组成。解压时根据字典和代码序列可无损地还原为原始内容。
2023-12-25 20:54:17
2205
原创 mysql:create index 和 alter add index
1、alter table一次可以添加多个索引,create index一次只能创建一个。创建多个索引时,alter table只对表扫描一次,效率较高。大家应该都知道索引的建立对于MySQL数据库的高效运行是很重要的,索引可以大大提升MySQL的检索速度,下面这篇文章主要给大家介绍了关于。2、alter table可以不指定索引名,此时将使用索引列的第一列的列名,也可以指定索引名字。因此,alter table添加索引更灵活,所以在创建索引的时候提倡使用alter table这种形式。
2023-11-06 15:34:27
2042
2
原创 java修改properties文件内容(读取、修改、追加)
是 Apache 帮我们实现按照文件的顺序读取properties文件的类,Properties类能做的它都能做。不仅如此,他还有许多方便实用的附加功能。除此之外,还可以 propsConfig.setEncoding("utf-8") 设置编码。
2023-11-01 02:02:06
904
原创 springboot读取application.properties中文乱码问题
初用properties,读取java properties文件的时候如果value是中文,会出现乱码的问题。我们首先需要明了乱码问题的根源。在 Java 中,字符通常以 Unicode 编码表示,而 Properties 类默认采用ISO-8859-1编码来处理字符。因此,当我们在 Properties 文件中存储中文字符时,就可能导致乱码问题的出现。
2023-10-31 17:53:16
1346
原创 设计模式-适配器模式
适配器模式(Adapter Pattern)将某个类的接口转换成客户端期望的另一个接口表示,主的目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同工作。其别名为包装器(Wrapper)适配器模式属于结构型模式。主要分为三类:类适配器模式、对象适配器模式、接口适配器模式。基本介绍:Adapter类,通过继承src类,实现dst类接口,完成src->dst的适配。2.1.1 应用实例说明。
2023-08-22 23:40:40
1467
原创 optional的orElse和orElseGet,orElseThrow
中增加的API,可以很好的解决空指针异常,而不用我们来进行显式的非空判断。
2023-07-18 17:41:53
1090
原创 多线程任务中@Autowired或@Resource无法注入bean问题
在多线程处理问题时,当使用@Autowired或@Resource注入的bean时,报空指针异常。有如下两种解决方案。该方法为网上所查得到,本人遇到问题时用该方法并没有很好的解决问题。1.实现ApplicationContextAware接口。2.直接new所需要的类。
2023-07-06 21:25:10
1095
原创 设计模式-工厂模式
将披萨项目的实例化功能抽象成抽象方法,在不同的口味点餐子类中具体实现。定义了一个创建对象的抽象方法,由子类决定要实例化的类。工厂方法模式将对象的实例化推迟到子类。3、抽象工厂定义了一个interface用于创建相关或有依赖关系的对象簇,而无需指明具体的类。抽象工厂模式可以将简单工厂模式和工厂方法模式进行整合。从设计层面看,抽象工厂模式就是对简单工厂模式的改进(或者称为进一步的抽象)。将工厂抽象成两层,AbsFactory(抽象工厂) 和 具体实现的工厂子类。程序员可以根据创建对象类型使用对应的工厂子类。
2023-07-06 00:06:59
464
原创 使用.gitignore文件忽略指定目录
在工作中经常会遇到某些文件无需上传到远程仓库之类的问题。注意:.gitignore文件通常创建在项目的根目录下,即pom.xml同级目录。
2023-07-05 17:09:03
1930
原创 批量插入数据无法返回自增id(mybatis-spring-boot-starter)
使用2.1.4版本即可解决。其内部集成的mybatis版本为3.5.6.
2023-04-27 16:19:21
670
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人