会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
C3Stones
求知若渴,虚心若愚!
首页
新随笔
联系
管理
1
2
3
4
5
···
19
下一页
[置顶]
设计模式目录导航
摘要: 一、面向对象设计六大基本原则 二、创建型模型(5种) 关注对象的创建过程。帮助我们创建对象。 1 单例模式 singleton 保证一个类只有一个实例,并且提供一个访问该实例的全局访问点。 2 工厂模式 factory (1)简单工厂模式 simple factory 用来生产同一等级结构中的任意产
阅读全文
posted @ 2017-11-17 18:34 C3Stones
阅读(628)
评论(0)
推荐(0)
[置顶]
[内排序]八大经典排序合集
摘要: 1 排序的基本概念 假定排序的数据是由一组元素组成的表,而元素由若干个数据项组成,其中有一项可用来标识该元素,称为关键字项,其值称为关键字。关键字可用作排序运算的依据。 1.1 什么是排序 所谓排序,就是整理表中的元素,使之按关键字递增或递减的顺序排列。 1.2 排序的稳定性 当待排序元素的关键字各
阅读全文
posted @ 2017-04-23 21:10 C3Stones
阅读(1776)
评论(0)
推荐(0)
2023年11月2日
Guava中的增强Map - Table、BiMap、Multimap、RangeMap、ClassToInstanceMap
摘要: 1. 简介 日常开发中使用Map时经常会遇到很多复杂的处理场景,例如:多个键的Map、不仅可以根据键获取值也可以根据值获取键且不用遍历、重复键的Map、数字等范围内映射相同的值、内存中缓存对象等,Guava提供了以上场景的解决方案。 场景 解决方案 具体实现 多个键的Map Table HashBa
阅读全文
posted @ 2023-11-02 20:20 C3Stones
阅读(3942)
评论(0)
推荐(0)
2023年6月1日
JSONSQL:使用SQL过滤JSON类型数据(支持多种数据库常用查询、统计、平均值、最大值、最小值、求和语法)
摘要: #### 1. 简介 在开发中,经常需要根据条件过滤大批量的JSON类型数据。如果仅需要过滤这一种类型,将JSON转为List后过滤即可;如果相同的条件既想过滤数据库表中的数据、也想过滤内存中JSON数据,甚至想过滤Elasticsearch中的数据,那可使用本博客中的方案,使用标准的SQL语法实现
阅读全文
posted @ 2023-06-01 19:45 C3Stones
阅读(1179)
评论(0)
推荐(0)
2023年4月7日
ReflectASM高性能反射Java库
摘要: 1. 简介 在日常开发中,经常需要使用反射操作类中的属性或方法。ReflectASM是一个非常小的 Java 库,它提供高性能反射能力。 Github地址:https://github.com/EsotericSoftware/reflectasm 2. 官方性能报告 3. 用法 ==Reflect
阅读全文
posted @ 2023-04-07 22:03 C3Stones
阅读(1196)
评论(0)
推荐(0)
【并发编程】Java7 - ForkJoin,将大任务拆分成小任务
摘要: 1. 简介 Java7提供了可以将大任务拆分成小任务执行再合并结果的框架——Fork/Join。其中,将大任务拆分成足够执行的小任务并发执行的过程称为Fork,将这些小任务结果整合后形成最终的结果的过程称为Join。 Fork/Join框架的具体体现为ForkJoinTask抽象类,该类继承了Fut
阅读全文
posted @ 2023-04-07 22:01 C3Stones
阅读(421)
评论(0)
推荐(0)
2023年3月28日
【并发编程】Guava - ListenableFuture,避免Future获取阻塞问题,增加回调
摘要: 1. 简介 相比Future(【并发编程】Java5 - Future,基本使用),Guava提供的ListenableFuture支持不阻塞主线程进行任务执行完成后的业务处理。 使用Future的实现类FutureTask想要实现一旦获取到结果立即执行后续的业务,就需要阻塞主线程等待结果或者使用其
阅读全文
posted @ 2023-03-28 16:56 C3Stones
阅读(1318)
评论(0)
推荐(0)
【并发编程】Java8 - CompletableFuture,增强版Future
摘要: 1. 简介 CompletableFuture是Java8的新特性,在Future基础上,增加流式计算、函数式编程、完成通知、自定义异常、多个Future组合处理等能力,使得在多线程协同处理时更加顺利。 2. 相关博客 【并发编程】Java5 - Future,基本使用 【并发编程】Java5 -
阅读全文
posted @ 2023-03-28 16:56 C3Stones
阅读(619)
评论(0)
推荐(0)
【并发编程】Java5 - CompletionService,将异步执行与获取结果分离
摘要: 1. 简介 相比Future(【并发编程】Java5 - Future,基本使用),CompletionService除了支持并行执行任务并获取结果外,还支持优先获取到最快执行的任务结果,但CompletionService要求并行执行的任务是无序的。 使用Future的实现类FutureTask获
阅读全文
posted @ 2023-03-28 16:55 C3Stones
阅读(173)
评论(0)
推荐(0)
【并发编程】Java5 - Future,基本使用
摘要: 1. 简介 在使用多线程开发中,不论是继承Thread类还是实现Runnable接口方式,都无法非常方便的获取异步任务执行的结果。在JDK1.5提供了和Runnable类似但多了返回值的Callable接口,通过Future接口实现类和Callable接口方式,可以非常灵活的进行多线程操作,例如:获
阅读全文
posted @ 2023-03-28 16:54 C3Stones
阅读(118)
评论(0)
推荐(0)
【并发编程】Java创建多线程的五种方式
摘要: 1. 继承Thread类 import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; /** * 继承Thread类创建多线程单元测试 * * @author CL */ @Slf4j public class Threa
阅读全文
posted @ 2023-03-28 16:53 C3Stones
阅读(111)
评论(0)
推荐(0)
2023年3月20日
【并发编程】SpringBoot创建线程池的六种方式
摘要: 1. 自定义线程池 1.1 示例代码 /** * 自定义线程池 * <p> * 优点:可以自定义参数 * </p> */ @Test public void testNewThreadPoolExecutor() { ThreadPoolExecutor executor = new ThreadP
阅读全文
posted @ 2023-03-20 22:38 C3Stones
阅读(6126)
评论(0)
推荐(1)
1
2
3
4
5
···
19
下一页
公告