- 博客(6)
- 收藏
- 关注
原创 实现数据存储和文件下载异步
实现数据存储和文件下载异步1.线程池配置@Configuration@EnableAsyncpublic class ThreadPoolConfig { private static final Logger logger = LoggerFactory.getLogger(ThreadPoolConfig.class); @Value("${async.executor.thread.core_pool_size}") private int corePoolSize;
2021-07-02 19:16:02 1116
原创 数据存储和文件下载异步遇到的问题之注解不生效
数据存储和文件下载异步遇到的问题之注解不生效初始设计时,直接将需要的Bean进行了@AutoWired注解,yml配置文件也进行了@Value("${isAsync}")注解,但进行调试的发现相应的Bean和读取配置的属性全部返回null,在查询相应的资料后得到解决。接下来分析原因。1.读取配置的方式1.@Value的方式@Value("${async.executor.thread.core_pool_size}")private int corePoolSize;这种生效需要什么条件呢?
2021-07-01 20:08:35 291
原创 高级数据结构之线段树
高级数据结构之线段树1.前缀和 给定一个数组arr,数组可能非常大。在程序运行过程中,你可能要做好几次query和update操作: query(arr, L, R) 表示计算数组arr中,从下标L到下标R之间的所有数字的和。 update(arr, i, val) 表示要把arr[i]中的数字改成val。 怎样尽可能快地完成一系列query和update的操作? 如果是前缀和,则只是优化了query的时间复杂度为 O(1),而update的操作仍然是O(n),一位更新了某个值,区间的pres
2021-06-05 13:48:10 308 2
原创 高级数据结构之并查集
高级数据结构之并查集1.并查集介绍并查集,在一些有N个元素的集合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中。这一类问题近几年来反复出现在信息学的国际国内赛题中。其特点是看似并不复杂,但数据量极大,若用正常的数据结构来描述的话,往往在空间上过大,计算机无法承受;即使在空间上勉强通过,运行的时间复杂度也极高,根本就不可能在比赛规定的运行时间(1~3秒)内计算出试题需要的结果,只能用并查集来描述。并查集是一
2021-05-29 16:33:16 455 3
原创 关于RestTemplate请求url返回报错Invalid mime type “image“: does not contain ‘/‘的原因
关于RestTemplate请求url返回报错Invalid mime type "image": does not contain '/'的原因在调用下载文件接口时报错如下,意思为无效的媒体类型,没有包含"/"。在搜索资料后,发现同样的错误是由于url被转义,也就是在执行exchange方法的时候,restTemplate会对特殊字符进行转义,越是用了如下方法,但仍未解决问题。在仔细对比url后发现,请求的url其实是已经经过了处理的,因此排除了此问题。随后通...
2021-05-19 17:33:26 5824
原创 对于CopyOnWrite(写时复制)的一点研究
对于CopyOnWrite(写时复制)的一点研究目录对于CopyOnWrite(写时复制)的一点研究1.什么是写时复制2.写时复制的原理3.C++中写时复制的实现一.开辟两个空间的写时复制二.开辟一个空间的写时复制4.Java中的写时复制5.总结1.什么是写时复制首先,我们从Linux系统父子进程讲起,也就是fork()函数,在Linux系统下使用fork ()函数得到的子进程是父进程的一个复制品,它从父进程继承了进程的地址空间,包括进程上下文、进程堆栈、内.
2021-05-05 22:29:20 424
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人