07 2023 档案

摘要:CompletableFuture进阶篇-外卖商家端API的异步化 背景 为何需要并行加载 并行加载的实现方式 同步模型 NIO异步模型 为什么会选择CompletableFuture? CompletableFuture使用与原理 CompletableFuture的背景和定义 Completab 阅读全文
posted @ 2023-07-28 13:59 甜菜波波 阅读(53) 评论(0) 推荐(0) 编辑
摘要:** clickhouse SQL语法(一) ** 1.更改表名 将A表名字改为B RENAME TABLE A TO B 2.更改字段类型 将A表的NAME列改为String类型 ALTER TABLE A MODIFY COLUMN NAME String; 3.删除部分数据 删除A表中Vin是 阅读全文
posted @ 2023-07-28 13:51 甜菜波波 阅读(177) 评论(0) 推荐(0) 编辑
摘要:文章目录 前言 一、通过删除表分区的方式 二、执行delete方式 三、执行truncate方式 四、设置表数据生命周期 五、删除数据文件目录 总结 前言 clickhouse数据库清理数据的方式很多,每种方式都各有自己的优缺点,请根据实际需要采用适合自己的方式,下面逐一介绍。 一、通过删除表分区的 阅读全文
posted @ 2023-07-28 13:50 甜菜波波 阅读(5509) 评论(0) 推荐(0) 编辑
摘要:clickhouse集群主要有两个作用,一是数据副本,也就是将数据冗余到另外的机器上,用于保证高可用;二是分布表,就是将一个表的数据分散到多个节点上保存,然后再通过Distributed表引擎将数据拼接起来作为一个完整的表使用。 创建分布式表: 1.查看clickhouse 默认的集群配置 SELE 阅读全文
posted @ 2023-07-28 11:18 甜菜波波 阅读(610) 评论(0) 推荐(0) 编辑
摘要:技术标签: 大数据开发 分布式 数据库 大数据 flink ClickHouse创建分布式表 当数据量剧增的时候,clickhouse是采用分片的方式进行数据的存储的,类似于redis集群的实现方式。然后想进行统一的查询的时候,因为涉及到多个本地表,可以通过分布式表的方式来提供统一的入口。由于是涉及 阅读全文
posted @ 2023-07-28 10:38 甜菜波波 阅读(603) 评论(0) 推荐(0) 编辑
摘要:创建本地表:CREATE TABLE default.xx on cluster default ( `id` Int64 COMMENT 'id', `plate_code` Nullable(String) COMMENT '板块编号', `plate_name` Nullable(String 阅读全文
posted @ 2023-07-28 10:38 甜菜波波 阅读(249) 评论(0) 推荐(0) 编辑
摘要:目录 依赖添加 实体类: OSS配置类: OSSUtil工具类: OSS上传接口类: OSS上传接口实现类: OSS上传控制类: 工具类: 依赖添加 在Maven的pom.xml文件中添加OSS的依赖: <!--阿里云OSS--> <dependency> <groupId>com.aliyun.o 阅读全文
posted @ 2023-07-27 11:13 甜菜波波 阅读(2433) 评论(0) 推荐(0) 编辑
摘要:1.工具類用途?java 該工具類主要用於那些沒有納入spring框架管理的類卻要調用spring容器中的bean提供的工具類,在spring中要經過IOC依賴注入來取得對應的對象,可是該類經過實現ApplicationContextAware接口,以靜態變量保存Spring Application 阅读全文
posted @ 2023-07-21 16:25 甜菜波波 阅读(38) 评论(0) 推荐(0) 编辑
摘要:解题思路:JAVA8使用stream()根据类型对List进行分组统计。 核心功能代码片段: //分组求和 Map<String, LongSummaryStatistics> collect = list.stream().collect( Collectors.groupingBy(Fruit: 阅读全文
posted @ 2023-07-21 15:55 甜菜波波 阅读(1531) 评论(0) 推荐(0) 编辑
摘要:我有一个函数 ( findByNames) 接受传播参数,如下例所示: List<Users> findByNames(String... names) { ... } 作为参数,我有一个列表: List<String> names = asList("john","abraham"); 所以我想将 阅读全文
posted @ 2023-07-19 13:59 甜菜波波 阅读(1312) 评论(0) 推荐(0) 编辑
摘要:使用jdk8的stream流(基本实现分组靠Collectors.goupingby),list自带的sort()方法排序,话不多说,代码如下: List<User> list = Arrays.asList(new User("1","小明","2","一年级"), new User("2","小 阅读全文
posted @ 2023-07-19 13:58 甜菜波波 阅读(266) 评论(0) 推荐(0) 编辑
摘要:Redis中opsForValue()方法的使用 1、set(K key, V value) 新增一个字符串类型的值,key是键,value是值。 redisTemplate.opsForValue().set("stringValue","bbb"); 2、get(Object key) 获取ke 阅读全文
posted @ 2023-07-19 13:57 甜菜波波 阅读(1600) 评论(0) 推荐(2) 编辑
摘要:setIfAbsent( key, value) 1.如果键不存在则新增,存在则不改变已经有的值。 2.存在返回 false,不存在返回 true。 3.boolean lock = redisTemplate.opsForValue().setIfAbsent("testKey","123"); 阅读全文
posted @ 2023-07-19 13:56 甜菜波波 阅读(2793) 评论(0) 推荐(0) 编辑
摘要:ClickHouse本身对update的执行是低效的,因为ClickHouse的MergeTree存储一旦生成一个Data Part,这个Part就不支持更改,而是需要删除旧Part, 重写整个Part。所以从MergeTree存储内核层面,ClickHouse就不擅长做数据更新删除操作。 本文讲述 阅读全文
posted @ 2023-07-19 13:55 甜菜波波 阅读(4148) 评论(0) 推荐(0) 编辑
摘要:mybaits 中没有 else 要用 chose when otherwise 代替 下面就是MyBatis中的if....else...表示方法 <choose> <when test=""> //... </when> <otherwise> //... </otherwise> </choo 阅读全文
posted @ 2023-07-19 13:54 甜菜波波 阅读(347) 评论(0) 推荐(0) 编辑
摘要:使用Parallel Stream时,在适当的环境中,通过适当地使用并行度级别,可以在某些情况下获得性能提升。 如果程序创建一个自定义ThreadPool,必须记住调用它的shutdown()方法来避免内存泄漏。 Parallel Stream默认使用的线程池 如下代码示例,Parallel Str 阅读全文
posted @ 2023-07-19 13:52 甜菜波波 阅读(1210) 评论(0) 推荐(0) 编辑
摘要:定义: Stream(流)是JDK8中引入的一种类似与迭代器(Iterator)的单向迭代访问数据的工具。ParallelStream则是并行的流,它通过Fork/Join 框架(JSR166y)来拆分任务,加速流的处理过程。最开始接触parallelStream很容易把其当做一个普通的线程池使用, 阅读全文
posted @ 2023-07-19 13:49 甜菜波波 阅读(685) 评论(0) 推荐(0) 编辑
摘要:前言 现在大多项目都是使用Mybatis了,但也有些公司使用Hibernate。使用Mybatis最大的特性就是sql需要自己写,而写sql就需要传递多个参数。面对各种复杂的业务场景,传递参数也是一种学问。 下面给大家总结了以下几种多参数传递的方法。 方法1:顺序传参法(不推荐) #{}里面的数字代 阅读全文
posted @ 2023-07-19 13:49 甜菜波波 阅读(170) 评论(0) 推荐(0) 编辑
摘要:CREATE DATABASE IF NOT EXISTS test_database; DROP table if exists product_id; CREATE TABLE product_id ( factory_goods_id UInt32 COMMENT '工厂商品ID', good 阅读全文
posted @ 2023-07-18 18:29 甜菜波波 阅读(159) 评论(0) 推荐(0) 编辑
摘要:在某些特殊的场景下,我们需要在 Java 程序中对 List 集合进行排序操作。比如从第三方接口中获取所有用户的列表,但列表默认是以用户编号从小到大进行排序的,而我们的系统需要按照用户的年龄从大到小进行排序,这个时候,我们就需要对 List 集合进行自定义排序操作了。 ​ List 排序的常见方法有 阅读全文
posted @ 2023-07-12 18:07 甜菜波波 阅读(3307) 评论(0) 推荐(0) 编辑
摘要:提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Stream - 实现分组后,且每个分组也进行排序 前言 一、groupingBy高级用法 二、先分组,再排序 总结 前言 之前记录过:stream的三个常用方式(toMap,groupingBy,findFirst)。 这里继续记录 阅读全文
posted @ 2023-07-12 17:38 甜菜波波 阅读(7246) 评论(0) 推荐(0) 编辑
摘要:CompletableFuture 前言 CompletableFuture继承于java.util.concurrent.Future,它本身具备Future的所有特性,并且基于JDK1.8的流式编程以及Lambda表达式等实现一元操作符、异步性以及事件驱动编程模型,可以用来实现多线程的串行关系, 阅读全文
posted @ 2023-07-12 14:34 甜菜波波 阅读(291) 评论(0) 推荐(0) 编辑
摘要:一、什么是流? Stream是java8中新增加的一个特性,首先Stream 不是集合元素,它不是数据结构并不保存数据,它是有关算法和计算的,它更像一个高级版本的 Iterator。原始版本的 Iterator,用户只能显式地一个一个遍历元素并对其执行某些操作;高级版本的 Stream,用户只要给出 阅读全文
posted @ 2023-07-12 14:00 甜菜波波 阅读(2231) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2023-07-11 17:42 甜菜波波 阅读(0) 评论(0) 推荐(0) 编辑
摘要:消息持久化 队列持久化 交换机持久化 ExchangeBuilder.directExchange("normalExchange").build(); 1 消费者ack确认 multiple:批量 比如批量确认: 当multiple的值设置为true时,RabbitMQ将确认指定传输标签以及之前所 阅读全文
posted @ 2023-07-11 14:56 甜菜波波 阅读(64) 评论(0) 推荐(0) 编辑
摘要:1.查看日志(获得指定版本号;回车查看更多,q退出) git log 2.回退到指定版本 git reset --soft 指定版本ID 3.再次推送到远程 git push origin master --force 阅读全文
posted @ 2023-07-10 15:08 甜菜波波 阅读(972) 评论(0) 推荐(0) 编辑
摘要:parallelStream默认使用了fork-join框架,其默认线程数是CPU核心数。通过测试实践,发现有两种方法来修改默认的多线程数量:1、全局设置在运行代码之前,加入如下代码:System.setProperty("java.util.concurrent.ForkJoinPool.comm 阅读全文
posted @ 2023-07-06 11:14 甜菜波波 阅读(1349) 评论(0) 推荐(0) 编辑
摘要:方法1: clickhouse使用pageHelper 最近项目数据库从musql 变更到clickhouse 之后发现许多接口都报错了 发现是pageHelper的原因。 查看clickHouse分页语法 ,发现是和mysql一样的,因此,只需要将项目启动的时候,将clickhouse分页方言配置 阅读全文
posted @ 2023-07-06 11:13 甜菜波波 阅读(417) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示