JVM && JMM && volatile小结
摘要:1. Java内存区域 or JVM内存模型 方法区:属于线程共享区域,主要存储被虚拟机加载的类信息、静态变量、常量等。当方法区无法满足内存分配需求时将抛出outOfMemoryError jvm堆:属于线程共享区域,在虚拟机启动时创建,是java虚拟机所管理的内存中最大的一块,主要存放对象实例。注
阅读全文
posted @
2022-08-16 11:38
colorfulworld
阅读(154)
推荐(0) 编辑
CountDownLatch小结
摘要:countDownLatch作用是使一/多个线程等待其他线程执行完成后再执行,保证线程的执行顺序 countDownLatch定义一个计数器和阻塞队列。当前线程执行await会将他放到阻塞队列中,只有计数器递减至0阻塞队列中线程才会执行;或者在需要阻塞的线程执行await(long timeout,
阅读全文
posted @
2022-07-28 17:38
colorfulworld
阅读(49)
推荐(0) 编辑
Threadpool创建
摘要:线程池基础可以参考 https://www.cnblogs.com/enhance/p/11009997.html 线程池创建方式: newFixedThreadPool: 使用的构造方式为new ThreadPoolExecutor(var0, var0, 0L, TimeUnit.MILLISE
阅读全文
posted @
2022-07-27 18:21
colorfulworld
阅读(144)
推荐(0) 编辑
@Schedule执行定时任务
摘要:@Shcedule默认情况下会单线程顺序执行。如果一个定时任务执行时间大于其任务间隔时间,那么下一次将会等待上一次执行结束后再继续执行。如果多个定时任务在同一时刻执行,任务会依次执行。 1. 单线程顺序执行demo: package com.citi.ark.mls.timer; import lo
阅读全文
posted @
2022-07-25 11:55
colorfulworld
阅读(1484)
推荐(0) 编辑
代理模式 & spring aop具体应用
摘要:无论是代理模式还是AOP核心思想都是在不修改原来业务代码前提下,进行原来代码的增强 一:代理模式 代理作用:代理对象具有真实对象功能(比如真实对象有method1()那么代理对象也具有method1()),并且执行时让代理对象替代真是对象完成相应操作,并能够在执行前后对真实对象操作进行增强处理 代理
阅读全文
posted @
2022-01-17 18:43
colorfulworld
阅读(178)
推荐(0) 编辑
SpringBoot自动配置
摘要:1.什么是springboot自动配置:Auto-Configuration 自动配置值得是基于引入依赖的jar包,对springboot应用进行自动配置。自动配置为springboot框架的“开箱即用”特点提供了基础支撑 demo:在springboot中使用mongodb 引入 implemen
阅读全文
posted @
2022-01-17 10:41
colorfulworld
阅读(2099)
推荐(0) 编辑
kafka offset提交方式
摘要:offset提交: Consumer消费数据后需要向kafka汇报消费的数据在partition offset位置 offset提交方式:自动提交、手动提交 1.自动提交 kafka一poll就自动提交offset 默认情况或者将props.put("enable.auto.commit", "tr
阅读全文
posted @
2022-01-14 13:44
colorfulworld
阅读(1410)
推荐(0) 编辑
Kafka consumer rebalance
摘要:1. kafka rebalance rebalance是针对consumer group来说的。consumer group中有多个consumers,当在服务启动阶段,或者新的consumer创建,或者已有consumer宕机,或者parttion变化的情况下会出现rebalance,使得con
阅读全文
posted @
2022-01-12 11:50
colorfulworld
阅读(171)
推荐(0) 编辑
MongoDB GridFS
摘要:Mongo 单个文档上限时16M,如果超过16M则需要采用GridFs方式将文件拆分 GridFS使用两个Collection存储文件: fs.file: 用于存储文件的元数据 (metadata) fs.chunk:存储文件内容的二进制数据(payload) 读文件时,先根据查询条件在file中找
阅读全文
posted @
2022-01-06 17:51
colorfulworld
阅读(127)
推荐(0) 编辑
HTTPS加密
摘要:1. HTTPS较HTTP优势 1. HTTP从发送端来说,发送数据是明文传输,发送过程敏感信息可能被窃取 2. HTTP从服务端来说,服务器对请求来者不拒,不会区分来源是否合法 3. 从数据传输过程来说,数据可能被修改或者替换,这就涉及“中间人攻击”问题 HTTPS=HTTP+加密+认证+完整性检
阅读全文
posted @
2022-01-05 16:12
colorfulworld
阅读(359)
推荐(0) 编辑
Mongo 批量存储数据
摘要:实际开发中多存在使用mongo批量存储数据list使用场景。但如果list中间某一条数据在存储出现异常如何避免对后边数据没有影响? @Slf4j @Service public class PositionBuldRepository implements Serializable { @Autow
阅读全文
posted @
2021-09-20 10:29
colorfulworld
阅读(736)
推荐(0) 编辑
@Constraint自定义注解
摘要:项目开发中会针对上游传过来的数据集中特定字段做一些校验 1.特定字段非空校验 @Validate @NotNull @Immutable @Data public class MetaData{ @Valid @NotNull private CommonMetaData commonMeta; @
阅读全文
posted @
2021-06-25 16:14
colorfulworld
阅读(1245)
推荐(0) 编辑
java查询大量Mongo数据
摘要:游标:解决mongo中对海量数据查询oom问题 我们要获取某张表中的所有数据时通过findAll方法把所有数据加载到代码内存中,这样就很耗内存导致服务器宕机。所以要获取多有数据可以使用游标来多次遍历获取 游标返回的并不是真实数据,而是指向该数据集合的指针,只有循环迭代游标时才会真正的从数据库中读取真
阅读全文
posted @
2021-06-25 12:04
colorfulworld
阅读(541)
推荐(0) 编辑
Kafka基础
摘要:1.Kafka 配置参数含义 ①配置文件配置方式 spring: kafka: bootstrapServers: kafkaserver:port schemaRegistry: kafkaSchemaRegisterWebSite autoOffsetReset: earliest securi
阅读全文
posted @
2021-06-11 18:08
colorfulworld
阅读(560)
推荐(0) 编辑
Lamda map与filter用法
摘要:/** * 使用.map()一般是对原来数据集进行操作后结果存放到另一个新创建的集合中,然后调用.collect方法将计算结果存放到新结果集合中 * .filter()是对输入及进行过滤,将满足filter()方法中条件数据返回; * .map() 是对输入集进行函数运算,并且必须有return语句
阅读全文
posted @
2020-06-11 17:03
colorfulworld
阅读(488)
推荐(0) 编辑
JDK8 Optional解决判断null的问题
摘要:1. Optional函数: 1.1 Optional.of(T value) 当value为空时,会报nullpointexception 1.2 Optional.ofNullable(T value) 当value为空时创建空实例,不为空时创建optional实例 1.3 isPresent(
阅读全文
posted @
2020-06-11 16:41
colorfulworld
阅读(2421)
推荐(0) 编辑
Lamda groupingBy
摘要:package com.fql.lamda.Lamda; import java.util.Arrays;import java.util.List;import java.util.Map;import java.util.stream.Collectors; import javax.swing
阅读全文
posted @
2020-06-07 09:01
colorfulworld
阅读(322)
推荐(0) 编辑
vi log后查找翻页等功能键
摘要:vi log后输入 /search content根据查找内容进行查找匹配 n : 向前查找下一个匹配的文本 N : 向后查找前一个匹配的文本 ctrl + n是上一页ctrl + f是下一页g 最后一行G 第一行 grep 同时满足多个关键字和满足任意关键字 ① grep -E "word1|wo
阅读全文
posted @
2020-02-11 17:29
colorfulworld
阅读(663)
推荐(0) 编辑
面试点
摘要:1.对redis的多个操作在一个事务中怎么实现? 2.Redis有哪些数据结构?各种数据结构的应用场景?你们用到哪些场景? 3.Rocket MQ怎样防止消息重复消费?怎样同一topic的消息根据一定规则被不同指定服务器消费? 4.谈谈你对spring的了解?spring中用到了哪些设计模式?分别用
阅读全文
posted @
2019-12-26 09:58
colorfulworld
阅读(110)
推荐(0) 编辑
redis数据持久化方式
摘要:redis数据是保持在内存中的,如果发生redis重启,保存在内存中数据便会丢失,所以需要持久化操作。 redis持久化方式有两种:RDB 和AOF RDB:快照方式 当符合一定条件时,Redis会自动将内存中所有的数据生成一份副本并存储在硬盘中,这个过程被称为“快照”。“快照”,就类似于拍照,摁下
阅读全文
posted @
2019-12-10 09:19
colorfulworld
阅读(288)
推荐(0) 编辑