博客园 - 乐之者v
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=50940
2024-03-27T15:33:43Z
乐之者v
https://www.cnblogs.com/expiator/
feed.cnblogs.com
https://www.cnblogs.com/expiator/p/18100578
dump文件分析OOM及线程堆栈 - 乐之者v
OutOfMemoryError (OOM) 如果项目报错: OutOfMemoryError: Java heap space,说明堆内存空间(Heap Space)中没有足够的空间来分配对象了。 一旦发生 OOM,系统有可能不可用,或者频繁重启。属于非常严重的问题。 OOM 的解决方法一: 比较
2024-03-27T15:34:00Z
2024-03-27T15:34:00Z
乐之者v
https://www.cnblogs.com/expiator/
【摘要】OutOfMemoryError (OOM) 如果项目报错: OutOfMemoryError: Java heap space,说明堆内存空间(Heap Space)中没有足够的空间来分配对象了。 一旦发生 OOM,系统有可能不可用,或者频繁重启。属于非常严重的问题。 OOM 的解决方法一: 比较 <a href="https://www.cnblogs.com/expiator/p/18100578" target="_blank">阅读全文</a>
https://www.cnblogs.com/expiator/p/18085786
feign设置超时时间 - 乐之者v
引入依赖包 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> <version>2.0.2.RELEASE</versio
2024-03-20T09:55:00Z
2024-03-20T09:55:00Z
乐之者v
https://www.cnblogs.com/expiator/
【摘要】引入依赖包 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> <version>2.0.2.RELEASE</versio <a href="https://www.cnblogs.com/expiator/p/18085786" target="_blank">阅读全文</a>
https://www.cnblogs.com/expiator/p/18082716
idea import的maven类报红 - 乐之者v
idea 报红/显示红色的原因 一般报红,显示红色,是因为 idea 在此路径下,找不到这个类。 找到是哪个 jar 包的类导致 idea 报红 点击报红的路径的上一层,进入jar 包。比如: import com.aaa.bbb.ccc.DddDto; 这个 import 的 ccc 这个词报红,
2024-03-19T06:11:00Z
2024-03-19T06:11:00Z
乐之者v
https://www.cnblogs.com/expiator/
【摘要】idea 报红/显示红色的原因 一般报红,显示红色,是因为 idea 在此路径下,找不到这个类。 找到是哪个 jar 包的类导致 idea 报红 点击报红的路径的上一层,进入jar 包。比如: import com.aaa.bbb.ccc.DddDto; 这个 import 的 ccc 这个词报红, <a href="https://www.cnblogs.com/expiator/p/18082716" target="_blank">阅读全文</a>
https://www.cnblogs.com/expiator/p/18079849
feign请求添加拦截器 - 乐之者v
引入依赖包 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> <version>2.0.2.RELEASE</versio
2024-03-18T02:38:00Z
2024-03-18T02:38:00Z
乐之者v
https://www.cnblogs.com/expiator/
【摘要】引入依赖包 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> <version>2.0.2.RELEASE</versio <a href="https://www.cnblogs.com/expiator/p/18079849" target="_blank">阅读全文</a>
https://www.cnblogs.com/expiator/p/18047262
策略模式代码示例(二) - 乐之者v
一、定义 策略模式,针对每一个不同的类型,调用具有共同接口的不同实现类,从而使得它们可以相互替换。 策略模式 ,针对实现同一接口的不同的类,采用不同的策略。比如,面对高级会员、初级会员会采用不同的折扣。 策略模式,可以避免大量的if和else。 二、角色 策略模式涉及到三个角色: ● 环境(Cont
2024-03-01T07:48:00Z
2024-03-01T07:48:00Z
乐之者v
https://www.cnblogs.com/expiator/
【摘要】一、定义 策略模式,针对每一个不同的类型,调用具有共同接口的不同实现类,从而使得它们可以相互替换。 策略模式 ,针对实现同一接口的不同的类,采用不同的策略。比如,面对高级会员、初级会员会采用不同的折扣。 策略模式,可以避免大量的if和else。 二、角色 策略模式涉及到三个角色: ● 环境(Cont <a href="https://www.cnblogs.com/expiator/p/18047262" target="_blank">阅读全文</a>
https://www.cnblogs.com/expiator/p/18040281
统一异常处理@ControllerAdvice及参数校验@Validated - 乐之者v
一、异常处理 有异常就必须处理,通常会在方法后面throws异常,或者是在方法内部进行try catch处理。 直接throws Exception 直接throws Exception,抛的异常太过宽泛,最好能抛出准确的异常,比如throws IOException之类。 User getUser
2024-02-28T06:24:00Z
2024-02-28T06:24:00Z
乐之者v
https://www.cnblogs.com/expiator/
【摘要】一、异常处理 有异常就必须处理,通常会在方法后面throws异常,或者是在方法内部进行try catch处理。 直接throws Exception 直接throws Exception,抛的异常太过宽泛,最好能抛出准确的异常,比如throws IOException之类。 User getUser <a href="https://www.cnblogs.com/expiator/p/18040281" target="_blank">阅读全文</a>
https://www.cnblogs.com/expiator/p/18026474
电商业务知识总结(三)--退货退款 - 乐之者v
退款 退款的相关属性: 退款单号,订单号,子订单号,退款状态,退款金额,用户id,用户名称,支付方式,退款的银行流水号,退款原因,退款完成时间。 类型: 退款可以分为 仅退款、退货退款。 状态机: 待审核、审核驳回、退款处理中、退款完成。 一般情况,不建议有 退款失败 的状态,可以用 退款处理中。退
2024-02-21T16:29:00Z
2024-02-21T16:29:00Z
乐之者v
https://www.cnblogs.com/expiator/
【摘要】退款 退款的相关属性: 退款单号,订单号,子订单号,退款状态,退款金额,用户id,用户名称,支付方式,退款的银行流水号,退款原因,退款完成时间。 类型: 退款可以分为 仅退款、退货退款。 状态机: 待审核、审核驳回、退款处理中、退款完成。 一般情况,不建议有 退款失败 的状态,可以用 退款处理中。退 <a href="https://www.cnblogs.com/expiator/p/18026474" target="_blank">阅读全文</a>
https://www.cnblogs.com/expiator/p/18026472
电商业务知识总结(二)--订单和支付 - 乐之者v
一、订单 订单相关属性: 订单号、子订单号、订单类型、订单状态、用户id、用户名称、单价、数量、总价、支付方式、支付时间、订单备注、运费等。 订单号和订单状态、支付方式,是比较重要的属性。 一个订单,可能会有多个子订单。 状态机: 订单状态:待支付、已支付、超时、取消、完成、关闭。 如果需要发货和收
2024-02-21T16:29:00Z
2024-02-21T16:29:00Z
乐之者v
https://www.cnblogs.com/expiator/
【摘要】一、订单 订单相关属性: 订单号、子订单号、订单类型、订单状态、用户id、用户名称、单价、数量、总价、支付方式、支付时间、订单备注、运费等。 订单号和订单状态、支付方式,是比较重要的属性。 一个订单,可能会有多个子订单。 状态机: 订单状态:待支付、已支付、超时、取消、完成、关闭。 如果需要发货和收 <a href="https://www.cnblogs.com/expiator/p/18026472" target="_blank">阅读全文</a>
https://www.cnblogs.com/expiator/p/18026471
电商业务知识总结(一) - 乐之者v
商城的业务 电商、店铺、商品、营销、券、会员、积分、内容(feed流、信息流)、停车。 搞清楚业务,需要弄清楚 业务对象属性 以及 业务之间的关联关系。 会员: 会员级别,会员优惠,会员信息。 会员对象属性:会员id,会员级别,性别,生日,状态。 登录: 注册、登录、验证码、短信、一键登录、单点登录
2024-02-21T16:28:00Z
2024-02-21T16:28:00Z
乐之者v
https://www.cnblogs.com/expiator/
【摘要】商城的业务 电商、店铺、商品、营销、券、会员、积分、内容(feed流、信息流)、停车。 搞清楚业务,需要弄清楚 业务对象属性 以及 业务之间的关联关系。 会员: 会员级别,会员优惠,会员信息。 会员对象属性:会员id,会员级别,性别,生日,状态。 登录: 注册、登录、验证码、短信、一键登录、单点登录 <a href="https://www.cnblogs.com/expiator/p/18026471" target="_blank">阅读全文</a>
https://www.cnblogs.com/expiator/p/18019976
Spring/SpringBoot 拦截器 - 乐之者v
Spring/SpringBoot 拦截器 拦截器的作用: 拦截器,可以进行请求过滤、权限管理、打印日志、数据校验等。 拦截器,可以在请求前、请求后进行处理。 代码示例: 拦截器 MyInterceptor: Spring的拦截器,需要实现 HandlerInterceptor 接口。 public
2024-02-18T13:24:00Z
2024-02-18T13:24:00Z
乐之者v
https://www.cnblogs.com/expiator/
【摘要】Spring/SpringBoot 拦截器 拦截器的作用: 拦截器,可以进行请求过滤、权限管理、打印日志、数据校验等。 拦截器,可以在请求前、请求后进行处理。 代码示例: 拦截器 MyInterceptor: Spring的拦截器,需要实现 HandlerInterceptor 接口。 public <a href="https://www.cnblogs.com/expiator/p/18019976" target="_blank">阅读全文</a>
https://www.cnblogs.com/expiator/p/18014511
团队管理--程序员值班 - 乐之者v
值班 项目组每天都会面临一些生产问题/咨询问题,需要研发人员去定位处理,要安排人员值班。 由谁对接用户 并不是说研发值班,就一定要由研发去对接用户。 不要让研发直接跟用户对接!!! 否则研发人员的工作效率会受到极大的影响,研发每天都会因此浪费大量的时间。解答一个问题,可能又会问多一些问题,没完没了,
2024-02-13T04:47:00Z
2024-02-13T04:47:00Z
乐之者v
https://www.cnblogs.com/expiator/
【摘要】值班 项目组每天都会面临一些生产问题/咨询问题,需要研发人员去定位处理,要安排人员值班。 由谁对接用户 并不是说研发值班,就一定要由研发去对接用户。 不要让研发直接跟用户对接!!! 否则研发人员的工作效率会受到极大的影响,研发每天都会因此浪费大量的时间。解答一个问题,可能又会问多一些问题,没完没了, <a href="https://www.cnblogs.com/expiator/p/18014511" target="_blank">阅读全文</a>
https://www.cnblogs.com/expiator/p/18012557
策略模式的代码实践示例 - 乐之者v
一、定义 策略模式,针对每一个不同的类型,调用具有共同接口的不同实现类,从而使得它们可以相互替换。 策略模式 ,针对实现同一接口的不同的类,采用不同的策略。比如,面对高级会员、初级会员会采用不同的折扣。 策略模式,可以避免大量的if和else。 二、角色 策略模式涉及到三个角色: ● 环境(Cont
2024-02-09T09:35:00Z
2024-02-09T09:35:00Z
乐之者v
https://www.cnblogs.com/expiator/
【摘要】一、定义 策略模式,针对每一个不同的类型,调用具有共同接口的不同实现类,从而使得它们可以相互替换。 策略模式 ,针对实现同一接口的不同的类,采用不同的策略。比如,面对高级会员、初级会员会采用不同的折扣。 策略模式,可以避免大量的if和else。 二、角色 策略模式涉及到三个角色: ● 环境(Cont <a href="https://www.cnblogs.com/expiator/p/18012557" target="_blank">阅读全文</a>
https://www.cnblogs.com/expiator/p/18009039
nacos注册中心调用服务失败 - 乐之者v
nacos注册中心调用服务失败 最近同事反馈后台的接口,一会可以调通,一会又报错,反复无常。 于是进入配置好的 nacos 注册中心的管理界面,从 服务管理 -- 服务列表,打开对应的服务,显示如下: 发现有两个 ip,明显一个是开发/测试环境,一个是本地启动的 ip, 将本地的 ip 点击 【下线
2024-02-05T16:01:00Z
2024-02-05T16:01:00Z
乐之者v
https://www.cnblogs.com/expiator/
【摘要】nacos注册中心调用服务失败 最近同事反馈后台的接口,一会可以调通,一会又报错,反复无常。 于是进入配置好的 nacos 注册中心的管理界面,从 服务管理 -- 服务列表,打开对应的服务,显示如下: 发现有两个 ip,明显一个是开发/测试环境,一个是本地启动的 ip, 将本地的 ip 点击 【下线 <a href="https://www.cnblogs.com/expiator/p/18009039" target="_blank">阅读全文</a>
https://www.cnblogs.com/expiator/p/18005449
kafak入门(十一):Kafka怎么保证可靠性? - 乐之者v
Kafka可靠性分析 多副本。 就Kafka而言,越多的副本数越能够保证数据的可靠性,副本数可以在创建主题时配置,也可以在后期修改,不过副本数越多也会引起磁盘、网络带宽的浪费,同时会引起性能的下降。一般而言,设置副本数为3即可满足绝大多数场景对可靠性的要求。部分业务比如银行对可靠性要求比较高,会副本
2024-02-03T16:10:00Z
2024-02-03T16:10:00Z
乐之者v
https://www.cnblogs.com/expiator/
【摘要】Kafka可靠性分析 多副本。 就Kafka而言,越多的副本数越能够保证数据的可靠性,副本数可以在创建主题时配置,也可以在后期修改,不过副本数越多也会引起磁盘、网络带宽的浪费,同时会引起性能的下降。一般而言,设置副本数为3即可满足绝大多数场景对可靠性的要求。部分业务比如银行对可靠性要求比较高,会副本 <a href="https://www.cnblogs.com/expiator/p/18005449" target="_blank">阅读全文</a>
https://www.cnblogs.com/expiator/p/17993198
Notepad 将多行转换成字符串,合并成一行 - 乐之者v
notepad 将多行转换成字符串,合并成一行 (1) 快捷键 ctrl+ H ,选择 【替换】, (2) 【查找目标】,输入 \r\n , 这个正则表达式的含义是 换行回到行首,相当于 windows的 enter 键: \r(即 CR,Carriage Return)表示回车,使光标到行首; \
2024-01-28T11:36:00Z
2024-01-28T11:36:00Z
乐之者v
https://www.cnblogs.com/expiator/
【摘要】notepad 将多行转换成字符串,合并成一行 (1) 快捷键 ctrl+ H ,选择 【替换】, (2) 【查找目标】,输入 \r\n , 这个正则表达式的含义是 换行回到行首,相当于 windows的 enter 键: \r(即 CR,Carriage Return)表示回车,使光标到行首; \ <a href="https://www.cnblogs.com/expiator/p/17993198" target="_blank">阅读全文</a>
https://www.cnblogs.com/expiator/p/17991000
Notepad在文件中查找多行相同内容的文字 - 乐之者v
Notepad在文件中查找多行相同的内容 查找:打开 Notepad++软件, Ctrl F 查找 。输入关键词, 点击【在当前文件中查找】。 复制:直接在下方的【搜索结果】复制。 Notepad++提取含有特定字符串的行 详情见: https://blog.csdn.net/sinat_32502
2024-01-26T16:36:00Z
2024-01-26T16:36:00Z
乐之者v
https://www.cnblogs.com/expiator/
【摘要】Notepad在文件中查找多行相同的内容 查找:打开 Notepad++软件, Ctrl F 查找 。输入关键词, 点击【在当前文件中查找】。 复制:直接在下方的【搜索结果】复制。 Notepad++提取含有特定字符串的行 详情见: https://blog.csdn.net/sinat_32502 <a href="https://www.cnblogs.com/expiator/p/17991000" target="_blank">阅读全文</a>
https://www.cnblogs.com/expiator/p/17985986
kafka为什么不支持读写分离? - 乐之者v
在kafka中,生产者写入消息,消费者读取消息的操作都是与 leader 副本进行交互的,从而实现的是一种主写主读的生产消费模型。kafka不支持读写分离,也就是主写从读。 读写分离有以下不足: (1) 主从延时。类似 Redis ,数据从写入主节点,再同步到从节点中的过程需要耗费一些时间。如果对延
2024-01-24T14:15:00Z
2024-01-24T14:15:00Z
乐之者v
https://www.cnblogs.com/expiator/
【摘要】在kafka中,生产者写入消息,消费者读取消息的操作都是与 leader 副本进行交互的,从而实现的是一种主写主读的生产消费模型。kafka不支持读写分离,也就是主写从读。 读写分离有以下不足: (1) 主从延时。类似 Redis ,数据从写入主节点,再同步到从节点中的过程需要耗费一些时间。如果对延 <a href="https://www.cnblogs.com/expiator/p/17985986" target="_blank">阅读全文</a>
https://www.cnblogs.com/expiator/p/17978601
kafka入门(十):副本数据同步 - 乐之者v
副本 副本(Replica),指的是分布式系统对数据和服务提供的一种冗余方式。 Kafka通过多副本机制实现故障自动转移,在Kafka集群中某个broker节点失效的情况下仍然保证服务可用。 失效副本 在ISR集合之外,也就是处于同步失效或功能失效(比如副本处于非存活状态)的副本统称为失效副本,失效
2024-01-21T14:34:00Z
2024-01-21T14:34:00Z
乐之者v
https://www.cnblogs.com/expiator/
【摘要】副本 副本(Replica),指的是分布式系统对数据和服务提供的一种冗余方式。 Kafka通过多副本机制实现故障自动转移,在Kafka集群中某个broker节点失效的情况下仍然保证服务可用。 失效副本 在ISR集合之外,也就是处于同步失效或功能失效(比如副本处于非存活状态)的副本统称为失效副本,失效 <a href="https://www.cnblogs.com/expiator/p/17978601" target="_blank">阅读全文</a>
https://www.cnblogs.com/expiator/p/17977029
kafka入门(九):kafka分区分配策略 - 乐之者v
kafka分区分配策略 参数: Kafka提供了消费者客户端参数partition.assignment.strategy来设置消费者与订阅主题之间的分区分配策略。 默认情况下,此参数的值为 org.apache.kafka.clients.consumer.RangeAssignor,即采用Ran
2024-01-20T11:36:00Z
2024-01-20T11:36:00Z
乐之者v
https://www.cnblogs.com/expiator/
【摘要】kafka分区分配策略 参数: Kafka提供了消费者客户端参数partition.assignment.strategy来设置消费者与订阅主题之间的分区分配策略。 默认情况下,此参数的值为 org.apache.kafka.clients.consumer.RangeAssignor,即采用Ran <a href="https://www.cnblogs.com/expiator/p/17977029" target="_blank">阅读全文</a>
https://www.cnblogs.com/expiator/p/17973700
kafka入门(八):副本 - 乐之者v
副本 副本(Replica),指的是分布式系统对数据和服务提供的一种冗余方式。 Kafka通过多副本机制实现故障自动转移,在Kafka集群中某个broker节点失效的情况下仍然保证服务可用。 kafka 副本之间是 一主多从的关系。 其中 leader 副本负责处理读写请求,follower 副本只
2024-01-18T15:49:00Z
2024-01-18T15:49:00Z
乐之者v
https://www.cnblogs.com/expiator/
【摘要】副本 副本(Replica),指的是分布式系统对数据和服务提供的一种冗余方式。 Kafka通过多副本机制实现故障自动转移,在Kafka集群中某个broker节点失效的情况下仍然保证服务可用。 kafka 副本之间是 一主多从的关系。 其中 leader 副本负责处理读写请求,follower 副本只 <a href="https://www.cnblogs.com/expiator/p/17973700" target="_blank">阅读全文</a>