08 2023 档案
摘要:removeAbandoned,从字面意思来看,作用是移除被遗弃的对象。在druid中的作用是移除被遗弃的connection。 如何界定一个connection是被遗弃的对象呢?不得不提另一个参数,removeAbandonedTimeout,这个参数的单位为秒,从字面意思可以看出当时间超过这个参
阅读全文
摘要:一个-exec只能执行一个命令,而且必须在命令后面加上终结符,终结符有两个:“;”和“+”。 其中“;”会对每一个find到的文件去执行一次cmd命令。而”+“让find到的文件一次性执行完cmd命令。为什么必须有终结符?因为一个find后面可以有多个-exec cmd,所以必须要有终结符分割他们。
阅读全文
摘要:目录 一、对wss与nginx代理wss的理解: 二、Nginx 支持websocket的配置 一、对wss与nginx代理wss的理解: 1、wss协议实际是websocket+SSL,就是在websocket协议上加入SSL层,类似https(http+SSL)。 2、利用nginx代理wss【
阅读全文
摘要:一、服务器运行一点时间后各种的项目文件,日志文件,数据库备份登,会越来越多,在linux下可以使用 du 和 df 命令查看。 1、df -h 命令查看整体磁盘使用情况 2、 使用 du -ah --max-depth=1 / 可以查看根目录下各个文件占用情况 使用命令du -h –max-dept
阅读全文
摘要:我把自己以往的文章汇总成为了 Github ,欢迎各位大佬 starhttps://github.com/crisxuan/bestJavaer 我们之前了解过了 AtomicInteger、AtomicLong、AtomicBoolean 等原子性工具类,下面我们继续了解一下位于 java.uti
阅读全文
摘要:package Test0814; import com.google.common.collect.Maps; import java.util.HashMap; import java.util.Map; import java.util.WeakHashMap; public class My
阅读全文
摘要:在某个项目中,需要使用mybatis-plus多租户功能以便数据隔离,前端将租户id传到后端,后端通过拦截器将该租户id设置到ThreadLocal以便后续使用,代码大体上如下所示: ThreadLocal<Integer> threadLocal = new InheritableThreadLo
阅读全文
摘要:目录 1. 直接使用 TransmittableThreadLocal 2. 在使用线程池的情况下使用 TransmittableThreadLocal 3. 使用 TtlExecutors 的使用案例 (推荐) 4. 拓展 TransmittableThreadLocal是阿里巴巴开源的一个线程本
阅读全文
摘要:前言 最近遇到一个问题,公司内部有一个公共的SSO包,用来获取HTTP请求中的登录态,代码中会直接用这个包的方法获取用户登录信息,在代码任意位置直接用SSOUtil.getUser()获取用户信息,在我们一个下载的业务代码中,用到了线程池开启子任务处理请求,结果发现子任务中拿到的用户信息和HTTP请
阅读全文
摘要:InheritableThreadLocal简介 笑傲菌:多线程热知识(一):ThreadLocal简介及底层原理3 赞同 · 0 评论文章 上一篇文章我们聊到了ThreadLocal的作用机理,但是在文章的末尾,我提到了一个问题,ThreadLocal无法实现异步线程变量的传递。 什么意思呢?以下
阅读全文
摘要:一、缘起 某天测试环境更新后,有小伙伴反应页面会随机性的发生请求参数为空的情况(request.getParamter为空),但是前端的参数是传了的,而且不能稳定重现,需要在页面上经过一番操作之后才会发生,而当问题重现之后,之前那些可用的页面就变得不可用了,然后就会在可用和不可用之间交替......
阅读全文
摘要:常用的链路追踪组件 现在常用的开源组件有google的Dapper,Twitter的zipkin和Apache SkyWalking等,商用的比较有代表性的是阿里的Eagleeye(鹰眼)。它们的工作模式不外乎是客户端在同一个trace的不同span上采点上传到server端然后server端进行存
阅读全文
摘要:这篇文章主要介绍了利用Spring boot+LogBack+MDC实现链路追踪,MDC 可以看成是一个与当前线程绑定的哈希表,可以往其中添加键值对,下文详细介绍需要的小伙伴可以参考一下 MDC介绍 API说明 MDC使用 1.拦截器 2.工具类 MDC 存在的问题 子线程日志打印丢失traceId
阅读全文
摘要:目录 TaskDecorator 定义TaskDecorator实例 线程池使用TaskDecorator 开发中很多数据如oauth2的认证信息,日志TracerId都是在请求线程中的,如果内部使用多线程处理就存在获取不到认证信息或TraceId的问题。这时候就需要处理子线程与主线程间数据传递的问
阅读全文
摘要:前言 众所周知当系统的磁盘空间不足时,您可能会使用 df、du 或 ncdu 命令进行检查,但这些命令只会显示当前目录的文件,并不会显示整个系统范围的文件。文章来源地址https://www.yii666.com/blog/177926.html 您得花费大量的时间才能用上述命令获取系统中最大的文件
阅读全文
摘要:快速理解Consumer、Supplier、Predicate与Function 一、前言 这几个接口都处在java.util.function包下,Consumer(消费型),Supplier(供给型)、Predicate(判断型)与Function(转换型),暂时不理解他们的类型没关系。 如果对
阅读全文
摘要:String webPath11 =commonPath+File.separator+ name+"_"+i+ ".xlsx"; File file = new File(webPath11); // // 必须按创建本地目录 // if (!file.getParentFile().exists
阅读全文
摘要:一个非常简单的代码片段如下: String[] list = {"a", "b", "c"}; List<CompletableFuture<String>> completableFutureList = new ArrayList<>(); for (String s : list) { com
阅读全文
摘要:一、mysql中不同位置增加字段 增加字段(在特定的字段后增加) alter table 表名 add 需要修改/增加的信息 afer 字段名(在哪个字段后增加) alter table dept Add column name varchar(20) not null default 0 AFTE
阅读全文
摘要:前置知识 在 MySQL 中,GROUP BY 关键字可以根据一个或多个字段对查询结果进行分组 在有 GROUP BY 操作中,SELECT 后面接的结果集字段只有两种:要么就只有 GROUP BY 后出现的字段,要么就是 GROUP BY 后出现的字段+聚合函数的组合 常用的五种聚合函数:MIN(
阅读全文
摘要:sql执行顺序:from on join where group by having select distinct union order by 别名的使用: SELECT download_type as type,count(*) from download GROUP BY type 正常来
阅读全文
摘要:package util; public class IdUtils { private static IdWorkerUtils idWorkerUtils=new IdWorkerUtils(1,1,1); public static Long nextId(){ return idWorker
阅读全文