自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 kafka的基本概念

kafka的基本概念1.主题Kafka将一组消息抽象归纳为一个主题(Topic),也就是说,一个主题就是对消息的一个分类2.消息消息是Kafka通信的基本单位,由一个固定长度的消息头和一个可变长度的消息体构成。3。分区和副本Kafka将一组消息归纳为一个主题,而每个主题又被分为一个或者多个分区(Partition)。每个分区由一系列有序,不可变的消息组成,是一个有序队列。,每个分区又有一至多个副本(Replia),分区的每个副本分布在集群的不同代理上,以提高可用性。Kafka只能保证一个分区内

2020-11-05 13:28:07 142

原创 二叉树中和为某一值的路径

二叉树中和为某一值的路径话不多说先上代码import java.util.ArrayList;public class Findpath { //树节点 private static class TreeNode{ int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int x){ this.val

2020-10-27 22:29:12 106

原创 如何替换IDEA中默认对Maven(MAC)

下载maven使用Homebrew下载mavenbrew install maven下载好maven之后使用maven -version命令查询maven版本和路径,前往maven目录下找到conf文件下的settings.xml文件,修改配置文件替换maven打开IDEA,找到maven设置修改maven路径和配置路径,重新刷新依赖即可...

2020-06-01 20:40:49 552

原创 thrif安装及版本降级(MAC)

thrift安装首先在命令终端工具安装Homebrew,在命令行中输入下面对命令进行下载安装/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"在安装好之后,使用brew install thrift命令进行对thrift对安装在安装完之后,输入命令thrift -version查询thrift版本,现在可安装的最新版本为0.13.0,而我需要的是0.8.0

2020-06-01 20:26:49 580

原创 Redis集群模式

文章目录节点槽指派在集群中执行命令重新分片复制与故障转移节点一个Redis集群通常由多个节点(node)组成,在刚开始的时候,每个节点都是相互独立的。它们都处于一个只包含自己的集群,我们通过命令连接各个工作点CLUSTER MEET <ip> <port>Redis服务器在启动时会根据cluster-enabled配置选项是否为yes来决定是否开启服务器的集群模式,节点(运行在集群模式下的Redis服务器)会继续使用所有在单机模式中使用的服务器组件。在进行节点连接的过程中

2020-05-11 17:47:29 127

转载 Maven生命周期

Maven的生命周期其实是指它对所有的构建过程进行了反复的推敲、反思,之后总结了一套高度抽象过程。基本上包含了项目的清理、初始化、编译、测试、打包、集成测试、验证、部署、、站点生成等步骤Maven有三套相互独立的生命周期,分别是:clean、default、site。clean主要是清理项目、default是Maven最核心的的构建项目、site是生成项目站点。Maven生命周期阶段详解clean周期:pre-clean:准备清理clean:真正的清理工作post-clean:执行清理后的一些

2020-05-10 21:15:28 104

原创 Sentinel实现原理

启动并且初始化SentinelSentinel本质上只是一个运行在特殊模式下的Redis服务器,当一个Sentinel启动时,它需要执行以下步骤:1)初始化服务器。2)将普通Redis服务器使用的代码替换成Sentinel专用代码。3)初始化Sentinel状态。4)根据给定的配置文件,初始化Sentinel的监视主服务器列表。5)创建连向主服务器的网络连接。对于每个被Sentinel监视的主服务器来说,Sentinel会创建两个连向主服务器的异步网络连接:❑一个是命令连接,这个连接专门用于

2020-05-10 19:37:00 691

原创 Sentinel

SentinelSentinel(哨岗、哨兵)是Redis的高可用性(high availability)解决方案:由一个或多个Sentinel实例(instance)组成的Sentinel系统(system)可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器,然后由新的主服务器代替已下线的主服务器继续处理命令请求。server1的下线时长超过用户设定的下线时长上限时,Sentinel系统就会对serv

2020-05-10 18:49:13 96

原创 复制

旧版复制功能的实现Redis的复制功能分为同步和命令传播两个操作:同步操作用于将从服务器的数据库状态更新至主服务器当前所处数据库状态命令传播操作用于主服务器的数据库状态被修改,导致主从服务器状态不一致时,让主从服务器的数据库重新回到一致状态同步从服务器对主服务器的同步操作需要通过向主服务器发送SYNC命令来完成,以下是SYNC命令的执行步骤:1)从服务器向主服务器发送SYNC命令。2)收到SYNC命令的主服务器执行BGSAVE命令,在后台生成一个RDB文件,并使用一个缓冲区记录从现在开始执

2020-05-09 21:07:39 143

原创 Redis对象基础数据类型底层编码

字符串对象字符串的 编码可以是 int,raw,或者embstr如果一个 字符串对象保存的 是整数值,并且 这个 整数值可以用long类型来 表示,那么字符串对象会将整数值保存在字符串对象结构的ptr属性里面(将void*转换为long),并且将字符串对象的 编码设置成int如果字符串保存的是一个 字符串值,并且这个 字符串值的 长度大于44字节,那么字符串对象 将使用一个简单动态字符串来...

2020-05-07 17:44:24 183

原创 了解Zookeeper

Zookeeper基础Zookeeper并不直接暴露原语,暴露了由一小部分调用方法组成的类似文件系统的API,我们通常使用菜谱来表示这些原语的实现。菜谱包括Zookeeper操作和维护的一个小型的数据节点,这些节点被称为znode,采用类似于文件系统的层级树状结构进行管理/workers节点作为父节点,其下每个znode子节点保存了系统中一个可用节点的信息/tasks节点作为父节点,其下每...

2020-05-04 17:21:52 119

原创 java虚拟机类加载机制

类加载的时机其中验证,准备,解析三个部分统称为连接1.遇到new,getstatic,putstatic或invokestatic这四条字节码指令时,如果类没有进行过初始化,则需要先触发其初始化。生成这四条指令的最常见的Java代码场景是:使用new关键字实例化对象的时候,读取或设置一个类的静态字段的时候,以及调用一个类的静态方法的时候。2.使用java.lang.reflect包的方法对...

2020-04-02 13:24:17 89

原创 Redis的底层数据结构

文章目录1.演示数据类型的实现2.简单动态字符串3.链表4.字典5.跳跃表6.整数集合1.演示数据类型的实现OBJECT ENCODING key 该命令是用来显示那五大数据类型的底层数据结构。比如对于String类型:我们可以看到实现string数据类型的数据结构有 embstr 以及 int。再比如 list 数据类型:2.简单动态字符串Redis是用C语言写的,但...

2020-04-01 12:15:59 101

原创 Redis基础数据类型

Redis 数据类型Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。String(字符串)string是Redis最基本的数据结构,它将以一个键和一个值存储与Redis内部,它犹如Java的Map结构,让Redis通过键去找到值string 类型是二进制安全的。意思是 redis 的 st...

2020-03-30 23:08:16 85

原创 腾讯春招实习

自我介绍JAVA了解多吗,学习了什么框架之类的SSMhashmapcourrentHashMap,会出现什么样的问题,HashMap如何扩容线程并发情况下,怎样保证线程安全,JMM内存模型线程间怎么相互通信答:并发情况下JDK1.7 JDK1.8JAVA锁Lock与sy关键字的区别反射机制的实现原理,在类加载机制怎么拿到的,比如一个类有10个对象,类中有两个方法与属性,在内存中是...

2020-03-22 10:56:27 120

原创 腾讯微信部门一面

自我介绍首先上来肯定是自我介绍了balabala(姓名,核心能力,目的)公司业务这个说实话,刚开始问实习公司的业务,我还是没有想到的,所以对实习公司的业务一定要熟悉,如果在公司实习这么久连公司的业务都不是很熟悉的话,是很扣分的你在写代码过程中遇到什么问题这个问题,首先我回答的是代码量的挑战性,其次是代码规范,说到代码规范,面试官就开始问,能具体说说代码规范吗,比如呢,看过什么书,作者是谁...

2020-03-18 18:11:16 358

原创 面试复盘

面试复盘(阿里一面)阿里的一面难度并不是很大,但是感觉自己的表现特别差。第一道题目是你了解Hash吗hash,一般翻译为散列、杂凑,或者音译为哈希,是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间。它其实就是一个算法,最简单的算法就是加减乘除,比方,我设计个数字算法,输...

2020-03-12 23:58:29 327

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除