自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 拥有这种抽象能力,让你成为架构师

架构的核心是管理复杂度,架构师的核心能力是抽象能力,什么是抽象能力?抽象能力就是一种化繁为简的能力。何为化繁为简?就是把一种复杂的事情变得简单的能力,比如通过打比喻让别人很容易听明白你说的意思就是一种抽象能力。如何锻炼抽象能力?我觉得有三种方法,第一种是用归纳法找共性,从多个问题中找到共同的问题提炼通用解决方案,去其糟粕取其精华。第二种通过演绎法找关系,从多个问题中找关系,把多个问题串成一个问题,...

2023-02-14 22:28:14 210

原创 分布式场景下的稳定性保障

1、什么是稳定性保障稳定性保障简单理解就是不让系统出现不可用的情况,或者不可用的情况每年只能发生几十分钟。为什么要稳定性保障?因为现在很多的电商系统和支付系统已经属于社会基础服务,持续一段时间不可用会对社会影响比较大,同时也损失了用户的信任。稳定性保障的场景非常多,只要流量非常大的业务就需要系统性的进行稳定性保障,包括直播、电商秒杀、电商大促等场景。2022年9月3日晚刘德...

2022-10-04 23:13:48 711

原创 分布式场景下的资损防控

1 、资损的定义资损是在指在业务活动中,业务规则和实际资金流动不一致,导致业务参与方中的任何一方或多方遭受了资金损失。简单理解就是系统的某个功能出现了BUG,导致用户或者公司出现了资金的损失,比如在营销过程中多给某个用户发了10元红包,或者是用户领取了10元红包无法使用,用户在支付时看到的订单金额是100元,结果支付了101元或99元,这些情况都属于资损,用户支付了101用户资损1元,用户实际支付...

2022-10-03 23:10:01 918

原创 教程:Go入门

在本教程中,将获得Go 编程的简要介绍 。在此过程中,你将:安装 Go(如果你还没有的话)。编写一些简单的“Hello, world”代码。使用 go 命令运行您的代码。使用 Go 包发现...

2021-09-06 00:23:51 396

原创 《Go开发指南》翻译邀请

并发编程网组织新的一期系列文章翻译,这期是GO官网教程 https://golang.google.cn/doc/ 相关技术文章,欢迎大家踊跃参加。如何领取通过本文留言或网站原文( htt...

2021-09-06 00:23:51 207

转载 聊聊Netflix那些大胆的技术创新

Netflix 这家公司不知道你有没有听说过,《纸牌屋》这样的风靡全球的原创剧就是他们出品的。但我了解这家公司,还是从一个介绍他们公司文化的 PPT 开始的,那个 PPT 的第一句就写着,...

2021-08-19 11:23:07 881

转载 看完左耳朵耗子的116篇文章,我给自己定了个5年技术规划

陈皓一直热衷做技术分享,不仅技术牛,文章写的也真的好。上周六小盖在极客时间小盖视频号和他连麦直播聊了两个多小时,耗子叔也分享了他写作的初心:帮助更多迷茫的程序员,让他们明确自己的职业规划和...

2021-08-17 15:01:47 2229 1

原创 《软件架构》高扩展架构

为了支持不断增长的性能需求衍生出一种专门的高扩展架构。换句话说,如果你的性能需求突然超过原有的软件+硬件的组合性能上限,你可以调整自己系统,通过硬件或者软件来支持新增的性能需求扩展因子线性...

2021-02-03 20:00:00 415

原创 《软件架构》N 层架构

N 层架构意味着将系统拆分为 N 层,N ∈ [1,+∞)。单层架构与单进程架构一样。双层架构和客户端/服务端架构一样等等。三层架构是一种非常常见的架构。三层架构通常分为表现层/GUI ...

2021-01-28 20:00:00 554

原创 《软件架构》总览

注意:本教程仍在更新,它将被一点点完善,但是现在你仍可以从中学到一些东西。软件架构和软件设计是一个话题的两个不同方面,它们都是关于如何构造软件来完成任务的,通常软件架构是指软件系统中较大...

2021-01-05 20:00:00 173

原创 JDK里的自旋锁

自旋锁是采用让当前线程不停地的在循环体内执行实现的,当循环的条件被其他线程改变时才能进入临界区。JDK里面自旋锁的实现有 SynchronousQueue 和 LinkedTransf...

2020-12-17 10:00:00 422

原创 《技术人求职指南》(六)如何选择Offer

作者|方腾飞编辑|包包 当大家阅读这篇文章的时候,也许大家已经拿到了很多offer,在这里首先要恭喜大家。但是很多应聘者拿到了offer之后还是有很多疑问,比如“我拿到了两家公司的of...

2020-10-28 20:20:00 512

原创 《技术人求职指南》(四) 实战练习

作者|方腾飞编辑|包包 上一篇讲了面试的一个基本攻略,这一篇主要讲实战。打游戏是通过打怪提升经验来通关的,而面试是通过刻意练习和实战提升经验拿到offer的。在参加面试之前,主要有四个...

2020-10-26 14:00:00 233 1

转载 Spring Boot 如何快速集成 Redis 哨兵?

Redis Sentinel 介绍Redis Sentinel:哨兵,放哨,看中文名字就知道它是一种 Redis 高可用解决方案,主要是针对 Redis 主从模式实现主从节点监控、故障自...

2020-09-28 20:00:00 158

原创 深度解析springcloud分布式微服务的实现(下)

作者|George编辑|包包 hystrix断路器是一种用于处理分布式系统延迟和容错的开源库。在分布式系统中许多依赖不可避免的会调用失败,比如超时、异常等,断路器保证出错不会导致整体服...

2020-09-07 20:00:00 146

原创 深度解析springcloud分布式微服务的实现(上)

作者|George编辑|包包 分布式系统微服务就是原来臃肿的项目拆分为多个模块互不关联。如:按照子服务拆分、数据库、接口,依次往下就更加细粒度,当然运维也就越来越难受了。分布式则是偏向...

2020-09-01 20:00:00 192

原创 谈谈架构和微服务(上)

作者|GabrielChen编辑|包包 不知从何时起,与同事,面试者,面试官谈起架构理念,总是绕不开微服务。甚至有时候听到这三个字的时候,脑壳会痛,相似的还有中台, 总觉得是旧瓶装新酒...

2020-08-04 20:00:00 124

原创 一文让你快速上手 Mockito 单元测试框架(下)

作者|mghio编辑|包包 如何实现一个微型的 Mock 框架知道了Mockito的运行原理之后,接下来看看要如何自己去实现一个类似功能的mock框架出来,看到方法拦截这里我相...

2020-07-06 20:00:00 391

原创 一文让你快速上手 Mockito 单元测试框架(中)

作者|mghio编辑|包包 与 Spring 框架集成Mockito框架提供了@MockBean注解用来将 mock 对象注入到 Spring 容器中,该对象会替换容器中任何现有...

2020-06-23 20:00:00 377

原创 一文让你快速上手 Mockito 单元测试框架(上)

作者|mghio编辑|包包 前言在计算机编程中,单元测试是一种软件测试方法,通过该方法可以测试源代码的各个单元功能是否适合使用。为代码编写单元测试有很多好处,包括可以及早的发现代码错...

2020-06-18 20:00:00 900

原创 HotSpot虚拟机垃圾收集优化教程-并行垃圾收集器

作者|Lunatic_Genius编辑|包包并行垃圾收集器并行垃圾收集器(也称为吞吐量收集器)是与串行垃圾收集器类似的分代收集器。串行和并行垃圾收集器之间的主要区别在于并行垃圾收集器使...

2020-06-04 20:00:00 131

原创 HotSpot虚拟机垃圾收集优化教程-大多数并发垃圾收集器

作者|Lunatic_Genius编辑|包包 大多数并发垃圾收集器大多数并发垃圾收集器对应用程序并发地执行部分工作,正如他们的名称一样。JAVA HotSpot VM包含两个最常使用的...

2020-05-26 20:00:00 219

转载 下半年,程序员该如何破局,冲击高薪? 不秃头的程序员 今天

今年疫情,很多行业受到了损失。程序员这个高薪职业,也遭受了巨大打击,面试要求越来越高,传统IT岗位需求更是日趋减少。同时,企业越来越重视用户精细化运营, 希望数据驱动业务, 并能依据数据...

2020-05-21 20:00:00 384

原创 HotSpot虚拟机垃圾收集优化教程-CMS并发标记扫描 垃圾收集器

作者|Lunatic_Genius编辑|包包 CMS并发标记扫描 垃圾收集器CMS垃圾收集器是为了那些需要更短的垃圾收集暂停时间,并且能够在应用程序运行时与垃圾收集器共享处理器资源的应...

2020-05-20 20:00:00 159

原创 软件事务内存导论(八)提交和回滚事件

作者|丁一编辑|包包 提交和回滚事件Java的try-catch-finally语法结构不但使我们可以安全地处理异常,还能够在程序抛出异常时选择性地执行一些代码。同样地,我们也可以控制...

2020-05-08 20:00:00 227

原创 小规模的流处理框架.Part 2

作者|Tomasz Nurkiewicz译者|simonwang编辑|包包 在part 1: thread pools中,我们设计并实现了一个相对简单的实时处理events的系统。...

2020-04-29 20:00:00 158

原创 设计模式

作者|小村长编辑|包包 疫情期间重新温习了一遍设计模式,期间查阅了很多博客学习了其他老师对于设计模式的见解。然后整理成笔记分享给大家,同时也非常欢迎大家指出笔记中有所欠缺的地方,希望...

2020-04-15 20:00:00 154

原创 面向对象和面向函数之争

作者|gantleman编辑|包包 大卫说:“服务的调用最终是通过函数实现的”。“但函数要绑定数据以确定并行的粒度”:皮特争辩道。早上大卫和皮特在花园里争论着,我们所开发的软件的结...

2020-04-08 20:00:00 1697

转载 Spring Cloud 如何动态刷新 Git 仓库配置?

有时候在配置中心有些参数是需要修改的,这时候如何不重启而达到实时生效的效果呢?本文基于以下讲解:Spring Cloud Greenwich.SR3Spring Boot 2.1.7....

2020-04-01 20:00:00 239

原创 HotSpot虚拟机垃圾收集优化教程-人机工程学

作者|Lunatic_Genius编辑|包包 人机工程学 (垃圾回收自学习优化策略)人机工程学是Java虚拟机和垃圾收集探索式(例如基于行为的探索式...

2020-03-25 20:00:00 142

原创 什么是上下文切换

作者|郭蕾编辑|包包 支持多任务处理是CPU设计史上最大的跨越之一。在计算机中,多任务处理是指同时运行两个或多个程序。从使用者的角度来看,这看起来并...

2020-03-18 20:00:00 325

原创 如何写gdb命令脚本

作者|nanxiao编辑|包包 作为UNIX/Linux下使用广泛的调试器,gdb不仅提供了丰富的命令,还引入了对脚本的支持:一种是对已存在的脚本语言支持,比如python,用户可以...

2020-03-11 20:00:00 618

原创 非阻塞同步算法实战(四)- 计数器定时持久化

作者|trytocatch编辑|包包 问题背景及要求需要对评论进行点赞次数和被评论次数进行统计,或者更多维度要求高并发、高性能计数,允许极端情况丢失一些统计次数,例如宕机评论很多,不...

2020-03-05 20:00:00 210

原创 HotSpot虚拟机垃圾收集优化教程-影响垃圾回收性能表现的因素

作者|Lunatic_Genius编辑|包包 影响垃圾回收性能表现的因素影响垃圾收集性能的两个最重要因素是总的可用内存和专用于年轻代的内存比例。总堆影响分代堆大小的选项堆大小的默认选...

2020-02-27 20:37:28 129

原创 HotSpot虚拟机垃圾收集优化教程-可供选择的垃圾收集器

作者|Lunatic_Genius编辑|包包 可供选择的垃圾收集器关于这一点的讨论是关于串行垃圾收集器的。Java HotSpot虚拟机包含三种不同类型的垃圾收集器,每个收集器具有不...

2020-02-11 20:00:00 190

原创 HotSpot虚拟机垃圾收集优化教程-垃圾收集器实现

作者|Lunatic_Genius编辑|包包 垃圾收集器实现Java SE平台的一个优点是他可以将开发人员从复杂的内存分配和垃圾收集中解放出来。然而,当垃圾收集是主要的瓶颈时,理解垃...

2020-01-27 20:00:00 234

原创 HotSpot虚拟机垃圾收集优化教程-垃圾收集调优简介

作者|Lunatic_Genius编辑|包包 垃圾回收调优简介从小的桌面应用到大型服务器上的web应用,各种各样的应用程序都使用标准版Java平台(Java SE)。为了支持这一系列...

2020-01-19 20:00:00 159

原创 告别Disruptor(一) 简洁优雅的高性能并发队列

作者|海带编辑|包包 几年前听说过Disruptor,一直没用过也没深究, 其号称是一个性能爆表的并发队列,上Github/LMAX-Exchange/disruptor 去看了看...

2019-12-17 20:40:18 2615

原创 Java Volatile关键字

作者| Arun Manivannan译者|有孚编辑|包包 Java的volatile关键字用于标记一个变量“应当存储在主存”。更确切地说,每次读取volatil...

2019-11-26 20:00:00 166

原创 Akka笔记之消息传递

作者|Arun Manivannan译者|有孚编辑|包包 在Akka笔记第一篇的介绍中,我们大致介绍了下Akka工具箱中的Actor。在第...

2019-11-22 20:00:00 230

空空如也

空空如也

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

TA关注的人

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