- 博客(4)
- 问答 (1)
- 收藏
- 关注
原创 ThreadLocal和InheritableThreadLocal学习笔记
ThreadLocal为多线程并发问题提供了一种新的解决思路,因为它可以单独给每一个线程提供独立的变量副本,这样每一个线程就可以只修改自己的副本变量,互不影响。场景1: 每一个线程可以保存一个独立副本,线程A的修改,不影响线程B;比如SimpleDateFormat在多并发场景下就不能使用,可以使用ThreadLocal解决这个问题;场景2: 数据库主从分离,比如某一个查询服务,这个过程需要查询多张表,涉及到多个DAO层,我们可以在SERVICE层指定使用主库或者存库,然后整个过程就只使用主库、或者只
2020-12-28 16:29:01 228
原创 线程池是否新增非核心线程执行任务的逻辑
关于线程池几个重要参数的学习笔记(一)之前执行了几次测试案例,发现使用的阻塞队列不同,结果也不同。使用SynchronousQueue时,当任务数大于corePoolSize时,会新增非核心线程执行任务,而使用LinkedBlockingQueue不会新增。为什么?再看一个案例:1、SendMessageTaskpackage cn.com.dl.pool;import java.util.Random;import java.util.concurrent.Callable;im
2020-12-22 15:12:09 1388 6
原创 关于线程池几个重要参数的使用案例
没有仔细看过线程池的代码,或者没有实际应用验证过,肯定会对线程池的几个重要参数有一些误解。比如,当corePoolSize < 提交的任务数时 ,会创建新的线程来执行任务(线程池的线程数不会超过maximumPoolSiz),当线程数等于maximumPoolSize,会将多余的任务放在阻塞队列,当阻塞队列满了之后,默认拒绝提交任务。真的是这样的吗?具体看验证1、ThreadPoolDemopackage cn.com.dl.pool;import java.util.ArrayLi
2020-12-21 19:20:42 352
原创 数据库(Mysql)表与表字符集不统一带来的麻烦事儿
1、查看数据库字符集:show variables like '%collation%';2、查看表A、表B的字符集:show full columns from 表名;show table status from 库名 like '表名';表A的字符集是utf8mb4_unicode_ci、表B的字符集是utf8mb4_general_ci3、带来的问题表A和表B关联查询时应该字符集不统一返回失败:[HY000][1267] Illegal mix of collat
2020-12-11 11:23:13 1893 1
elasticjob-console-3.1.0
2022-08-29
在logstash中,使用kafka作为输入源,内存溢出
2017-09-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人