摘要: ExecutorService pool = Executors.newSingleThreadExecutor();//线程池中只有一个线程 单个线程/*第一种方法:运行结果发现,十个任务都是被同一个线程执行的pool-1-thread-1 >ok pool-1-thread-1 >ok pool 阅读全文
posted @ 2020-05-28 14:59 SpaceJz 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 阻塞队列特性:FIFO 先进先出 first input first output 在多线程并发处理,线程池中我们会使用到阻塞队列。 不得不阻塞: 写入:如果队列满了,就必须阻塞等待 取出:当队列是空的,那就必须阻塞等待生产 BlockingQueye : 阻塞队列 Deque : 双端队列 Abs 阅读全文
posted @ 2020-05-27 19:11 SpaceJz 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 从工作目录add到暂存区 从暂存区commit到本地仓库 本地仓库push提交到远程 workspace --add--> Index --commit-->Repository push-> Remote 创建本地仓库的方法: 1、创建全新的仓库,命令执行后生成一个隐藏的.git文件夹 git i 阅读全文
posted @ 2020-05-27 16:05 SpaceJz 阅读(115) 评论(0) 推荐(0) 编辑
摘要: cd *** 改变目录至*** cd .. 返回上一级目录 touch index.html 当前目录下创建文件 mkdir *** 创建***文件夹 mv 谁 谁 移动文件到哪个文件里 ls 列出当前目录中的所有文件 ll列出的更加详细 rm 删除一个文件 rm index.html rm -r 阅读全文
posted @ 2020-05-26 19:29 SpaceJz 阅读(281) 评论(0) 推荐(0) 编辑
摘要: ReadWriteLock:读写锁 已知实现类,ReentrantReadWriteLock -->可重入读写锁 ReadWriteLock维护一对关联的locks,一个用于只读操作,一个用于写入操作。 read lock可以有多线程同时读取,write lock只能有一个线程去写。 /*希望写入的 阅读全文
posted @ 2020-05-24 16:45 SpaceJz 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 1、CountDownLatch 减法计数器 CountDownLatch 作为计数器使用,顾名思义,是做 - - 的计数器。 在必须要执行某些任务的时候使用此辅助。 如下图可见,未等待计数器归零,则有可能出现有的学生还没出去就已经关门了。 解决办法就是添加一个await()等待该计数器归零。在执行 阅读全文
posted @ 2020-05-24 15:39 SpaceJz 阅读(238) 评论(0) 推荐(0) 编辑
摘要: List<String> list = new CopyOnWriteArrayList<>();for (int i =1; i <= 10; i++) { new Thread(()->{ list.add(UUID.randomUUID().toString().substring(0,5)) 阅读全文
posted @ 2020-05-24 13:24 SpaceJz 阅读(147) 评论(0) 推荐(0) 编辑
摘要: public class Lock8 { public static void main(String[] args) { Phone p = new Phone(); new Thread(()->{ p.sendMsg();},"a").start(); TimeUnit.SECONDS.sle 阅读全文
posted @ 2020-05-24 11:21 SpaceJz 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 1.栈溢出异常(StackOverflowError) 形成原因: 死循环调用方法。 前几天提了关于栈溢出的一个故障单。微服务A请求微服务B资源的一个方法变成了懒加载,懒加载方法中判断当资源为空时就向微服务C请求资源,请求得到资源后,先缓存,再通微服务A去更新数据库{更新表结构时候还会向微服务B请求 阅读全文
posted @ 2020-05-24 11:10 SpaceJz 阅读(219) 评论(0) 推荐(0) 编辑