自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

日有寸进

世上只有一种英雄主义,就是在认清生活真相之后依然热爱生活。

  • 博客(8)
  • 资源 (1)

原创 基于 SpringBoot 手写 RPC 框架
原力计划

目录文件目录Messageconsumer@EnableRpcConsumer@ReferenceReferenceInvokeProxyRpcHandlerprovider@EnableRpcProvider@ServiceBeanMethodInitialMediatorMediatorServiceHandlerSocketServerInitial示例consumer启动类配置文件TestControllerprovider启动类配置文件ExampleServiceImpl结果文件目录Mess

2020-06-20 11:46:48 109

原创 序列化相关面试题

1.如果一个子类实现了序列化,父类没有实现,那么父类中的成员变量能否被序列化?不会。2.transient是干嘛的?有什么方法能够绕过transient的机制?这个实现机制的原理是什么?transient是干嘛的?transient 关键字的作用是控制变量的序列化,在变量声明前加上该关键字,可以阻止该变量被序列化(Java 的序列化方式)到文件中,在被反序列化后,transient 变量的值被设为初始值。有什么方法能够绕过transient的机制?虽然 name 被 transient 修饰,但

2020-06-16 16:05:47 158

原创 如何选择线程池最优线程数

目录任务分类公式公式一公式二对比联想CPU密集型IO密集型任务分类我们一般用一个线程池做同一种类型的任务,而不是把各种类型的任务都丢进同一个线程池执行。而任务可以分成2种类型:CPU 密集型、IO密集型。公式先来看看2个公式,这两个公式适用任何一种类型。公式一Nthreads = Ncpu x Ucpu x (1 + W/C)其中:Ncpu = CPU的核心数量Ucpu = CPU的使用率, 0 <= Ucpu <= 1W/C = 等待时间与计算时间的比率注意: Inte

2020-06-12 16:51:22 238

原创 什么是 RESTful ?

目录约束Representational State TransferResourcesRepresentationalState Transfer约束前后端分离出现后,后端提供给前端的 API 应该如何设计成则便于理解、容易使用的,成了一个问题。而所谓的 RESTful 就是用来规范后端提供的 API 的一种约束。Representational State TransferRESTful,意思是 REST 风格的。REST 是 Representational State Transfer 的

2020-06-10 10:13:17 75

原创 面试题:NIO/Netty 中的零拷贝体现在哪里?
原力计划

目录DirectByteBuffer 与 HeapByteBuffer 的关系面试题:NIO 的零拷贝体现在哪里?关于 Java 里的 IO 这一块,相关代码大量调用了 JNI(Java Native Interface),JNI 是由 c/c++ 写的。而这些底层语言关于 IO 这一块,调用的是“系统调用”,“系统调用”是系统提供的接口。DirectByteBuffer 与 HeapByteBuffer 的关系我们创建一个 DirectByteBuffer:类 ByteBufferpublic

2020-06-06 08:54:39 144

原创 门面模式

门面模式( Facade Pattern)又叫外观模式,提供了一个统一的接口,用来访问子系统中的一群接口特征:门面模式定义了一个高层接口,让子系统更容易使用属于结构型模式与代理模式的区别从实现上看,其实就是一种静态代理。但是它的重点在于封装与对外展示。而静态代理,重点在于增强。学设计模式,要看思想,不能只看代码。与单例模式的关系门面模式经常做成单例模式,比如各种工具类。优点1、简化了调用过程,无需深入了解子系统,以防给子系统带来风险2、减少系统依赖、松散耦合(对客户端而言)3、

2020-06-04 16:48:12 56

原创 Redis Cluster 集群原理
原力计划

简介Redis Cluster 是 Redis3.0 版本后推出的分布式解决方案,当遇到单机内存、并发等瓶颈时,可使用此方案来解决。和 主从模式 和 哨兵模式 不同的是:主从模式和哨兵模式只能保证高可用,每一台机器存储的内容是相同的。Cluster 能够让 Redis 存储更多的内容,集群里 master 之间的内容是不同的。另外每一个 master 还可以配置自己的 slave 达到高可用分区规则Redis Cluste r采用了哈希分区的“虚拟槽分区”方式所有的键根据哈希函数 (CRC

2020-06-03 08:42:29 53

原创 System.exit(0) 与 System.exit(1) 在运行上有何区别

疑问看到很多博客上说,System.exit(status) ,status 为 0 就是正常退出,status 为 1 是非正常退出。真的是这样吗?代码测试public class Test { public static void main(String[] args) { try{ throw new RuntimeException(); }catch (Exception e){ System.exit

2020-06-01 09:16:45 176

mysql-5.7.9-linux-glibc2.5-x86_64.tar.gz

Linux 使用的版本是centos 7,为方便起见,先把防火墙关闭,配置好网络,在安装部分,会分成两部分讲,首先讲单实例安装,也就是一台服务器上就装一个mysql,接下来就多实例安装,在一个服务器上安装2个甚至多个mysql.

2019-09-17

空空如也

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