自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 问答 (1)
  • 收藏
  • 关注

原创 java接口中的default方法

在java8以后,接口中可以添加使用default或者static修饰的方法,在这里我们只讨论default方法,default修饰方法只能在接口中使用,在接口种被default标记的方法为普通方法,可以直接写方法体。实现类会继承接口中的default方法如果接口A中有default方法:public interface A { public default void a(){ System...

2018-02-24 17:26:16 91307 14

原创 java详解动态代理中的代理对象

相信大家都使用过动态代理,就算没有写过,应该也用过Spring来做过Bean的组织管理。如果使用过Spring,那大多数情况应该已经不知不觉地用到动态代理了。动态代理中所说的“动态”,是针对使用Java代码实际编写了代理类的“静态”代理而言的,它的优势不在于省去了编写代理类那一点编码工作量,而是实现了可以在原始类和接口还未知的时候,就确定代理类的代理行为,当代理类与原始类脱离直接联系后,就可以很灵活地重用于不同的应用场景之中。1、话不多说,直接上代码public class DynamicP.

2021-07-09 11:34:59 2320

原创 Java重写方法调用的本质

标题太大,在这里写一部分,在 JVM 中,方法的调用被广泛称为分派,运行期根据实际类型确定方法执行版本的分派过程称为动态分派,如重写方法的调用。动态分派的理解:根据对象的实际类型,来确认调用的方法版本,子类有重写方法,则调用子类的重写方法,否则去父类找对应的方法,这就是 invokevirtual 指令的执行逻辑,这是 java 里面对于方法重写的本质。以下代码中的 Father gay = new Son(); 中,Father 称为变量的静态类型,Son 称为变量的实际类型。这里贴出一段代码

2021-06-21 17:41:02 719

原创 Java常量池中的字符串为什么有字符长度限制?

Java的字符串能表示的最大长度,是使用 UTF-8 缩略编码表示的最大 64kb 的长度。关于 java 编译产生的 Class 文件中的字符串编码Class文件使用的字符串编码是 UTF-8 缩略编码。UTF-8 缩略编码与普通 UTF-8 编码的区别是:从 '\u0001' 到 '\u007f' 之间的字符(相当于 1~127 的ASCII码)的缩略编码使用一个字节表示,从 '\u0080' 到 '\u07ff' 之间的所有字符的缩略编码用两个字节表示,从 '\u0800' 开始到 '\u

2021-04-02 17:50:04 689

转载 小程序笔记(一)程序包wxapkg反编译2020.05版

一. 准备工具:1 node.js运行环境如果没有安装nodejs,请先安装。下载地址:https://nodejs.org/en/测试成功否输入node -v查看node的版本号,以前安装过node.js然后找node.js安装目录:cmd-->where node2.反编译的脚本亲改的2020.05版百度网盘:链接:https://pan.baidu.com/s/13-AYgHutvkOn36A-iGsQE...

2021-04-01 09:59:19 1665 1

原创 redis cluster集群 slot 计算方法

一条 redis 命令或一个 lua 脚本发送到 redis 集群后,如何计算具体在哪一台 redis 实例去执行命令,以及如何指定在某一台 redis 去执行呢?答案是slot(槽),每个 redis 集群都会有 16384 个slot,这些 slot 会分布在所有 master 节点中。一、如何计算 slot ?对键通过 执行 crc16 算法,再对 16384 取余,即可得到一个小于 16384 的数,该结果就是 slot,哪个slot 由哪个 redis 节点管理,是在集群启动后就已经.

2021-03-25 16:39:08 3283

转载 Redis Cluster的分区实现原理

我们为什么要分区?分区的动机是什么?通常来说,Redis分区的好处大致有如下两个方面:1.性能的提升,单机Redis的网络I/O能力和计算资源是有限的,将请求分散到多台机器,充分利用多台机器的计算能力可网络带宽,有助于提高Redis总体的服务能力。2.存储的横向扩展,即使Redis的服务能力能够满足应用需求,但是随着存储数据的增加,单台机器受限于机器本身的存储容量,将数据分散到多台机器上存储使得Redis服务可以横向扩展。总的来说,分区使得我们本来受限于单台计算机硬件资源的问题不再是问题

2021-03-25 15:32:00 203

转载 Redis 的 MOVED 转向与 ASK 转向

1. 引言上一篇文章中,我们介绍了redis集群的搭建。redis集群详解及搭建过程其中我们遇到了报错:这就是所谓的“MOVED转向”,那么什么是MOVED转向呢?本篇日志我们就来介绍一下。2. MOVED转向当我们使用操作redis单节点的client来操作集群时,常常能够遇到上面的报错。按照redis官方规范,一个Redis客户端可以向集群中的任意节点(包括从节点)发送命令请求。节点会对命令请求进行分析,如果该命令是集群可以执行的命令,那么节点会查...

2021-03-25 15:25:55 1223

原创 Java中Arrays类中的binarySearch方法详解

1.它有很多重载的方法:static intbinarySearch(byte[] a, byte key)使用二分搜索法来搜索指定的 byte 型数组,以获得指定的值。static intbinarySearch(byte[] a, int fromIndex, int toIndex, byte key)使用二分搜索法来搜索指定的 byte 型数

2018-02-02 16:33:13 4520 1

空空如也

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

TA关注的人

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