8-2 图的存储结构 1.邻接矩阵(顺序存储结构) 图结构的元素之间虽然具有“多对多”的关系,但是同样可以采用顺序存储,即使用数组有效地存储图。
这篇文章的起因是这样的,在上周五凌晨很苦逼得参加双十一压测值班的时候,有个业务方突然打电话来说我们提供的客户端存在内存泄漏问题导致线上应用持续full gc,本来已经快要睡着的我立马就精神起来了,一通排查,最终定位到了确实是客户端有个bug会导致部分数据会被一直持有进入老年代之后gc不掉,从而就导致了老年代的频繁gc,具体bug暂且不表,有一个很奇怪的现象引起了我的注意,那就是从监控系统上来看,这个应用平均一分钟full gc次数高达十多次,按照我之前的理解full gc时是会stop the world的,stop the world的频率这么高,那么应用自身的服务已经跪掉了啊,但是看这个应用的业务指标监控,居然一切正常,这就有点超出我的理解能力了,后面为了解决这个疑问,针对什么是full gc,以及如何查看full gc的次数等查阅了很多资料,总算搞懂了full gc这个概念,在查资料的过程中发现中文社区里面包含太多错误的信息了,而且大多都是抄来抄去的,非常误导人,因此打算写一篇文章,对一些错误观点进行纠正。
以ae.c/aeProcessEvents(其中包含文件事件分派器)为主的源码让我受益匪浅。该函数作用是完成事件处理的一次循环。 ae_epoll.c/aeApiPoll函数讲述了redis如何用epoll实现事件监听
单机部署属于管理平台中的功能,在使用前需要先安装好管理平台。安装步骤说明请参照集群部署功能管理平台部署说明。
上周和一个投资人见面,聊了很多创业的事情。我虽然目前不在创业的节奏,几年内也不太会重返创业领域(需要花时间陪孩子,为孩子营造好的环境),但还是很关注创业圈的一举一动。我们聊到了一个观点:就创业而言,成功者下次基本还会成功,失败者下次很大程度还会失败。 作为一个曾经的失败者,我对此深表赞同(这是实事求是,而非灭自己威风)。我认为我下一个项目失败的几率可能还会很大,不是因为我由于之前的失败而感到恐惧,而是因为我还没有机会去趟很多未知的沟沟坎坎。 这就跟玩街机游戏三国志类似。一个币打通关的人,下次只要不是掉以轻心
首先,此篇文章会有很多地方会和 RocketMQ 比较,不太熟悉 RocketMQ 可以去看看我之前写的RocketMQ基础概念剖析&源码解析,先有个大概的印象,可能会帮助你更好的理解 Kafka。
架构设计是基于架构原则和目标给出问题解决方案的过程。架构和设计遵循相同的原则和方法,只是解决问题的规模和层次不同,而这规模和层次没有明显界限。
本文没有什么高深的东西,就是写几个CSS样式经常遇见的东西,可能大部分都已经知道怎么解决了,当做小白文浏览就好。
开源网络框架杂谈 上文聊了iOS系统网络请求框架的基本使用,我们了解到,对于一个网络请求,我们需要对其进行大量的设置,比如网络请求方式、数据可解析格式、缓存方式等等;而且网络请求成功以后的回调方式也不是特别友好
ChatGPT 去年的早期阶段其实已经火过一轮,为什么过完个年突然又热度飙升……这个问题是很值得考虑的。外加微软 New Bing 的上线,我觉得或许是微软入局炒作了舆论?但是看 ChatGPT 用户增长还挺稳定,所以也许只是我的阴谋论想象吧。
最近遇到了一个要在js里处理uint64位数字的问题,折腾了一下,记录一下,有经验的小伙伴欢迎交流。
架构设计是基于架构原则和目标给出问题解决方案的过程。架构和设计遵循相同的原则和方法,只是解决问题的规模和层次不同,而这规模和层次没有明显界限。
互联网是什么相信不用在这里赘述,大家平时“网上冲浪”都离不开它。本篇文章中我们就来翻译翻译,什么 ** 的叫 ** 的网络。
Redisson 是一个基于 Netty 通信框架的高性能 Redis 客户端, 实现了分布式和可扩展的 Java 数据结构,提供很多分布式相关操作服务以及大量便利的工具方法,让开发者可以把精力放在开发业务,避免重复造轮子。
TL;DR: Markdown 的真正价值不在于贮存,在于流通。为了实现 Markdown 的流通价值,插入网络图片是较优的选择。
本篇文章聊聊消息队列相关的东西,内容局限于我们为什么要用消息队列,消息队列究竟解决了什么问题,消息队列的选型。
随着系统复杂度、团队规模的增加,需要一个套方法来应对系统中的各种"黑天鹅",以下为整理的故障应对方法。
最近最热点的新闻或者全球的焦点应该是俄乌战争。 俄乌历史上其实是兄弟,同根同源,今天的俄罗斯发源于基辅罗斯,两家加上白俄罗斯是同胞兄弟。所以今天俄乌战斗,有点像大哥(俄罗斯)带着二哥(白俄罗斯)揍三弟(乌克兰)的感觉。 下面一小段这个民族的小历史: 基辅罗斯,正式名称为罗斯(古东斯拉夫语:Рѹ́ськаѧ землѧ,Рѹ́сь,希腊语:Ῥωσία,拉丁语:Ru(s)ia, Rucia, Ruzia, Rut(h)enia,俄语:Киевская Русь,乌克兰语:Ки́ївська Русь,白俄
workrave是一个提醒你休息的小程序,每工作45分钟就会提醒你休息10分钟;连续打字或用鼠标3分钟就提醒你休息一下手指。(具体的时间可以在软件设置里面修改。)
我一直把运维团队的定位是在技术服务团队,个人也要朝着技术服务的方向去发展。单纯的服务定位对整个团队的发展不是非常有利,会逐渐沦为救火队员和保姆的角色,有点高级人员干着低级的活的感觉。