自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (1)
  • 收藏
  • 关注

原创 RocketMQ高阶业务问题及解决方案

RocketMq全链路消息零丢失方案发送消息到mq零丢失: 事务消息 Broker 存储消息零丢失:同步刷盘+主从机制 Consumer 消费消息零丢失:手动提交offset + 自动故障转移Broker消息零丢失方案:同步刷盘 + Raft协议主从同步Broker 是负责存储消息的,怎么保证消息发送到Broker后,一定不会丢失呢?刷盘失败首先RocketMq一般情况下,为了保证高吞吐量,使用的是异步刷盘策略。但是这种策略会出现消息写入os cache成功,但是异步写入磁盘的时候失败

2020-06-28 20:41:23 678

原创 JVM系列之垃圾回收器——G1的运行原理以及调优思路

1. G1 垃圾回收器Garbage First 简称 G1,是继 CMS 垃圾回收器之后,又一款并发的垃圾回收器,在 JDK7 中被去掉 Experimental 标识,开始可以被正式使用,在 JDK9 中被 JVM 设置为默认的垃圾回收器。G1 是垃圾收集器发展史上的一个新的里程碑,它采用分区算法,基于 Region 的内存布局方式,对整个堆内存进行局部回收,既能回收新生代,也能回收老年代。G1 垃圾回收器的目标是在期望的停顿时间内,尽可能地提高系统的吞吐量。2. G1 的特点与上篇文章(J

2020-06-28 20:41:12 2111

原创 小白进阶篇之为什么你的JVMSurvivor区仅仅20M

背景某一天,有一位同学在群里发来一张 jmap -heap 内存使用情况图。说 Survivor 区占比总是在 98% 以上。仔细观察这张图,其中包含几个重要信息:From 和 To 区都比较小,只有 10M。容量比较小,才显得占比高。 Old 区的占比和使用量(两个多 G)都比较高。此外,还可以看到 Eden、From、To 之间的比例不是默认的 8:1:1。于是,立马就想到 AdaptiveSizePolicy。经群友的确认,使用的是 JDK 1.8 的...

2020-06-27 19:26:31 1090

原创 聊聊nacos-sdk-go的NamingProxy

序本文主要研究一下nacos-sdk-go的NamingProxyNamingProxynacos-sdk-go-v0.3.2/clients/naming_client/naming_proxy.gotype NamingProxy struct { clientConfig constant.ClientConfig nacosServer nacos_server.NacosServer}复制代码NamingProxy定义了clientConfig、nacosServe

2020-06-27 19:26:23 553

原创 Spring 通过BeanInstance获取对象

Spring Bean 的实例化_02你的赞是我最大的动力,期待与你共同进步  在上篇文章中提到 Object sharedInstance = getSingleton(beanName); 这一行代码,在容器初始化的时候返回的对象为null。 但是,今天这篇文章中,我要先来处理 sharedInstance 不为null的情况,看看Spring做了什么样的处理。对应下述流程图中的方法: getObjectForBeanInstanceprotected Object getObje

2020-06-26 21:32:06 509

原创 Java本地缓存技术选型(Guava Cache、Caffeine、Encache)

言对一个java后台开发者而言,提到缓存,第一反应就是redis和memcache。利用这类缓存足以解决大多数的性能问题了,并且java针对这两者也都有非常成熟的api可供使用。但是我们也要知道,这两种都属于remote cache(分布式缓存),应用的进程和缓存的进程通常分布在不同的服务器上,不同进程之间通过RPC或HTTP的方式通信。这种缓存的优点是缓存和应用服务解耦,支持大数据量的存储,缺点是数据要经过网络传输,性能上会有一定损耗。与分布式缓存对应的是本地缓存,缓存的进程和应用进程是同一个,数

2020-06-26 21:31:57 1633

原创 活到老学到老,原来Spring使用到的是这些设计模式

设计模式单例模式懒汉式有线程安全和不安全的写法public class SingletonL { private static SingletonL instance=null; private SingletonL(){} public static SingletonL getInstance(){ if(instance == null){ instance=new SingletonL(); }

2020-06-22 19:22:34 384

原创 你真的理解MySQL锁么,来看看大牛是怎么分析的

MySQL锁1、基本概念锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中的数据也是一种供多个用户使用的共享资源,当多个用户并发地存取数据时,在数据库加锁的目的可以保证数据库数据的一致性。 锁的类型 在数据库中,对数据的操作其实只有两种,即读和写,所以可用共享锁和互斥锁实现,即共享锁间之间是兼容的,而互斥锁间不兼容。 共享锁(读锁):允许事务读 互斥锁(写锁):允许事务删除或者更新一行数据 共享锁代表了读操作、互斥锁代表了写操作,所以我们可以在数据

2020-06-22 19:22:03 473

原创 聊聊kingbus的binlog_server_handler.go

序本文主要研究一下kingbus的binlog_server_handler.goStartBinlogServerkingbus/api/binlog_server_handler.go//StartBinlogServer implements start a binlog serverfunc (h *BinlogServerHandler) StartBinlogServer(echoCtx echo.Context) error { h.l.Lock() defer h.l

2020-06-19 14:22:23 447

原创 活到老学到老,大牛总结JAVA线程池,纯源码分享指南

线程池的工作原理,以及拒绝策略,大家都很熟悉,下面主要讲一下线程池shutdown的原理,以及一些不常用操作的原理。shutdownpublic void shutdown() { final ReentrantLock mainLock = this.mainLock; mainLock.lock(); try { checkShutdownAccess(); advanceRunState(SHUTDOWN); inter

2020-06-18 16:29:13 386

原创 Java多线程基础以及线程如何安全的中断

进程与线程进程进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位,比如我们windows电脑上运行的一个程序就是一个进程。在传统进程中进程是资源分配和调度的一个基本单位,在后来引入线程概念后,进程就变成了资源分配的基本单位但不是调度的基本单位。为什么要有线程在说线程前,总结下进程的特点:进程是一个可拥有资源的独立单位; 进程是一个可独立调度和分派的基本单位。这样来看的话好像是没什么问题,但是在多任务环境中,不可能说让所有任务排队,前面的处理完了才处理后面的任务。如果要让

2020-06-03 21:53:17 470

原创 记一次 K8S 内部服务调用域名解析超时排坑经历

前言近期线上 k8s 时不时就会出现一些内部服务间的调用超时问题,通过日志可以得知超时的原因都是出现在域名解析上,并且都是 k8s 内部的域名解析超时,于是直接先将内部域名替换成 k8s service 的 IP,观察一段时间发现没有超时的情况发生了,但是由于使用 service IP 不是长久之计,所以还要去找解决办法。复现一开始运维同事在调用方 pod 中使用ab工具对目标服务进行了多次压测,并没有发现有超时的请求,我介入之后分析ab这类 http 压测工具应该都会有 dns 缓存,而我们.

2020-06-03 21:53:06 1932

effective-java.pdf

《Effective Java》是Java程序员必看的一本书神书,号称Java四大名著之一。随着Java 8,9, 10 ,甚至11的发布,Java语言发生了很多的变化,之前的第二版有些内容已经不太适用了。 这本书第三版的英文版已经于去年发布。在发布后,便有程序员开始翻译其中文版,目前所有章节均已翻译完成,目前已经开放阅读及下载。

2020-04-10

空空如也

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

TA关注的人

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