自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 基于Netty搭建的轻量级RPC框架

然后启动RPC client,在启动过程中,client会向zookeeper获取服务器列表并与服务器相连,同时启动过程中会对通信接口进行动态代理,因为rpc的本质是像调用本地方法那样进行网络通信,所以动态代理的目的是完成通信过程的配置,比如将调用方法传递的参数包装成一个request,并使用netty的通信接口将request发送出去,从而达到对调用者隐藏通信细节的目的。最后,基于Zookeeper的watcher机制实现了客户端对服务端节点的监视功能。

2023-07-23 18:58:03 80

原创 关于Redis详解和相关主要机制

Redis数据库里面的每个键值对都是由对象组成的,其中:1、数据库键总是一个字符串对象2、数据库键的值可以是字符串对象、列表对象、哈希对象、集合对象、有序集合对象这五种中的任意一种Redis服务器将所有数据库都保存在服务器状态redis.h/redisServer结构的db数组中,db数组的每个项都是一个redis.h/redisDb结构,每个redisDb结构代表一个数据库;而数据库的数量则由redisServer.dbnum属性保存。

2023-07-22 17:18:52 213

原创 垃圾回收机制

但是在G1收集器上记忆集的应用其实要复杂很多,它的每个Region都维护有自己的记忆集,这些记忆集会记录下别的Region指向自己的指针,并标记这些指针分别在哪些卡页的范围之内。多个GC线程并发工作,此时用户线程是暂停的,ParNew收集器可以看作是串行收集器的多线程并行版,它和Serial收集器一样可以和CMS收集器配合工作,在并发能力好的CPU环境里,它停顿的时间要比串行收集器短,单对于单CPU或者并发能力较弱的CPU,由于多线程的交互开销,它的性能可能比串行回收期更差。

2023-07-14 11:28:40 76

原创 JVM概述

访问标记结束之后,后面的四个字节头两个代表当前类索引,及其父类索引,类索引用于确定当前类的全限定名,父类索引用于确定当前类父类的全限定名。类索引和父类索引各自指向一个类型为CONSTANT_Class_info的类描述符常量,通过CONSTANT_Class_info类型的常量中的索引值可以找到定义在CONSTANT_Utf8_info类型的常量中的全限定名字符串。第九、十个字节表示常量池中的常量个数,因为它的计数是从1开始的,所以实际中常量池中的容量比十六进制表示的值要小1。

2023-07-13 15:36:56 62 1

空空如也

空空如也

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

TA关注的人

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