Java
文章平均质量分 59
青w韵
这个作者很懒,什么都没留下…
展开
-
Yaml校验,使用Java校验yaml文件
使用java校验yaml文件,类似xml的格式校验原创 2024-08-13 12:49:51 · 375 阅读 · 0 评论 -
开发环境问题排查-kafka重复消费一组数据
kafka重复消费一组数据。kafka消费者批量拉取的消息,每次拉取500条,如果配置的提交缓存策略是,缓存一段时间再提交,会导致消费者即使处理完了200条,也不会马上告诉kafka代理broker,还是会继续缓存等这批数据处理完。然后kafka代理broker发现5分钟还没回复,会把该消费者剔除,把这500个数据让其他消费者消费,然后其他消费者也没有在规定时间消费完,原创 2022-10-17 19:44:03 · 1003 阅读 · 0 评论 -
正则表达式在一个字符串上多次搜索、正则表达式匹配书名等
正则表达式在一个字符串上多次搜索、正则表达式匹配书名原创 2022-10-17 11:49:52 · 1558 阅读 · 0 评论 -
如何优雅地反向遍历List
Java 如何优雅地反向遍历List。原创 2022-09-27 15:28:30 · 579 阅读 · 0 评论 -
设计文档的Excel转换为对象结构POJO-简式尺规工具箱
在设计文档转换为对应代码的过程中我发现了问题,那就是。项目流程设计->写设计文档->开发。可以把设计文档中的表格数据转换为对应的。等信息,手动粘贴复制效率有点低。那么把设计文档中的命名方式改为。,可以定制化,支持扩充。打开命令行,安装所需依赖。如果系统上下游交互使用。的驼峰命名,然后再加上。使用python3环境。...原创 2022-07-29 11:03:13 · 303 阅读 · 0 评论 -
从Jar包读取文件内容
将文件读取为InputStream。下面展示了读取文件内容的示例工具。如何方便读取该文件内容。原创 2022-07-18 18:01:05 · 366 阅读 · 0 评论 -
从0开始的多线程打水生活
git代码库在此,按照代码库的ReadME.md来帮我复刻一下工程师的防止我张三薅羊毛的操作吧!【ps:建议看完本文后去防止张三薅羊毛,更容易】前言这个问题对于各位大佬们应该是很简单的,所以这个题目只是练习 + 现实拓展,开心就好 (▽)。以下内容是我本人自己原创写的,打工人何苦为难打工人,希望大家转载的时候可以标注原文链接,感谢!入冬以来,帝都的风是愈发寒冷了,这一天,我同往常一样,穿着厚厚的花裤子和花衣服,手里提着水桶,像京城上了年纪的大爷一样【ps:大爷可比我还注意形象穿着】。至于目原创 2021-12-11 21:41:25 · 351 阅读 · 0 评论 -
Jackson 序列化时 字段/属性 动态命名
一般静态命名我们可能这样做public class Person { @JsonProperty("son_list") private List<String> sons; private String name;}序列化结果可能是这样的{ "son_list": ["jack", "tom"], "name": "rob"}如果我们想要son_list可以动态变化,在 stackoverflow 上看到可以如下操作import java.util.Collecti原创 2021-07-13 20:18:30 · 1322 阅读 · 0 评论 -
hashmap解析与1.7和1.8 put方法流程图与常见问题
哈希顾名思义,通过一定的哈希算法进行映射,将数据映射到不同的位置。数据项一般为键值对。哈希算法:直接定址法:对键值进行线性变换得到哈希地址数字分析法:找到数据中区别较大的部分,组成哈希地址平方取中法:取键值平方后的中间几位作为哈希地址折叠法:将键值分为几部分,将这几部分进行叠加得到哈希地址除留取余法:键对于哈希表长进行取余,得到的结果作为哈希地址hashmap用的方法我个人认为是将折叠法和除留取余法进行结合。由于键值会有hashcode,然后取hashcode高低位进行与操作,让其得..原创 2020-07-10 12:24:27 · 1864 阅读 · 2 评论 -
流式计算
流式计算不以计算机的时间去模拟现实世界的时间,而是采用一种类似延迟计算的方式来实现模拟现实世界。即,使用你操作的时间来模拟时间的流动。下面根据IntStream的示例操作,构建了属于自己的IntegerStream模拟一下流的计算。package stream;import java.util.OptionalInt;import java.util.function.IntPredicate;public class IntegerStream { IntPredicate pre原创 2020-12-03 14:39:17 · 210 阅读 · 1 评论 -
一个面向对象的鉴权系统的设计
目录要求分析和设计Token设计Url设计Stroage设计最终提供给其他人调用的第三方调用入口是这样的:在学习了极客时间的设计模式之美后,发现了自己由于长时间写curd,导致思维都变得面向过程了。记录一下整体设计的思路。要求关于鉴权系统要求如下:调用方进行接口请求的时候,将 URL、AppID、密码、时间戳拼接在一起,通过加密算法生成 token,并且将 token、AppID、时间戳拼接在 URL 中,一并发送到微服务端。微服务端在接收到调用方的接口请求之后,从请求中拆解出 token、原创 2020-11-13 20:46:27 · 737 阅读 · 0 评论 -
稳定排序详解,Java多条件排序,稳定排序相关题目
稳定排序概念加例子理解稳定排序:不改变相同值的前后次序指的是如果有这样两个数据:[ { "name": "jack", "high": 175 }, { "name": "tom", "high": 175 }]那么他们排完序之后应该还是原来的顺序,而不会变成:[ { "name": "tom", "high": 175 }, { "name"原创 2020-11-11 21:30:38 · 279 阅读 · 0 评论 -
ScheduledThreadPool会产生OOM的源码剖析
ScheduledThreadPool阿里巴巴开发手册提到的问题刚才看到阿里巴巴开发手册说ScheduledThreadPool允许创建线程数量为Integer.MAX_VALUE,可能会创建大量线程,导致oom。如下:ScheduledThreadPool源码剖析但是我看到的DelayedWorkQueue内部基于动态数组。无限扩容。相当于无界队列了。如下:那么,不应该是因为DelayedWorkQueue满导致oom吗?因为线程池的流程是:所以阻塞队列满了之后才会创建临时原创 2020-11-10 15:36:48 · 1390 阅读 · 4 评论 -
Java中final关键字(final修饰的方法能否被重载?)
本来想试试final能不能被重载,后来想想还是都整理一下吧。final修饰的类不能被继承验证public class FinalTest { public static void main(String[] args){ Parent parent = new Son(); System.out.println(parent.getAge()); } static final class Parent { private in原创 2020-10-23 17:35:40 · 14084 阅读 · 1 评论 -
重写hashcode和equals
重写hashcode和equals例如:public class Person { private String name; private int age;}hashcode定义初始值37,然后每次乘31加上属性值的hashcode方法。public int hashcode() { int res = 37; res = 31 * res + (name != null?) name.hashcode(): 0; res = 31 *原创 2020-10-23 16:37:10 · 102 阅读 · 0 评论 -
Java的几个垃圾收集器概述
垃圾收集器serial垃圾收集器串行的单线程垃圾收集器进行垃圾收集的时候,需要停掉用户线程去收集垃圾,(停下来收集垃圾的过程叫做STW,stop the world)。运行在 客户端 模式(也就是我们自己的个人PC)效果较好(因为不需要多线程的切换,而且客户端对于偶尔的停顿要求会较低点。)为什么要停掉用户线程?打个比方(JDK官方说的例子):如果你一边扔垃圾,你妈妈一边打扫房间,这房间还能打扫干净?CMS垃圾收集器目标是低停顿。整体采用 多线程并发 去执行垃圾回收。这里并发指的是 和用户原创 2020-10-17 20:22:33 · 122 阅读 · 0 评论 -
SpringAop方法执行顺序
SpringAop方法执行顺序BeforeAroundbefore实际方法AfterReturnAfterAfterAroundimport org.aspectj.lang.ProceedingJoinPoint;import org.aspectj.lang.annotation.*;import org.springframework.core.annotation.Order;import org.springframework.stereotype.Component;原创 2020-10-09 11:00:00 · 442 阅读 · 0 评论 -
TreeSet会检测hashcode和equals吗?
TreeSet会检测hashcode和equals吗?应该不会。下面是代码检测。import java.util.TreeSet;/** * @author 青韵 * @date 2020/10/9 - 10:26 */public class TreeCollectTest { public static void main(String[] args){ Person a = new Person(20, "张三"); Person b = ne原创 2020-10-09 10:39:44 · 341 阅读 · 0 评论 -
Java各个数据结构是否可以存储null
List可以存储无限nullHashMap可以有一个键为null,可以有无数个值为nullHashSet因为底层是hashmap,所以可以有一个元素为null。ConcurrentHashMap不能有null键和值,因为会有歧义。原创 2020-10-08 12:59:03 · 689 阅读 · 0 评论 -
简写OAuth2.0授权
原创 2020-10-07 11:20:08 · 110 阅读 · 0 评论 -
ConcurrentHashMap流程图
原创 2020-10-07 10:28:21 · 328 阅读 · 0 评论 -
ThreadLocal浅析
ThreadLocal原理和思想浅析基本思想、原理、应用首先我们知道,如果多个线程共同操作同一块 共享内存 或者说 共享变量 的时候,那么很有可能发生错误。最典型的就是public class MyAtomicInteger { private int value; public void increaseAndGet() { value += 1; return value; }}那么比较典型的思想有:用时间换安全锁原创 2020-09-27 12:10:09 · 111 阅读 · 0 评论 -
线程池参数和流程
线程池有那些参数?线程池的参数有:核心线程数:corePoolSize,最大线程数:maximumPoolSize,临时线程可以存活的时间:keepAliveTime,临时线程可以存活的时间单位:unit,阻塞队列:workQueue,拒绝策略:handler。线程池流程:...原创 2020-09-22 17:48:07 · 103 阅读 · 0 评论 -
Java对象的深浅拷贝
对象的拷贝浅拷贝对象和对象的拷贝指向的是同一块内存区域,修改一个会影响到另一个;public class Person implements Cloneable{ // 对象的引用 Car car; @Override protected Object clone() throws CloneNotSupportedException { return super.clone(); } @Override public Str原创 2020-08-11 09:12:26 · 254 阅读 · 0 评论 -
整理Java知识点之对象占用字节数、泛型
对象占用字节数考察知识点:对象的数据信息对象包括:对象头:mark word包含hashcode、GC年龄、锁信息等。klass:指向堆中类的Class对象(如果是数组的话)数组长度实例数据:对齐填充:填充以使得CPU可以更好地读取数据,如果未填充,那么可能需要多次读取,而且可能造成指令无法进行原子性的执行。Object占用内存分析markword由c++实现,默认是8字节。如果我们使用的是64位虚拟机,jvm默认开启指针压缩,那么klass由原创 2020-08-09 22:45:40 · 161 阅读 · 0 评论