4 王磊的博客

尚未进行身份认证

公众号「Java中文社群」

等级
TA的排名 1w+

惊呆了,竟然可以用这种方式秒建Redis集群?

前面我们讲了《Redis 性能优化的 13 条军规!》,其中最重要的一条就是使用 Redis 的集群功能,那么本文我们就来看看,如何用 1s 钟的时间来创建一个 Redis 集群。Redis Cluster 是 Redis 3.0 版本推出的 Redis 集群方案,它将数据分布在不同的服务区上,以此来降低系统对单主节点的依赖,并且可以大大的提高 Redis 服务的读写性能。Redis 将所有的...

2020-03-27 17:33:38

Redis 性能优化的 13 条军规!史上最全

Redis 是基于单线程模型实现的,也就是 Redis 是使用一个线程来处理所有的客户端请求的,尽管 Redis 使用了非阻塞式 IO,并且对各种命令都做了优化(大部分命令操作时间复杂度都是 O(1)),但由于 Redis 是单线程执行的特点,因此它对性能的要求更加苛刻,本文我们将通过一些优化手段,让 Redis 更加高效的运行。本文我们将使用以下手段,来提升 Redis 的运行速度:缩...

2020-03-27 17:32:44

Java14来了!Switch竟如此简单?Lombok也不需要了?来用Idea搭建Java14吧!

Java 14 在 2020.3.17 日发布正式版了,但现在很多公司还在使用 Java 7 或 Java 8,每当看到 Java 又发布新版本心里就慌得一匹。不过此版本并不是 LTS (长期支持版) 版本,所以不要慌,我们先来了解一下好了,等 LTS 版本发布后再用也不迟。版本说明现在 Java 的发布节奏是每年发布两个 GA (General Availability,正式发布版),每 6...

2020-03-22 18:02:27

HashMap 为什么在链表长度为 8 的时候转红黑树,为啥不能是 9 是 10?

这个问题是在面试某公司的时候面试官提的问题,当时没回答上来。归根到底还是因为自己复习基础的时候还不够仔细,也缺乏思考。首先我觉得需要确认一下,是不是随便什么情况下只要满足了链表长度为8就转红黑树呢?答案自然不是,为什么不是,看代码: /** * Replaces all linked nodes in bin at index for given hash unless ...

2020-03-18 21:33:26

Java 官方性能测试工具 JMH 简单入门

什么是 JMHJMH 是 Java Microbenchmark Harness 的缩写。中文意思大致是 “JAVA 微基准测试套件”。首先先明白什么是“基准测试”。百度百科给的定义如下:基准测试是指通过设计科学的测试方法、测试工具和测试系统,实现对一类测试对象的某项性能指标进行定量的和可对比的测试。可以简单的类比成我们电脑常用的鲁大师,或者手机常用的跑分软件安兔兔之类的性能检测软件。都...

2020-03-18 15:59:07

因为我说:volatile 是轻量级的 synchronized,面试官让我回去等通知!

因为我说:volatile 是轻量级的 synchronized,面试官让我回去等通知!volatile 是并发编程的重要组成部分,也是面试常被问到的问题之一。不要向小强那样,因为一句:volatile 是轻量级的 synchronized,而与期望已久的大厂失之交臂。volatile 有两大特性:保证内存的可见性和禁止指令重排序。那什么是可见性和指令重排呢?...

2020-03-18 09:01:28

使用 Redis 如何实现查询附近的人?「视频版」——面试突击 003 期

面试问题Redis 如何实现查询附近的人?涉及知识点Redis 中如何操作位置信息?GEO 底层是如何实现的?如何在程序实现查询附近的人?在实际使用中需要注意哪些问题?视频答案视频地址:https://www.bilibili.com/video/av89369236/图文答案Redis 中要实现查询附近的人,需要使用 Redis 3.2 版本中提供的 GEO 数据类型,它...

2020-03-09 13:45:46

Redis 中的过期元素是如何被处理的?「视频版」——面试突击 002 期

本文以面试问题「Redis 中的过期元素是如何被处理的?」为切入点,用视频加图文的方式和大家聊聊 Redis 过期元素被处理的相关知识点。涉及的知识点过期删除策略有哪些?这些过期策略有哪些优缺点?Redis 使用的是什么过期策略?Redis 是如何优化和执行过期策略的?视频答案点击查看视频内容:https://www.bilibili.com/video/av887...

2020-03-03 11:50:48

面试突击 | Redis 如何从海量数据中查询出某一个 Key?附视频

1 考察知识点本题考察的知识点有以下几个:Keys 和 Scan 的区别Keys 查询的缺点Scan 如何使用?Scan 查询的特点2 解答思路Keys 查询存在的问题Scan 的使用Scan 的特点3 Keys 使用相关1)Keys 用法如下2)Keys 存在的问题此命令没有分页功能,我们只能一次性查询出所有符合条件的 key 值,如果查询结果...

2020-02-27 19:04:23

【吐血整理】年度盘点 | 2019年Java面试题汇总篇——附答案

在这岁月更替辞旧迎新的时刻,老王盘点了一下自己 2019 年发布的所有文章,意外的发现关于「Java面试」的主题文章,竟然发布了 52 篇,几乎是全年每周一篇面试文章的节奏,当然其中有不少的面试题来源于网络,但这些面试题都是经过我细心甄选的经典内容,只有我觉着对读者可能有帮助的面试文章才会被我「搬运」发布,所以在这个特殊的日子,我决定把这些面试题做一个汇总,方便读者集中阅读和收藏保存,Java 面...

2019-12-31 21:11:16

2019年总结 | 31岁,不过是另一个开始

多年前曾看过一个关于黄磊的采访,其中大部分的内容已经忘记的差不多了,其中有一句话一直记忆深刻,他说:“人生有很多阶段,每一个阶段都有它的快乐和苦涩,但这些你无法跨过去也不能退回来,你要做的就是享受每一个阶段所特有的快乐”,那一刻犹如醍醐灌顶,让我记忆至今。29 岁之后,开始觉得人生没有方向,不知道多年后的自己该去往何处归往何方,迷茫与焦虑的情绪与日俱增。于是就出现了 2017年的跨年,我独自在...

2019-12-22 13:01:30

Redis持久化的几种方式——深入解析RDB

Redis的读写都是在内存中,所以它的性能较高,但在内存中的数据会随着服务器的重启而丢失,为了保证数据不丢失,我们需要将内存中的数据存储到磁盘,以便 Redis 重启时能够从磁盘中恢复原有的数据,而整个过程就叫做 Redis 持久化。Redis 持久化也是 Redis和 Memcached 的主要区别之一,因为 Memcached是不具备持久化功能的。1.持久化的几种方式Red...

2019-11-17 22:45:54

Redis中的键值过期操作

1.过期设置Redis 中设置过期时间主要通过以下四种方式:expire key seconds:设置 key 在 n 秒后过期;pexpire key milliseconds:设置 key 在 n 毫秒后过期;expireat key timestamp:设置 key 在某个时间戳(精确到秒)之后过期;pexpireat key millisecondsTimestamp:设置 k...

2019-11-12 19:05:27

Redis事务深入解析和使用

作为关系型数据库中一项非常重要的基础功能——事务,在 Redis 中是如何处理并使用的?1.前言事务指的是提供一种将多个命令打包,一次性按顺序地执行的机制,并且保证服务器只有在执行完事务中的所有命令后,才会继续处理此客户端的其他命令。事务也是其他关系型数据库,所必备的一项非常重要的能力。以支付的场景为例,正常情况下只有正常消费完成之后,才会减去账户余额。但如果没有事务的保障,可能会发生消...

2019-10-28 21:06:09

Java面试全解析——505道面试题详解

《Java面试全解析》是我在 GitChat 发布的一门电子书,全书总共有 15 万字和 505 道 Java 面试题解析,目前来说应该是最实用和最全的 Java 面试题解析了。我本人是 2009 年参加编程工作的,一路上在技术公司摸爬滚打,前几年一直在上海,待过的公司有 360 和游久游戏,因为自己家庭的原因,放弃了阿里钉钉团队的 offer 回到了西安。从 2015 年四月开始在一家上市公...

2019-10-23 19:41:05

深浅克隆面试题汇总——附详细答案

在开始学习深克隆和浅克隆之前,我们先来看下面代码,有什么问题?class CloneTest { public static void main(String[] args) throws CloneNotSupportedException { // 等号赋值( 基本类型) int number = 6; int number2 = n...

2019-09-18 09:37:45

Java 最常见的 200+ 面试题:面试必备

这份面试清单是从我2015年做了TeamLeader之后开始收集的,一方面是给公司招聘用,另一方面是想用它来挖掘在Java技术栈中,还有那些知识点是我不知道的,我想找到这些技术盲点,然后修复它,以此来提高自己的技术水平。虽然我是从2009年就开始参加编程工作了,但我依旧觉得自己现在要学的东西很多,并且学习这些知识,让我很有成就感和满足感,那所以何乐而不为呢?说回面试的事,这份面试...

2019-07-10 17:41:50

RocketMQ 可视化环境搭建和基础代码使用

RocketMQ 是一款分布式消息中间件,最初是由阿里巴巴消息中间件团队研发并大规模应用于生产系统,满足线上海量消息堆积的需求, 在 2016 年底捐赠给 Apache 开源基金会成为孵化项目,经过不到一年时间正式成为了 Apache 顶级项目。早期阿里曾经基于 ActiveMQ 研发消息系统, 随着业务消息的规模增大,瓶颈逐渐显现,后来也考虑过Kafka,但因为在低延迟和高可靠性方面没有选择,最...

2019-07-03 19:26:04

解决SpringBoot多模块发布时99%的问题?SpringBoot发布的8个原则和4个问题的解决方案

如果使用的是 SpringBoot 多模块的项目,在发布的时候可能遇到各种各样的问题。本文归纳了以下 8 个原则和发布时经常出现的 4 个问题的解决方案,掌握了这些原则和解决方案,几乎可以解决绝大数 SpringBoot 发布问题。SpringBoot 多模块发布的 8 大原则1 在发布模块打包,而不是父模块上打包比如,以下项目目录:如果要发布 api 就直接在它的模块上打包,而不是在...

2019-06-20 15:54:57

经典面试题|讲一讲JVM的组成

JVM(Java 虚拟机)算是面试必问的问题的了,而但凡问 JVM 一定会问的第一个问题就是:讲一讲 JVM 的组成?那本文就注重讲一下 JVM 的组成。首先来说 JVM 的组成分为,整体组成部分和运行时数据区组成部分,一般开发者关注的和面试官问的都是后者,但本文会详细讲解以上两个组成部分。一、JVM 整体组成JVM 整体组成可分为以下四个部分:类加载器(ClassLoader)...

2019-04-10 09:23:05

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 脉脉勋章
    脉脉勋章
    绑定脉脉第三方账户获得
  • 图书勋章
    图书勋章
    CSDN技术图书作者专属勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 技术圈认证(专家版)
    技术圈认证(专家版)
    博客专家完成年度认证,即可获得
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    参与《原力计划【第二季】— 学习力挑战》获得推荐的原创文章的博主