自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 网络延时抖动

排查并解决延时抖动

2022-06-22 16:55:13 3149

原创 G1 young gc日志分析

G1 日志分析

2022-06-02 12:42:59 406

原创 [问题跟进]解决Allocation stall延时过高问题

问题背景:3月15日巡检时发现,ai-operation-controller在5点左右出现性能尖刺,p99高达1500+ms问题结论:【直接原因】堆内存被占满,导致部分线程阻塞【根本原因】get-all-semantic-infos接口请求异常分析回收时堆的情况从垃圾回收的前后堆信息可以看出,High used已经达到100%观察并分析stall 信息从日志中可以看到, 在尖刺出现的附近出现大量的Allocation Stall的日志,阻塞时间过长有500+ms优化配置

2022-03-16 15:53:42 601

原创 [ZGC升级记录](to-space exhausted/Evacuation Failure)

1. 问题背景服务中存在大量的全量数据的接口,需要把运营平台配置的全量数据拉取下来,存在大量的大对象(结果实现服务有100M左右),传给垂域或者传给质量组监控。这就给GC带来了很大压力。小爱5.0场景配置服务上线后,观测到服务很不稳定,经常99-percentile > 4s, 性能很不稳定。解决方案和收益2.1 解决方案从根本上解决应该避免大量大对象的产生,这需要花费很大的人力成本去做迁移和重构升级ZGC垃圾回收器(可以实现并发转移),STW非常短让G1更早得启动混合式垃圾收集周期,

2022-02-22 19:03:25 596

原创 kafka RoundRobinPartitioner发送消息分区不均

问题原因是生产者“doSend”方法导致了这个问题。在“doSend”方法中,当累加器返回带有 abortForNewBatch 标志且值为真值的结果时,doSend 方法再次调用“partition”方法并且之前选择的分区保持未使用。如果主题只有两个分区,则此问题很危险,因为在这种情况下,将只使用一个分区。RecordAccumulator.RecordAppendResult result = accumulator.append(tp, timestamp, serializedKey,

2021-11-07 11:42:51 1898 2

原创 mysql binlog

简介事物日志innodb事务日志包括redo log和undo log。undo log指事务开始之前, 在操作任何数据之前,首先将需操作的数据备份到一个地方redo log指事务中操作的任何数据,将最新的数据备份到一个地方事务日志的目的:实例或者介质失败,事务日志文件就能派上用场。1.redo log不是随着事务的提交才写入的,而是在事务的执行过程中,便开始写入redo 中。具体 的落盘策略可以进行配置 。防止在发生故障的时间点,尚有脏页未写入磁盘,在重启mysql服务的时候,根据redo

2021-10-21 13:33:42 157

原创 【最全】8种单例模式

设计模式(Design pattern),提供了在软件开发过程中面临的一些问题的最佳解决方案,是Java开发者必修的一门课程。主要分创建型模式、结构型模式和行为型模式。其中接下来我们要写的是单例模式,属于创建型模式。单例模式,顾名思义就是只有一个实例,并且她自己负责创建自己的对象,这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象懒汉式(线程不安全)public class Singleton { private static Singleton instance =

2021-09-26 13:43:19 237

原创 bellman-ford,spfa + 打印最短路径

###bellman-fordBellman-Ford算法优点Bellman-Ford算法是用来解决单源最短路问题的。在现实生活旅游途中,我们通常想知道一个景点到其他所有景点的最短距离,以方便我们决定去哪些比较近的景点。而这时候,Bellman-Ford算法就有用了。Bellman-Ford算法的优点是可以发现负圈,缺点是时间复杂度比Dijkstra算法高。而SPFA算法是使用队列优化的Bellman-Ford版本,其在时间复杂度和编程难度上都比其他算法有优势。虽然题目规定了不存在「负权边」,但

2021-08-28 11:57:34 400

原创 图的存储方式

邻接矩阵这是一种使用二维矩阵来进行存图的方式,适用于边数较多的「稠密图」使用,当边数量接近点的数量的平方,即 时,可定义为「稠密图」。例:int[][] matrix = { {0, 1, 5, N, N, N, N, N, N}, {1, 0, 3, 7, 5, N, N, N, N}, {5, 3, 0, N, 1, 7, N, N, N}, {N, 7, N, 0, 2, N, 3, N, N},

2021-08-28 10:05:55 126

原创 Floyd算法

算法思想通过Floyd计算图G=(V,E)中各个顶点的最短路径时,需要引入两个矩阵,矩阵S中的元素a[i][j]表示顶点i(第i个顶点)到顶点j(第j个顶点)的距离。矩阵P中的元素b[i][j],表示顶点i到顶点j经过了b[i][j]记录的值所表示的顶点。假设图G中顶点个数为N,则需要对矩阵D和矩阵P进行N次更新。初始时,矩阵D中顶点a[i][j]的距离为顶点i到顶点j的权值;如果i和j不相邻,则a[i][j]=∞,矩阵P的值为顶点b[i][j]的j的值。 接下来开始,对矩阵D进行N次更新。第1次更新时

2021-08-26 01:04:48 240

原创 Dijkstra算法+打印路径

原理Dijkstra 算法(中文名:迪杰斯特拉算法)是由荷兰计算机科学家 Edsger Wybe Dijkstra 提出。该算法常用于路由算法或者作为其他图算法的一个子模块。举例来说,如果图中的顶点表示城市,而边上的权重表示城市间开车行经的距离,该算法可以用来找到两个城市之间的最短路径。设G=(V,E)是一个带权有向图,把图中顶点集合V分为两组,第一组为已求出最短路径的顶点集合(用S表示,初始时S中只有一个源点,以后每求得一条最短路径 , 就将加入到集合S中,直到全部顶点都加入到S中,算法就结束了),

2021-08-26 00:39:19 2263

原创 ArrayList源码阅读

ArrayList简介因为 ArrayList 是基于数组实现的,所以支持快速随机访问。RandomAccess 接口标识着该类支持快速随机访问。public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.SerializableArrayList是一个数组队列,相当于动态数组。与Java中的数组相比

2021-08-25 11:04:19 114

原创 Paxos算法

Paxos算法paxos-simple.pdf1. Paxos算法基本概念1.1 拜占庭问题拜占庭将军问题:是指拜占庭帝国军队的将军们必须全体一致的决定是否攻击某一支敌军。问题是这些将军在地理上是分隔开来的,只能依靠通讯员进行传递命令,但是通讯员中存在叛徒,它们可以篡改消息,叛徒可以欺骗某些将军采取进攻行动;促成一个不是所有将军都同意的决定,如当将军们不希望进攻时促成进攻行动;或者迷惑某些将军,使他们无法做出决定。  Paxos算法的前提假设是不存在拜占庭将军问题,即:信道是安全的(信道可靠),

2021-08-20 16:48:40 341

原创 Eureka原理

Eureka原理简介Eureka 是一种基于 REST(表述性状态传输)的服务,主要用于 AWS 云中,用于定位服务,以实现中间层服务器的负载平衡和故障转移。 我们称此服务为 Eureka 服务器。 Eureka 还附带了一个基于 Java 的客户端组件,即 Eureka 客户端,这使得与服务的交互更加容易。 客户端还有一个内置的负载均衡器,可以进行基本的循环负载均衡。eureka架构图Eureka Server:提供服务注册和发现,多个Eureka Server之间会同步数据,做到状态一致(最终一

2021-08-07 16:08:30 810

原创 一篇学会vim使用

Vim使用Vim是从 vi发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,和Emacs并列成为类Unix系统用户最喜欢的文本编辑器。1. VIM 有四个模式正常模式 (Normal-mode):正常模式一般用于浏览文件,也包括一些复制、粘贴、删除等操作。这时击键时,一些组合键就是 vim 的功能键,而不会在文本中键入对应的字符。不论是什么模式,按一下 键 ( 有时可能需要按两下,插入模式按一下 Esc ,就会切换到正常模式。插入模式 (In

2021-08-06 14:03:52 153

原创 tensorflow -gpu安装,史上最新最简单的途径(不用自己装cuda,cdnn)

tensorflow -gpu安装首先,安装Anoconda1. 官网下载点我: 2.安装 点击 python 3.6 version自动下载x64版,下载好之后,然后安装。 如图,打上勾之后,一路next 3.打开终端 1)输入conda –version 查看版本 2)配置...

2018-08-30 14:53:53 20157 8

空空如也

空空如也

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

TA关注的人

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