
java
你知道烟火吗
随时私信,欢迎技术交流
展开
-
Java——踩坑Arrays.asList()
查看源码可以看到,asList返回到ArrayList是一个内部类,继承了AbstractList,再查看源码,并没有是哪set,add,remove方法。查看源码可以看到,接收入参为泛型,而基本类型并没有集成Object。asList之后new一个List给他。进行装箱或者直接使用包装类型。new一个新的List。报了不支持的操作异常。原创 2024-09-06 10:37:19 · 852 阅读 · 1 评论 -
Java——踩坑Synchronized
不要使用Integer对象作为锁对象,Integer对象改变,往往会生成一个新的对象,从而导致锁对象不唯一。原创 2024-06-05 11:51:28 · 223 阅读 · 0 评论 -
Java——内存溢出如何排查
初始化启动参数最大堆内存为20m,在内存溢出的时候生成一个dump文件,然后存储在对应目录下。打开mat导入内存溢出dump文件,选择。原创 2024-04-24 18:09:55 · 679 阅读 · 0 评论 -
Java——基于CompletableFuture的流水线并行处理
CompletableFuture在JDK1.8提供了一种更加强大的异步编程的api。它实现了Future接口,也就是Future的功能特性CompletableFuture也有;除此之外,它也实现了CompletionStage接口,CompletionStage接口定义了任务编排的方法,执行某一阶段,可以向下执行后续阶段。原创 2024-03-26 18:13:29 · 1972 阅读 · 0 评论 -
ReentrantReadWriteLock
注意,这里的阻塞是一个概率性的阻塞,因为它只是一个启发式的判断,不是绝对的。根据 ReentrantReadWriteLock 的特性,第一个线程获取了读锁,第二个线程尝试获取写锁,会被阻塞。如果按照 ReentrantReadWriteLock 的特性,第三个线程应该可以成功获取读锁,因为读锁是共享锁,不会阻塞其他读线程。但是,实际上,第三个线程却被阻塞了。与传统的独占锁不同,ReentrantReadWriteLock 允许多个读线程同时访问资源,但在写线程访问时,会阻塞所有其他读线程和写线程。原创 2024-03-21 18:54:04 · 492 阅读 · 0 评论 -
Java——使用stack实现二叉树的前中后序遍历
【代码】Java——使用stack实现二叉树的前中后序遍历。原创 2024-02-28 11:47:37 · 507 阅读 · 0 评论 -
状态机设计与实现
【代码】状态机设计与实现。原创 2024-02-19 23:43:45 · 497 阅读 · 0 评论 -
Lambda表达式代替观察者模式
场景:用户申请退款,系统同意退款。:创建多个观察者类,注册,通知。3、调用支付接口进行退款。2、发送站内信与短信。原创 2024-02-19 18:58:00 · 386 阅读 · 0 评论 -
关于git同步不同仓库的合并请求
git原创 2022-11-03 14:07:19 · 559 阅读 · 1 评论 -
discard long time none received connection. , jdbcUrl :
druid报错原创 2022-10-20 16:55:51 · 746 阅读 · 0 评论 -
日期格式正则表达式
日期格式正则表达式原创 2022-08-16 15:51:22 · 293 阅读 · 0 评论 -
LeetCode——1484. 按日期分组销售产品
LeetCode原创 2022-06-10 21:57:26 · 156 阅读 · 0 评论 -
Elasticsearch启动异常
1、查看日志文件所属群组和用户是否非root用户chgrp -R 群组 xxxxx.log chown -R 用户 xxxxx.log原创 2022-05-08 14:28:41 · 971 阅读 · 0 评论 -
腾讯云redis远程连接
1、编辑redis.conf,添加所有ip地址cd /usr/local/redis/bin/vim redis.confcd进入你的redis.conf文件,使用vim命令编辑文件,把刚才上面查到的所有ip地址都加到bind后面或者直接这样写bind 0.0.0.02、编辑redis.conf,设置密码redis.conf中找到 requirepass 字段,退出insert编辑模式,处于normal模式下,按/,然后后面跟上你要查找的内容,按回车就行了。会跳转到第一个匹配到的查找结果,原创 2022-05-07 21:52:37 · 872 阅读 · 0 评论 -
【websocket】spring boot 集成 websocket 的四种方式
1. 原生注解pom.xml<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId></dependency>WebSocketConfig/* * * * * blog.coder4j.cn * * Copyright (C) 2016-20原创 2022-04-27 15:40:42 · 3602 阅读 · 0 评论 -
mybatis plus中的${ew.sqlSelect},${ew.customSqlSegment}使用
{ew.sqlSelect}:表示QueryWrapper中select后面的内容{ew.customSqlSegment}:表示QueryWrapper中eq,gt等条件内容,但在xml不用使用where。在service中需使用@Param(Constants.WRAPPER)指定别名原创 2022-03-08 00:10:47 · 1089 阅读 · 0 评论 -
java-日常函数使用
trim()方法:去除首尾空格String str = " Hello World! ";str.trim();//输出为:“Hello World!”substring():截取父字符串的某一部分public String substring(int beginIndex, int endIndex)第一个参数int为开始的索引,对应String数字中的开始位置;第二个参数是截止的索引位置,对应String中的结束位置;1、取得的字符串长度为:endIndex - beginIndex原创 2022-03-06 20:49:18 · 450 阅读 · 0 评论 -
java——快速排序
public static void main(String[] args) { int arr[] = {7, 5, 3, 2, 4, 1, 8, 9, 6}; //快速排序 int low = 0; int high = arr.length - 1; quickSort(arr, low, high); } public static void quickSort(int[] arr, int l原创 2022-03-04 11:49:00 · 156 阅读 · 0 评论