03 2020 档案

摘要:1. 概述 策略模式(Strategy Pattern)是比较典型的对象行为型模式,它是将对处理对象的一系列不同算法都单独抽离出来,单独封装成一个个类。策略的出现,主要是为了解决不同算法替换时的逻辑判断, 将逻辑判断移到 Client 中去(即由客户端自己决定在什么情况下使用什么具体策略) 。 2. 阅读全文
posted @ 2020-03-18 20:31 当我遇上你csy 阅读(295) 评论(0) 推荐(0) 编辑
摘要:1. 概述 接上一篇 "学习 ConcurrentHashMap1.8 并发写机制" , 本文主要学习 的实现原理。 虽然 在生产环境已逐渐被 替代,然而一些好的思想还是需要进行学习的。比方说位图中寻找 位的思路是不是和 有点相似? 接下来,本文基于 来做源码解析。 2. ConcurrentHas 阅读全文
posted @ 2020-03-17 22:02 当我遇上你csy 阅读(2494) 评论(1) 推荐(0) 编辑
摘要:1. 前言 上篇文章讲了 Unsafe 类中 CAS 的实现,其实是在为这篇文章打基础。不太熟悉的小伙伴请移步 "Unsafe 中 CAS 的实现" 。本篇文章主要基于 来做源码解析。 2. 源码 ConcurrentHashMap 基于 HashMap 实现。 JDK1.7 和 JDK1.8 作为 阅读全文
posted @ 2020-03-15 23:55 当我遇上你csy 阅读(664) 评论(0) 推荐(0) 编辑
摘要:前言 Unsafe 是位于 sun.misc 包下的一个类。Unsafe 提供的 API 大致可分为内存操作、CAS、Class 相关、对象操作、线程调度、系统信息获取、内存屏障、数组操作等几类。由于并发相关的源码很多用到了 CAS,比如 java.util.concurrent.atomic 相关 阅读全文
posted @ 2020-03-15 11:19 当我遇上你csy 阅读(479) 评论(0) 推荐(0) 编辑
摘要:1. 前言 还是从面试中来,到面试中去。面试官在面试 Redis 的时候经常会问到,Redis 的 LRU 是如何实现的?如果让你实现 LRU 算法,你会怎么实现呢?除了用现有的结构 LinkedHashMap 实现,你可以自己实现一个吗?跳跃表、小顶堆行不行... 阅读这篇文章前建议大家先熟悉下 阅读全文
posted @ 2020-03-14 00:27 当我遇上你csy 阅读(401) 评论(0) 推荐(2) 编辑
摘要:1. 概述 Hashset 实现 set 接口,底层基于 Hashmap 实现, 但与 Hashmap 不同的实 Hashmap 存储键值对,Hashset 仅存储对象。 HashSet 使用成员对象来计算 hashcode 值。 2. 原理 在《Head fist java》一书中有描述: 当你把 阅读全文
posted @ 2020-03-12 18:11 当我遇上你csy 阅读(264) 评论(0) 推荐(0) 编辑
摘要:一、前言 MySQL分页查询作为Java面试的一道高频面试题,这里有必要实践一下,毕竟实践出真知。 很多同学在做测试时苦于没有海量数据,官方其实是有一套测试库的。 二、模拟数据 这里模拟数据分2种情况导入,如果只是需要数据测试下,那么推荐官方数据。如果官方数据满足不了需求的话,那么我们自己模拟数据。 阅读全文
posted @ 2020-03-10 21:51 当我遇上你csy 阅读(265) 评论(0) 推荐(0) 编辑
摘要:1. 前言 上一篇从源码方面了解了JDK1.7中Hashmap的实现原理,可以看到其源码相对还是比较简单的。本篇笔者和大家一起学习下JDK1.8下Hashmap的实现。JDK1.8中对Hashmap做了以下改动。 默认初始化容量=0 引入红黑树,优化数据结构 将链表头插法改为尾插法,解决1.7中多线 阅读全文
posted @ 2020-03-06 09:48 当我遇上你csy 阅读(1100) 评论(0) 推荐(1) 编辑
摘要:1. 前言 Hashmap可以说是Java面试必问的,一般的面试题会问: Hashmap有哪些特性? Hashmap底层实现原理(get\put\resize) Hashmap怎么解决hash冲突? Hashmap是线程安全的吗? ... 今天就从源码角度一探究竟。笔者的源码是OpenJDK1.7 阅读全文
posted @ 2020-03-05 13:14 当我遇上你csy 阅读(675) 评论(2) 推荐(0) 编辑
摘要:1. 概述 Apache Kafka 是一个快速、可扩展的、高吞吐、可容错的分布式发布订阅消息系统。其具有高吞吐量、内置分区、支持数据副本和容错的特性,适合在大规模消息处理场景中使用。 笔者之前在物联网公司工作,其中 Kafka 作为物联网 MQ 选型的事实标准,这里优先给大家搭建 Kafka 集群 阅读全文
posted @ 2020-03-04 20:11 当我遇上你csy 阅读(4773) 评论(1) 推荐(0) 编辑
摘要:1. 概述 这里是 Docker 实战系列第四篇。主要介绍分布式系统中的元老级组件 Zookeeper。 ZooKeeper 是一个开源的分布式协调服务,是 Hadoop,HBase 和其他分布式框架使用的有组织服务的标准。 分布式应用程序可以基于 ZooKeeper 实现诸如数据发布/订阅、负载均 阅读全文
posted @ 2020-03-03 22:20 当我遇上你csy 阅读(1627) 评论(0) 推荐(2) 编辑
摘要:前言 最近参加了几场 Java 面试,发现大多数的微服务实践还是 Eureka 偏多,鉴于笔者的单位选型 Consul,这里对 Consul 做简单总结。 该篇是 Docker 实战系列的第三篇。传送门: "Docker 实战之 MySQL 主从复制" "Docker 实战之 Redis Clust 阅读全文
posted @ 2020-03-02 23:24 当我遇上你csy 阅读(1444) 评论(2) 推荐(3) 编辑
摘要:概述 接上一篇 "Docker实战之MySQL主从复制" , 这里是Docker实战系列的第二篇,主要进行Redis Cluster集群环境的快速搭建。Redis作为基于键值对的NoSQL数据库,具有高性能、丰富的数据结构、持久化、高可用、分布式等特性,同时Redis本身非常稳定,已经得到业界的广泛 阅读全文
posted @ 2020-03-01 19:17 当我遇上你csy 阅读(3975) 评论(0) 推荐(3) 编辑

点击右上角即可分享
微信分享提示