随笔分类 -  Java

1 2 3 4 5 ··· 18 下一页
摘要:Java长连接的方式 在Java中,长连接是指客户端与服务器端建立一次连接后,可以多次进行通信,而不需要每次通信都重新建立连接。这种方式可以减少连接建立和断开的开销,提高通信效率。下面将介绍几种在Java中实现长连接的方式。 Socket实现长连接 使用Socket可以实现客户端与服务器端之间的长连 阅读全文
posted @ 2025-02-13 11:30 甜菜波波 阅读(23) 评论(0) 推荐(0) 编辑
摘要:@ExcelIgnoreUnannotated 注解用于在使用 Apache POI 或其他 Excel 处理库时,指示在导出 Excel时忽略没有被标注的字段。这意味着只有被特定注解(如 @ExcelProperty)标注的字段会被处理和导出。 作用简化导出过程:只导出需要的字段,避免不必要的数据 阅读全文
posted @ 2024-12-04 14:35 甜菜波波 阅读(406) 评论(0) 推荐(0) 编辑
摘要:解决序列化首字母小写问题: @JsonAutoDetect(fieldVisibility=JsonAutoDetect.Visibility.ANY, getterVisibility= JsonAutoDetect.Visibility.NONE) 阅读全文
posted @ 2024-11-12 14:26 甜菜波波 阅读(4) 评论(0) 推荐(0) 编辑
摘要:在处理Excel报表时,我们经常会使用Java来读取和解析数据。然而,有时候在读取单元格数据时,可能会遇到java.lang.IllegalStateException: Cannot get a STRING value from a NUMERIC cell这样的错误。这个错误提示表明,你正在尝 阅读全文
posted @ 2024-11-01 15:11 甜菜波波 阅读(479) 评论(0) 推荐(1) 编辑
摘要:BigDecimal bigDecimal=new BigDecimal("0.0"); BigDecimal bigDecimal1=new BigDecimal(0); //一定要用compareTo去比较被除数是否为0,不能用equals if (BigDecimal.ZERO.compare 阅读全文
posted @ 2023-11-02 16:01 甜菜波波 阅读(178) 评论(0) 推荐(0) 编辑
摘要:在Junit4中,如果直接引入Spring注入的Bean,Bean会为null,这是由于Junit 默认情况下不会加载 Spring 上下文环境,因此此时无法找到在 Spring注入的Bean。 解决方案:使用以下两个注解 @RunWith(SpringRunner.class) //加载Sprin 阅读全文
posted @ 2023-09-22 16:21 甜菜波波 阅读(263) 评论(0) 推荐(0) 编辑
摘要:removeAbandoned,从字面意思来看,作用是移除被遗弃的对象。在druid中的作用是移除被遗弃的connection。 如何界定一个connection是被遗弃的对象呢?不得不提另一个参数,removeAbandonedTimeout,这个参数的单位为秒,从字面意思可以看出当时间超过这个参 阅读全文
posted @ 2023-08-23 15:54 甜菜波波 阅读(1814) 评论(0) 推荐(0) 编辑
摘要:我把自己以往的文章汇总成为了 Github ,欢迎各位大佬 starhttps://github.com/crisxuan/bestJavaer 我们之前了解过了 AtomicInteger、AtomicLong、AtomicBoolean 等原子性工具类,下面我们继续了解一下位于 java.uti 阅读全文
posted @ 2023-08-15 10:37 甜菜波波 阅读(916) 评论(0) 推荐(1) 编辑
摘要:package Test0814; import com.google.common.collect.Maps; import java.util.HashMap; import java.util.Map; import java.util.WeakHashMap; public class My 阅读全文
posted @ 2023-08-15 09:15 甜菜波波 阅读(97) 评论(0) 推荐(0) 编辑
摘要:在某个项目中,需要使用mybatis-plus多租户功能以便数据隔离,前端将租户id传到后端,后端通过拦截器将该租户id设置到ThreadLocal以便后续使用,代码大体上如下所示: ThreadLocal<Integer> threadLocal = new InheritableThreadLo 阅读全文
posted @ 2023-08-14 10:59 甜菜波波 阅读(405) 评论(0) 推荐(0) 编辑
摘要:目录 1. 直接使用 TransmittableThreadLocal 2. 在使用线程池的情况下使用 TransmittableThreadLocal 3. 使用 TtlExecutors 的使用案例 (推荐) 4. 拓展 TransmittableThreadLocal是阿里巴巴开源的一个线程本 阅读全文
posted @ 2023-08-14 10:08 甜菜波波 阅读(2236) 评论(0) 推荐(0) 编辑
摘要:InheritableThreadLocal简介 笑傲菌:多线程热知识(一):ThreadLocal简介及底层原理3 赞同 · 0 评论文章 上一篇文章我们聊到了ThreadLocal的作用机理,但是在文章的末尾,我提到了一个问题,ThreadLocal无法实现异步线程变量的传递。 什么意思呢?以下 阅读全文
posted @ 2023-08-11 14:01 甜菜波波 阅读(241) 评论(0) 推荐(0) 编辑
摘要:一、缘起 某天测试环境更新后,有小伙伴反应页面会随机性的发生请求参数为空的情况(request.getParamter为空),但是前端的参数是传了的,而且不能稳定重现,需要在页面上经过一番操作之后才会发生,而当问题重现之后,之前那些可用的页面就变得不可用了,然后就会在可用和不可用之间交替...... 阅读全文
posted @ 2023-08-11 14:00 甜菜波波 阅读(1764) 评论(0) 推荐(0) 编辑
摘要:常用的链路追踪组件 现在常用的开源组件有google的Dapper,Twitter的zipkin和Apache SkyWalking等,商用的比较有代表性的是阿里的Eagleeye(鹰眼)。它们的工作模式不外乎是客户端在同一个trace的不同span上采点上传到server端然后server端进行存 阅读全文
posted @ 2023-08-11 10:48 甜菜波波 阅读(825) 评论(0) 推荐(0) 编辑
摘要:这篇文章主要介绍了利用Spring boot+LogBack+MDC实现链路追踪,MDC 可以看成是一个与当前线程绑定的哈希表,可以往其中添加键值对,下文详细介绍需要的小伙伴可以参考一下 MDC介绍 API说明 MDC使用 1.拦截器 2.工具类 MDC 存在的问题 子线程日志打印丢失traceId 阅读全文
posted @ 2023-08-11 10:23 甜菜波波 阅读(1546) 评论(0) 推荐(1) 编辑
摘要:目录 TaskDecorator 定义TaskDecorator实例 线程池使用TaskDecorator 开发中很多数据如oauth2的认证信息,日志TracerId都是在请求线程中的,如果内部使用多线程处理就存在获取不到认证信息或TraceId的问题。这时候就需要处理子线程与主线程间数据传递的问 阅读全文
posted @ 2023-08-11 10:13 甜菜波波 阅读(522) 评论(0) 推荐(0) 编辑
摘要:快速理解Consumer、Supplier、Predicate与Function 一、前言 这几个接口都处在java.util.function包下,Consumer(消费型),Supplier(供给型)、Predicate(判断型)与Function(转换型),暂时不理解他们的类型没关系。 如果对 阅读全文
posted @ 2023-08-07 14:05 甜菜波波 阅读(111) 评论(0) 推荐(0) 编辑
摘要:String webPath11 =commonPath+File.separator+ name+"_"+i+ ".xlsx"; File file = new File(webPath11); // // 必须按创建本地目录 // if (!file.getParentFile().exists 阅读全文
posted @ 2023-08-03 17:35 甜菜波波 阅读(17) 评论(0) 推荐(0) 编辑
摘要:一个非常简单的代码片段如下: String[] list = {"a", "b", "c"}; List<CompletableFuture<String>> completableFutureList = new ArrayList<>(); for (String s : list) { com 阅读全文
posted @ 2023-08-03 14:14 甜菜波波 阅读(199) 评论(0) 推荐(0) 编辑
摘要:package util; public class IdUtils { private static IdWorkerUtils idWorkerUtils=new IdWorkerUtils(1,1,1); public static Long nextId(){ return idWorker 阅读全文
posted @ 2023-08-01 10:53 甜菜波波 阅读(12) 评论(0) 推荐(0) 编辑

1 2 3 4 5 ··· 18 下一页
点击右上角即可分享
微信分享提示