04 2019 档案
摘要:docker 中下载 mysql docker pull mysql 启动 docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql 进入容器 docker exec -it mysql bash 登录my
阅读全文
摘要:介绍 等待-通知机制java在多线程开发当中对锁等待的一种完善。 当一个线程无法满足当前工作的条件的时候,可以让其进入对象等待池,并释放掉当前锁对象。当其他线程调用notifyAll() 或者notify()的时候就会唤醒线程,将线程放入** 锁等待池**。 可以进行争夺锁对象。 使用方法 可以调用
阅读全文
摘要:死锁造成的原因 有线程T1 和线程T2 ,T1占用资源A也就是锁住了A对象synchronized(A),T2占用资源B也就是锁住了资源B对象syncrhonized。此时T1线程在去申请获取B对象的时候,T2线程还没有释放资源。T1线程就会一直等待资源B,并且也不会释放资源A.而T2也去申请资源A
阅读全文
摘要:开头: 互斥锁是为了保证同一个方法同时间只有一个线程去执行,这个也是在多线程开发当中最基本的实现。在java体系当中有很多方法可以实现目的,如: synchronized ,lock ,redis分布式锁,zk分布式锁,基于数据库实现悲观锁等等。 本文将介绍synchronized这个java原生支
阅读全文
摘要:随着jdk不断开发, 一些基本集合的实现方法也有所不同。 本文主要分析jdk7和jdk8。 JDK8中的HashMap HashMap底层维护了一个数组, 数组中的很一项是一个Entry。 1.创建 一个HashMap HashMap<String, Integer> map = new HashM
阅读全文