
编码之路
文章平均质量分 53
watsonQiu
记忆力越来越差,是时候开始写博客了。我的博客可能只有我自己才能看得懂。请见谅
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
泛型使用
使用大写字母A,B,C,D......X,Y,Z定义的,就都是泛型,把T换成A也一样,这里T只是名字上的意义而已? 表示不确定的java类型 T (type) 表示具体的一个java类型 K V (key value) 分别代表java键值中的Key Value E (element) 代表Element一、List<T>,List<?>,T,Class<...原创 2018-11-29 11:58:01 · 253 阅读 · 2 评论 -
Spring-batch解析Csv文件
背景:最近用POI解析线上的excel文件,在5万条以上的时候性能很慢。甚至内存卡死现象。于是想到用spring-batch分批次读取。 但是spring-batch不支持直接读取excel文件。所以先将excel转为csv文件(测试转换效率:8万条 40s)。然后用spring-batch分批次读取,每次5000条。 然后5000条数据处理再用多线程(forkJoin)处理。 ...原创 2018-11-20 17:51:17 · 1901 阅读 · 0 评论 -
Maven基本元素认识
一、基本内容:POM包括了所有的项目信息groupId:项目或者组织的唯一标志,并且配置时生成路径也是由此生成,如org.myproject.mojo生成的相对路径为:/org/myproject/mojoartifactId:项目的通用名称version:项目的版本packaging:打包机制,如pom,jar,maven-plugin,ejb,war,ear,rar,par...原创 2018-11-01 18:05:39 · 271 阅读 · 0 评论 -
Maven传递性依赖解读
一:DependencyManagement / Dependencies的区别dependencyManagement统一管理项目的版本号,只声明依赖,并不实现引入,因此子项目需要显示的声明需要用的依赖。在子项目中写了该依赖项,并且没有指定具体版本,会自动从父项目中继承该项,并且version和scope都读取自父pom; 另外如果子项目中指定了版本号,那么会使用子项目中指定的jar版本。...原创 2018-11-01 15:41:23 · 6077 阅读 · 0 评论 -
ForkJoin
规律:总共拆N次生成N+1个task, 阻塞2*N个线程。最近用到了forkJoin, 可以拆分任务/汇总结果。具体原理可以参考其他文档。疑惑的是new ForkJoinPool(4)不能提供队列大小设置,只有设置一个核心线程数。也就是说默认使用无界队列。这里采用的是workQueue的双向链表。初始队列大小2*13次方。此处记录一下forkJoinPool用法, 原理类似递归,会循...原创 2018-10-24 20:37:32 · 395 阅读 · 0 评论 -
线程池队列
ArrayBlockingQueue:基于数组的FIFO队列,是有界的,创建时必须指定大小LinkedBlockingQueue: 基于链表的FIFO队列,是无界的,默认大小是 Integer.MAX_VALUEsynchronousQueue:一个比较特殊的队列,虽然它是无界的,但它不会保存任务,每一个新增任务的线程必须等待另一个线程取出任务,也可以把它看成容量为0的队列 排队有三...原创 2018-09-18 14:52:28 · 1081 阅读 · 0 评论 -
线程池的使用--Executor
1:自定义线程池注意的点:1:核心线程数:获取当前服务的可用核数。2:一定要声明有界队列。个人倾向callable而不是runnable, 便于观察线程池的返回值。futrueTask提供一次性添加所有任务,最后一次性提交,支持返回值。2:是否需要手动调用shutdown: shutdown会按过去执行已提交任务的顺序发起一个有序的关闭,但是不接受新任务。如果已经关闭,则调...原创 2018-08-31 16:46:53 · 388 阅读 · 0 评论 -
跨域--CORS
+++++++++++++++CORS与JSONP的使用目的相同,但是比JSONP更强大。+++++++++++++++++++++++++++++JSONP只支持GET请求,CORS支持所有类型的HTTP请求。+++++++++++++++++++++JSONP的优势在于支持老式浏览器,以及可以向不支持CORS的网站请求数据。+++++++ 简介: CORS是一个W原创 2018-02-05 20:45:25 · 259 阅读 · 0 评论 -
抽象类架构场景
使用场景一:使用场景二原创 2019-01-10 19:43:57 · 326 阅读 · 1 评论