11 2018 档案
摘要:CountDownLatch CyclicBarrier Semaphore 1.CountDownLatch 2.CyclicBarrier 3.Semaphore 搞明白 线程 锁和多线程系列 1.CountDownLatch CountDownLatch拥有类似线程计数器的功能, 每个线程执行
阅读全文
摘要:生产者 消费者 Condition BlockingDeque 1.wait notifyAll 2.ReentrantLock Condition 3.BlockingDeque 搞明白 线程 锁和多线程系列 1.wait notifyAll 首先使用最传统的wait notifyAll sync
阅读全文
摘要:重入锁 中断锁 公平锁 读写锁 自旋锁 1.重入锁 2.中断锁 3.公平锁 4.读写锁 5.自旋锁 搞明白 线程 锁和多线程系列 1.重入锁 在类中有 synchronized 方法A 和 synchronized 方法B,并在A中调用B,就形成了重入锁.获得A的对象锁,可以直接调用B,并不需要重新
阅读全文
摘要:多线程 synchronized锁 重入锁 读写锁 1.synchronized锁 2.Lock接口 3.ReentrantLock重入锁 4.ReentrantReadWriteLock读写锁 搞明白 线程 锁和多线程系列 1.synchronized锁 锁分为 类锁 和 对象锁, 方法锁和私有锁
阅读全文
摘要:线程 锁Synchronized 1.线程创建 1.1 继承Thread类 1.2 实现Runnable接口 1.3 实现Callable接口 使用方式 2.线程安全 搞明白 线程 锁和多线程系列 1.线程创建 线程创建常见的三种方式: 继承Thread类 实现Runnable接口 实现Callab
阅读全文
摘要:equals hashcode 当新建一个java类时,需要重写equals和hashcode方法,大家都知道!但是,为什么要重写呢? 需要保证对象调用equals方法为true时,hashcode必须相同. 先看下面的例子: 没有重写equals和hashcode方法User类 public cl
阅读全文
摘要:hash hashcode java 1.hash 2.hash算法 1.hash Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于
阅读全文
摘要:HashMap 底层原理 1.HashMap底层概述 2.JDK1.7实现方式 3.JDK1.8实现方式 4.关键名词 5.相关问题 1.HashMap底层概述 在JDK1.7中HashMap采用的是 数组Array 和 链表Link 这两种数据结构,而在JDK1.8中对底层实现进行了优化,开始采用
阅读全文
摘要:Java框架, Web框架, 分布式框架 ...眼花缭乱,层出不穷。闲言二三,以备后用 1.消息队列 “消息队列”是在消息的传输过程中保存消息的容器。 常用消息队列有: ActiveMQ,RabbitMQ,Kafka,Disruptor,ZeroMQ,MetaMQ,RocketMQ 2.分布式缓存
阅读全文
摘要:Dubbo Zookeeper Spring 1.部署dubbo服务管理中心 2.搭建dubbo服务环境 2.1 pom.xml 依赖 2.2 log4j.properties 日志打印 3.api模块定义公共接口 4.dubbo-provider实现接口提供服务 4.1 DemoServiceIm
阅读全文
摘要:zookeeper 一、单机安装 1.1 下载 1.2 安装 1.3 配置 1.4 启动和停止 二、伪集群模式 2.1 zookeeper1配置 2.2 zookeeper2配置 2.3 zookeeper3配置 三、集群模式 3.1 conf/zoo.cfg文件修改 3.2 data/myid文件
阅读全文