![](https://img-blog.csdnimg.cn/2019092715111047.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java
Java
windfallsheng
这个作者很懒,什么都没留下…
展开
-
只用一次集合遍历实现树形结构,非递归方式
一般情况下,我们想要实现这种无限层级的树形结构,都是采用递归的方式,但是递归比较占用内存,也容易导致栈溢出,于是只能尝试其它的方法。 下面采用的方式,只需要一次集合的遍历就可以实现树形的结构。原创 2023-06-30 14:38:28 · 928 阅读 · 3 评论 -
RxJava简介
ReactiveXReactiveX是一个库,用于使用可观察序列(observable sequence)组合异步和基于事件(event-based)的程序。它扩展了观察者模式(observer pattern),以支持数据和/或事件的序列,并添加了操作符,允许您以声明的方式组合序列,同时抽象出底层线程、同步、线程安全、并发数据结构和非阻塞I/O等问题。ReactiveX是观察者模式、...原创 2019-08-04 20:50:04 · 551 阅读 · 0 评论 -
注解@NotBlank()不生效原因
注解@NotBlank(message = "参数不能为空")没有生效的原因,可能是pom.xml文件中没有加入下面这个依赖包。原创 2023-03-30 20:36:43 · 2279 阅读 · 0 评论 -
OkHttp中的责任链模式的缩略版
package com.windfallsheng.myresponsibilitychain;import java.util.ArrayList;import java.util.List;class Client { public static void main(String[] args) { Client client = new Client(); final List<Interceptor> interceptor...原创 2020-08-06 19:42:44 · 167 阅读 · 0 评论 -
策略模式的应用案例,以即时通信中,对不同类型的消息的构建处理业务为例,结合简单的缓存业务
对于策略模式的概念及优级缺点这里暂不赘述,本文主要以应用实战的角度去讲解。少啰嗦,先上图:在目前的即时通信中,消息的类型多种多样,对于不同的消息类型我们可能需要在不同的代码逻辑分支(if else判断)上去处理,并且随着消息类型的增加随,业务逻辑的扩展,会造成代码的臃肿,难以阅读,难以维护,这个时候我们可以想到的一种应用模式就是“策略模式”。下面进入具体的应用代码示例:pac...原创 2020-03-11 18:50:28 · 406 阅读 · 0 评论 -
Java并发常用类CyclicBarrier、CountDownLatch应用场景示例
CyclicBarrier 类的应用示例:如开启5个线程,在每个线程内部打印输出"Hello World",5个线程先全部输出"Hello",之后再输出"World"。import java.util.concurrent.BrokenBarrierException;import java.util.concurrent.CyclicBarrier;public class Pri...原创 2018-12-21 10:12:45 · 257 阅读 · 2 评论 -
递归求n的阶乘——Java语言描述
public class RecursiveAlgorithm { StringBuffer buffer = new StringBuffer(); public int factorial(int n) { if (n <= 1) { buffer.append(n); System.out.println(buffer.toString()); return...原创 2018-12-19 11:18:45 · 547 阅读 · 0 评论