Java并发学习之线程池ThreadPoolExecutor的小结
本篇博文将带着问题来回顾小结多线程池相关的知识点
- 线程池的几种创建方式
- 线程池的优点是什么
- 应用场景
- 如何使用
- 实现原理
- 异常状况怎么处理
- 线程池中任务的提交执行后,到线程执行,执行完成的整个流程逻辑
- 线程池中的线程回收机制
在Github上也写了不少的项目了,然后经常遇到的一个问题就是,很多自己写的项目,希望在另外一个项目中使用时,只能把这个项目下载下来,相当之不方便
因为大多数的java后端项目都是基于maven管理依赖的,所以就希望能有一个公共的maven仓库,可以把自己的项目扔进去,然后再应用就方便很多了
基于此,就有了本文这个教程了
新建一个repository的前提是有github帐号,默认看到本文的是有帐号的
首先是在github上新建一个仓库,命令随意,如我新建项目为
本地指定一个目录,新建文件夹 maven-repository
, 如我的本地配置如下
1 | ## 进入目录 |
这个目录结构为什么是这样的?
我们直接看maven配置中默认的目录结构,同样拷贝一份出来而已
将本地的仓库和远程的github仓库关联起来,执行的命令也比较简单了
1 | git add . |
接着就是进行分支管理了
所以需要新创建两个分支
1 | ## 创建snapshot分支 |
项目的deploy,就需要主动的指定一下deploy的地址了,所以我们的deploy命令如下
1 | ## deploy项目到本地仓库 |
上面的命令就比较常见了,主要需要注意的是file后面的参数,根据自己前面设置的本地仓库目录来进行替换
每次进行上面一大串的命令,不太好记,特别是不同的版本deploy到不同的分支上,主动去切换分支并上传,也挺麻烦,所以就有必要写一个deploy的脚本了
由于shell实在是不太会写,所以下面的脚本只能以凑合能用来说了
1 | #!/bin/bash |
将上面的脚本,考本到项目的根目录下,然后执行
1 | chmod +x deploy.sh |
基于此,整个步骤完成
上面仓库的基本搭建算是ok了,然后就是使用了,maven的pom文件应该怎么配置呢?
首先是添加仓库地址
添加仓库
如果要区分snapshot和release的话,如下配置
1 | <repositories> |
如果不care的话,直接添加下面的即可
1 | <repositories> |
仓库配置完毕之后,直接引入依赖即可,如依赖我的Quick-Alarm包,就可以添加下面的依赖配置
1 | <dependency> |
基于hexo + github pages搭建的个人博客,记录所有学习和工作中的博文,欢迎大家前去逛逛
尽信书则不如,已上内容,纯属一家之言,因本人能力一般,见识有限,如发现bug或者有更好的建议,随时欢迎批评指正,我的微博地址: 小灰灰Blog
前面将报警规则的制定加载解析,以及报警执行器的定义加载和扩展进行了讲解,基本上核心的内容已经完结,接下来剩下内容就比较简单了
前面两篇分别说了报警执行器和报警规则的定义及用户扩展加载,接下来就是比较核心的一块了,如何将报警规则和报警执行器关联起来,即当发生报警时,应该call哪一个报警执行器
前面一篇是报警执行器的定义与加载已经完成,但与之对应的报警规则有是如何定义和加载的呢?
此外,既然命名为规则,那么就需要有对应的解析器,以根据报警规则和报警类型等相关输入条件,来选择对应的报警执行器,因此本文主要包括的内容就比较清晰了
根据前面一篇总纲的博文,将整体结构划分为了四大块,本文则主要目标集中在第一块,报警执行器(AlarmExecute)的设计与加载上了
主要的关注点无外乎 定义-》加载-》实现逻辑三块了:
一月都过了快一半了,现在写17年的总结确实有点小晚,之前就准备好好的写一下的,却是因为各种琐碎的事情耽搁了,好在最近清闲了不少,基本上没啥事情可做,干脆好好的总结下17年的工作生活吧。
Update your browser to view this website correctly. Update my browser now