自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(210)
  • 资源 (2)
  • 收藏
  • 关注

原创 使用easypoi 根据模板横向导出excel并合并横向单元格

三、将数据填充为map,调用导出方法。

2023-12-04 16:46:38 691

转载 Mybatis-Plus处理Mysql Json类型字段

Mybatis-Plus处理Mysql Json类型字段_mybatisplus 查询json-CSDN博客

2023-12-04 16:09:56 131

原创 Springboot resource 下的excel

【代码】Springboot resource 下的excel。

2023-11-30 10:09:53 354

原创 记低版本okhttp超时会导致死锁

解决方案就简单多了:升级okhttp到3.14.9,虽然目前最新稳定版本为4.9.3,但是OkHttp 4发布,从Java切换到Kotlin。谨慎一点,还是小版本升级吧。作为成员对象,而我们代码中OkHttpClient作为连接池是单例的,这里是对dispatcher做synchronized。在处理一次生产环境cpu拉满问题时,把日志拉下来看发现很多http请求调用出错,项目使用的是okhttp 3.8.1版本。追踪代码发现,在finished的调用方法中,我们方法中使用的是异步。,就是这里,问题大了,

2023-10-23 16:38:25 1204

原创 redis数据结构

2023-04-19 22:41:16 102 1

原创 分布式系统之CAP理论、BASE理论

任何一个分布式系统只能满足三选二,即只能AP或 CP,必须要有P。

2023-04-18 21:36:32 107

原创 ElasticSearch集群

•分片(shard):索引可以被拆分为不同的部分进行存储,称为分片。在集群环境下,一个索引的不同分片可以拆分到不同的节点中。脑裂问题的出现就是因为从节点在选择主节点上出现分歧导致一个集群出现多个主节点从而使集群分裂,使得集群处于异常状态。•当Master节点设置的JVM内存较小时,引发JVM的大规模内存回收,造成ES进程失去响应。•副本分片(Replica shard)每个主分片可以有一个或者多个副本,数据和主分片一样。•主分片(Primary shard):相对于副本分片的定义。

2023-04-12 18:21:22 480

原创 ElasticSearch高级操作

1、脚本形式例:#删除5号#新增8号#更新2号 name为2号2、java操作3、从数据库写入数据。

2023-04-12 14:15:21 3835

原创 ElasticSearch入门

将文档进行分词,形成词条和数据id的对应关系即为反向索引。

2023-04-11 17:21:49 594

原创 docker详解

1、定义父镜像:FROMjava:82、定义作者信息:MAINTAINERitheima3、将jar包添加到容器:ADD4、定义容器启动执行的命令:CMD5、通过dockerfile构建镜像:dockerbulid–fdockerfile文件路径–t镜像名称版本。

2023-04-10 14:47:59 869 2

原创 RabbitMQ高级特性

rabbitmq 整个消息投递的路径为:producer----->exchange--->queue--->consumerconfirm 确认模式消息从 producer 到exchange则会返回一个 confirmCallback。(1)设置publisher-confirms="true" 开启 确认模式(2)使用rabbitTemplate设置回调函数。当消息发送到exchange后回调confirm方法。在方法中判断ack,如果为true。

2023-04-06 18:59:22 504

原创 SpringCloud 使用sentinel

业务需求是有限支付和更新订单的业务,因此当修改订单业务触发阈值时,需要对查询订单业务限流。RequestOriginParser来填写(比如在请求header上添加值来区分是网关过来的请求还是直接访问的服务的请求)1、慢调用比例:超过指定时长的调用为慢调用,统计单位时长内慢调用的比例,超过阈值则熔断。直接:统计当前资源的请求,触发阈值时对当前资源直接限流,也是默认的模式。链路:统计从指定链路访问到本资源的请求触发阈值时,对指定链路限流。关联:统计与当前资源相关的另一个资源触发阈值时,对当前资源限流。

2023-04-03 14:45:21 1093 2

原创 SpringCloud sleuth+zipkin实现服务链路追踪

二、启动 zipkin-server-2.12.9-exec.jar。因为zipkin已经依赖了sleuth,所以sleuth可不添加。

2023-03-30 15:18:17 73

原创 SpringCloud gateway网关

【代码】SpringCloud网关配置简单示例。

2023-03-29 20:12:14 117

转载 nacos集群搭建

nacos集群搭建_胡尚的博客-CSDN博客

2023-03-29 12:18:52 53

原创 SpringBoot启动流程分析

打印banner:可以resource下粘贴自定义的banner。执行refreshContext方法后才真正创建Bean。配置启动引导类(判断是否有启动主类)创建应用上下文context。获取初始化类、监听器类。判断是否是Web环境。

2023-03-28 14:21:46 59

原创 SpringBoot事件监听机制

2、ApplicationContextInitializer的使用要在resource文件夹下添加META-INF/spring.factories。1、ApplicationRunner和CommandLineRunner都是当项目启动后执行,使用@Component放入容器即可使用。SpringBoot 在项目启动时,会对几个监听器进行回调,我们可以实现这些监听器接口,在项目启动时完成一些操作。3、SpringApplicationRunListener的使用要添加构造器。

2023-03-28 12:09:33 179

原创 SpringBoot自动配置

(3)导入 ImportSelector 实现类 @Import(MyImportSelector.class)2.可以使用@Import注解,加载类。(2)导入配置类——@Import(UserConfig.class)@Enable* 底层依赖于@Import注解导入一些类。(1)导入Bean——@Import(User.class)获取自动配置类的路径),在配置类里面使用。获取所有需要自动装配的配置类的路径。作用就是收集需要导入的配置类。,获取注入类的方法是。

2023-03-27 20:23:26 574

原创 SpringBoot配置加载说明

一、项目内部配置文件加载顺序SpringBoot配置文件(application.yml)加载顺序及优先级为: 优先级从上至下依次降低。

2023-03-27 13:37:24 122

原创 Redis删除策略和淘汰策略

当key设置有过期时间,且过期时间到达时,由定时器任务立即执行对键的删除操作。对每个redis库逐一进行检测,每次执行耗时:250ms/server.hz。(2)如果一轮中删除的key的数量>W*25%,循环该过程。Redis启动服务器初始化时,读取配置server.hz的值,默认为10。(3)如果一轮中删除的key的数量≤W。数据到达过期时间,不做处理。(1)如果key超时,删除key。对某个库检测时,随机挑选W个key检测。2. 发现已过期,删除,返回不存在。1. 如果未过期,则返回数据。

2023-03-23 15:50:59 921

原创 ZooKeeper集群说明

•在Leader选举的过程中,如果某台ZooKeeper,获得了超过半数的选票,则此ZooKeeper就可以成为Leader了。服务器中存放的最大数据ID.值越大说明数据越新,在选举算法中数据越新权重越大。​ 1. 处理客户端非事务请求,转发事务请求给Leader服务器。1. 处理客户端非事务请求,转发事务请求给Leader服务器。​ 2. 集群内部各服务器的调度者(数据同步等)比如有三台服务器,编号分别是1,2,3。•Serverid:服务器ID。•Zxid:数据ID。

2023-03-23 14:04:54 307

原创 ZooKeeper实现分布式锁

4.如果发现比自己小的那个节点被删除,则客户端的Watcher会收到相应通知,此时再次判断自己创建的节点是否是lock子节点中序号最小的,如果是则获取到了锁,如果不是则重复以上步骤继续获取到比自己小的一个节点,并注册监听。3.如果发现自己创建的节点并非lock所有子节点中最小的,说明自己还没有获取到锁,此时客户端需要找到比自己小的那个节点,同时对其注册事件监听器,监听删除事件。核心思想:当客户端要获取锁,则创建节点,使用完锁,则删除该节点。1.客户端获取锁时,在lock节点下创建临时顺序节点。

2023-03-23 13:22:41 590

原创 ZooKeeper 介绍

ZooKeeper 是一个树形目录服务,每个节点(ZNode)上可以保存自己的数据和节点信息。节点可以拥有子节点,同时也允许少量(1MB)数据存储在该节点之下。create -e /节点path value 创建临时节点。create -s /节点path value 创建顺序节点。deleteall /节点path 删除带有子节点的节点。create /节点path value 创建节点。set /节点path value 设置节点值。get /节点path 获取节点值。ls /目录 查看目录下的节点。

2023-03-23 11:22:10 312

原创 Dubbo 特性介绍

使用timeout属性配置超时时间,默认值1000,单位毫秒,建议配置在服务提供者,因为只有服务提供者确切的知执行要花多长时间。如果消费者之前访问过相关服务,会将地址缓存在本地,不会再经过注册中心,因此可以访问。dubbo中使用version属性来设置和调用同一个接口的不同版本。通过retries属性来设置重试次数。注册中心挂了,服务是否还能正常访问?

2023-03-14 15:46:30 162

原创 mysql锁介绍

mysql锁介绍

2023-03-09 13:48:06 240

原创 mysql常用存储引擎介绍

mysql常用存储引擎介绍

2023-03-08 11:37:52 238

原创 mysql视图

mysql视图

2023-03-07 10:08:19 40

原创 java基本数据类型取值范围

java基本数据类型取值范围

2023-03-06 14:13:24 4496

原创 Servlet中八个监听器介绍

java Servlet中八个监听器介绍

2023-03-06 12:38:59 1082

原创 Web常见返回状态码

Web常见返回状态码

2023-02-27 14:49:06 249

原创 java servlet详解

java servlet详解

2023-02-23 16:34:43 559

原创 linux shell脚本详解

linux shell脚本详解

2023-02-21 15:56:12 101

原创 Java 自定义注解详解

Java 自定义注解详解

2023-02-15 15:28:23 845

原创 Java枚举类详解

5、枚举类的第一行上必须是枚举项,最后一个枚举项后的分号是可以省略的,但是如果枚举类有其他的东西,这个分号就不能省略。7、枚举类也可以有抽象方法,但是枚举项必须重写该方法。3、每一个枚举项其实就是该枚举的一个对象。4、枚举也是一个类,也可以去定义成员变量。比较两个枚举项,返回的是索引值的差值。获取指定枚举类中的指定名称的枚举值。6、枚举类可以有构造器,但必须是。返回枚举项在枚举类中的索引值。枚举项的用法比较特殊:枚举。

2023-02-15 11:47:24 486

原创 Java反射相关知识

Java反射知识总结

2023-02-06 21:02:17 466 1

原创 java类加载过程

如果一个类加载器收到了类加载请求,它并不会自己先去加载,而是把这个请求委托给父类的加载器去执行,如果父类加载器还存在其父类加载器,则进一步向上委托,依次递归,请求最终将到达顶层的启动类加载器,如果父类加载器可以完成类加载任务,就成功返回,倘若父类加载器无法完成此加载任务,子加载器才会尝试自己去加载,这就是双亲委派模式。Systemclassloader:系统类加载器,负责加载用户类路径上所指定的类库,父加载器为Platform。总共分为5步:加载、验证、准备、解析、初始化。5、初始化某个类的子类。

2022-11-28 21:23:27 516

原创 TCP三次握手和四次挥手

三次握手四次挥手。

2022-11-23 16:43:48 122

原创 UDP三种通讯方式

UDP三种通讯方式

2022-11-23 15:49:58 1935

原创 java 多线程死锁

多线程死锁是指由于两个或者多个线程互相持有对方所需要的资源,导致这些线程处于等待状态,无法前往执行。什么情况下会产生死锁?

2022-08-29 16:01:58 101

原创 Java IO流详解

Java IO流详解

2022-08-18 16:28:14 309

vue devtools编译完成的扩展程序

此压缩包为vue devtools编译完成的文件,可以直接在chorme上用扩展程序安装

2019-03-21

java word转pdf需要的jar包

本资源为java利用aspose工具将word转为pdf需要用到的jar包

2019-03-19

空空如也

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

TA关注的人

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