XINDOO

古典程序猿
面向情怀编程

【今日观点】 如何写出高性能代码(三)优化内存回收(GC)

导语   同一份逻辑,不同人的实现的代码性能会出现数量级的差异; 同一份代码,你可能微调几个字符或者某行代码的顺序,就会有数倍的性能提升;同一份代码,也可能在不同处理器上运行也会有几倍的性能差异;十倍程序员 不是只存在于...

2021渐入佳境-XINDOO

2021渐入佳境

大家好,我是XINDOO,今天是2022年的第一天,写下我过去一年的自我总结。这已经是我连续第9年写总结了,等明年的时候可能会来个十年大总结(对我过去8年有兴趣...

xindooxindoo总结 阅读(97)评论(0)赞(2)
使用ffmpeg将图片拼接为视频-XINDOO

使用ffmpeg将图片拼接为视频

本文介绍下如何使用ffmpeg将大量图片拼接成一个视频,并介绍其中部分参数的含义。 使用ffmpeg将图片拼接成视频前,需要将图片文件名做下预处理,文件名中必须...

xindooxindooffmpeg 阅读(126)评论(0)赞(2)

使用ffmpeg拼接视频踩坑记录

最近在工作中遇到一个ffmpeg的坑,特此记录下。我们在工作中,有个需求是将分段存储的视频拼接成一个完整的视频,发现使用ffmpeg拼接后视频时长不对。举个列子...

xindooxindooffmpeg 阅读(120)评论(0)赞(0)
Linux三剑客之awk入门指引-XINDOO

Linux三剑客之awk入门指引

大家好 我是xindoo,距我上次发技术文章已经过去快一个半月了,原因是最近确实非常非常的忙,工作日除了吃饭睡觉之外,要么是在工作,要么就是在去工作的路上,而周...

xindooxindooLinux 阅读(69)评论(0)赞(0)

Redis源码剖析之AOF

书接上回,上回我们详细讲解了Redis的RDB机制,RDB解决了redis数据持久化一部分的问题,为什么说一部分?因为rdb是redis中某一时刻的快照,那么在...

xindooxindooRedis 阅读(503)评论(0)赞(1)

Redis源码剖析之RDB

我们小学三年级的时候就知道,redis是一个纯内存存储的中间件,那它宕机会怎么样?数据会丢失吗?答案是可以不丢。 事实上redis为了保证宕机时数据不丢失,提供...

xindooxindooRedis 阅读(617)评论(0)赞(0)
NAS打造自己的私有云存储-XINDOO

NAS打造自己的私有云存储

今天给大家分享下我的NAS搭建方案,去年双十一的时候入手了一套NAS设备,用了几个月时间,好用是好用,但确实还没发挥出其价值,目前它最大的功能就是给我的mac做...

xindooxindoo未分类 阅读(514)评论(0)赞(0)
30行代码实现蚂蚁森林自动偷能量-XINDOO

30行代码实现蚂蚁森林自动偷能量

@ 虽然我支付宝加了好多好友,平时有很多能量可以偷,但由于太懒,至今一棵树都没种成,所以心心念念把偷能量这事自动化。之前通过用代码模拟手机点按的方式,实现了朋友...

xindooxindoo其他 阅读(600)评论(1)赞(1)

Redis源码剖析之数据过期(expire)

我之前统计过我们线上某redis数据被访问的时间分布,大概90%的请求只会访问最新15分钟的数据,99%的请求访问最新1小时的数据,只有不到千分之一的请求会访问...

xindooxindooRedis 阅读(654)评论(0)赞(1)

[翻译]正则引擎的几种分类

正则表达式引擎是正则表达式匹配算法的基础。其有多种不同的实现,但大多数都是基于Henry Spencer的NFA引擎。 正则引擎有两个大分类,DFA和NFA,像...

xindooxindoo工具 阅读(628)评论(0)赞(0)
我的2020总结-XINDOO

我的2020总结

对于大多数人来说,2020年啥也没干,就光见证历史了。前一段时间华盛顿邮报向读者征集如何描述2020年,一个九岁小孩拔得头筹。 过马路前你左右都看了,结果被潜水...

xindooxindoo总结 阅读(881)评论(2)赞(1)
Redis源码剖析之跳表(skiplist)-XINDOO

Redis源码剖析之跳表(skiplist)

最近要换新工作了,借着新老工作交替的这段窗口放松了下,所以专栏拖更了,不过我心里毫无愧疚,毕竟没人催更。 不过话说回来天天追剧 刷综艺的日子也很是枯燥,羡慕你们...

xindooxindooRedis 阅读(1640)评论(0)赞(0)

awk实现类sql的join操作

awk、grep和sed被称为linux三剑客,事实上grep和awk我在日常工作中也常用到(sed用的比较少),可能有些人对awk了解比较少,我先大概介绍下。...

xindooxindooLinux 阅读(1397)评论(0)赞(0)
[翻译]CAP理论及其证明-XINDOO

[翻译]CAP理论及其证明

CAP是所有分布式系统的基础理论,任何分布式系统只能满足以下三种状态中的任意两种。 一致性(Consistency) 可用性(Availability) 分区容...

xindooxindoo理论 阅读(1441)评论(0)赞(0)
Redis源码剖析开篇-XINDOO

Redis源码剖析开篇

今年我启动了好几个比较有挑战的个人项目,比如写一门编程语言、成为一名视频UP主、写科幻小说…… 这些项目目前进度都很堪忧,一方面这些项目挑战都比较大,另一方面业...

xindooxindooRedis 阅读(2956)评论(0)赞(0)
面试题精选:字符串替换-XINDOO

面试题精选:字符串替换

字符串处理在程序猿日常工作工作中非常常见,常见到几乎各种语言中都已经封装好了字符串相关的API,我们只需要直接拿过来用就好。就拿Java为例,jdk中的Stri...

xindooxindooJava 阅读(2396)评论(0)赞(0)
程序猿职场求生指南-XINDOO

程序猿职场求生指南

职场法则: 只要你努力工作,办事靠谱,思虑周全,从不给领导添麻烦,从不向领导提要求。勤勤恳恳,兢兢业业…… 坚持下去,公司里的杂活,破事儿,棘手的事就都成了你的...

xindooxindoo其他 阅读(2483)评论(0)赞(0)
面试题精选:数据伪造-XINDOO

面试题精选:数据伪造

这道题应该算是我原创的的一道题,来源于我遇到的一个具体需求。大致需求是已知一批数和每个数出现的次数,然后写个接口,每次调用都能返回已知数据中的某个数,且返回的概...

xindooxindooJava 阅读(2596)评论(0)赞(0)
如何把百度伪装成Google-XINDOO

如何把百度伪装成Google

作为技术人使用百度被鄙视?但因为种种原因无法使用Google,为了解决这个尴尬的问题,我历时数月潜心研发了一款chrome插件,可以将百度的logo换成goog...

xindooxindoo其他 阅读(3447)评论(0)赞(0)
[翻译]虚拟内存介绍-XINDOO

[翻译]虚拟内存介绍

原文地址An introduction to virtual memory 计算机是用来执行简单任务的复杂机器:比如 上网、文本编辑、网页服务、视频游戏……,还...

xindooxindooLinux 阅读(3705)评论(0)赞(2)
Json字段选取器介绍和实现-XINDOO

Json字段选取器介绍和实现

最近为了工作方便写了一个小工具,这个小工具作用很简单,就是从一个json字符串中筛出你想要的部分。 介绍 背景是这样的,我们为了线上调试方便,有个工具可以模拟发...

xindooxindooJava 阅读(3962)评论(0)赞(2)
面试题精选:循环队列-XINDOO

面试题精选:循环队列

近期在面试找工作的小伙伴们很多啊,我周围就有好几个认识的朋友在找工作,于是我突发奇想在CSDN开了一个面试题精选的专栏,主要会关注一些算法题、设计题,次要会补充...

xindooxindoo未分类 阅读(4258)评论(0)赞(1)
从0到1打造正则表达式执行引擎-XINDOO

从0到1打造正则表达式执行引擎

今天是五一假期第一天,这里先给大家拜个晚 咳咳!!祝大家五一快乐,我这里给大家奉上一篇硬核教程。首先声明,这篇文章不是教你如何写正则表达式,而是教你写一个能执行...

xindooxindoo算法 阅读(3802)评论(0)赞(1)
欢迎关注我的微信公众号-XINDOO

欢迎关注我的微信公众号

公众号注册n年了,但一直都没怎么发过文章,真是五年运营四年敷衍,去年年底在做自我年终总结的时候放下豪言说要开始重新运营公众号了,但一拖就拖到了3月底。这几个月想...

xindooxindoo其他 阅读(4256)评论(1)赞(2)
翻译:Java volatile 关键词-XINDOO

翻译:Java volatile 关键词

Java中的volatile关键词被用来将变量标记为“存储在内存中”。准确地的讲每次volatile变量的读取和写入都是直接操作内存,而不是cpu cache。...

xindooxindooJava 阅读(4014)评论(0)赞(0)
2019年年终总结-XINDOO

2019年年终总结

时光荏苒,岁月如梭,不知不觉一年又过去了。19年的互联网格外的不景气,到处充斥着暴雷、裁员,然而这些都和我无关,但这些都让深刻认识到了困难时期抱着大厂大腿的好处...

xindooxindoo总结 阅读(4885)评论(1)赞(0)
Web服务压测神器wrk-XINDOO

Web服务压测神器wrk

wrk是一款开源的高性能http压测工具(也支持https),非常小巧,可以执行文件只有3M(其中主要是luajit和openssl占用绝大多数空间),别看核心...

xindooxindoo工具 阅读(5194)评论(2)赞(0)
ReentrantLock源码解析-XINDOO

ReentrantLock源码解析

谈到多线程,就不避开锁(Lock),jdk中已经为我们提供了好几种锁的实现,已经足以满足我们大部分的需求了,今天我们就来看下最常用的ReentrantLock的...

xindooxindooJava 阅读(4436)评论(0)赞(0)
持续学习——程序猿的军备竞赛-XINDOO

持续学习——程序猿的军备竞赛

“持续学习”是几乎所有大神都会给菜鸟们的建议之一,这个概念也不是最近被提出来的,早在两千多年前古希腊哲学家梭伦就提出“活到老学到老”,这可算最早的“持续学习”。...

xindooxindoo其他 阅读(4978)评论(0)赞(3)
Ehcache食用指南-XINDOO

Ehcache食用指南

  最近我们有个服务的时延(Latency)略微上涨,gc时间上涨了一倍,dump出java堆(Heap)之后用Mat分析发现,有份cache数据占据了20%+...

xindooxindooJava 阅读(5670)评论(0)赞(0)
LinkedHashMap源码解析-XINDOO

LinkedHashMap源码解析

相信即便是Java初学者都应该用过Java中的HashMap和TreeMap,但貌似大多数人都没怎么用过LinkedHashMap,对其知之甚少。因为基本上大多...

xindooxindooJava 阅读(4752)评论(0)赞(0)

PriorityQueue 源码分析

  学过数据结构的人应该对Queue 队列很熟悉了,队列是一种先进先出(FIFO)的数据结构,所以它出队列的优先级就是进入队列的次序。但我们有时候需要其它的优先...

xindooxindooJava 阅读(4912)评论(0)赞(0)
ThreadLocal Java多线程下的影分身之术-XINDOO

ThreadLocal Java多线程下的影分身之术

如果写过多线程的代码,你肯定考虑过线程安全问题,更进一步你可能还考虑在在线程安全的前提下性能的问题。大多数情况下大家用来解决线程安全问题都会使用同步,比如用sy...

xindooxindooJava 阅读(5067)评论(0)赞(0)
微信朋友圈自动点赞-XINDOO

微信朋友圈自动点赞

  我一直都不太喜欢给别人点赞,某一年(貌似是17年)微信出了一次朋友圈年报,那一整年我就点出去了几个赞,要知道当时我微信好友应该有300+。我觉得这是我不喜欢...

xindooxindoo其他 阅读(5506)评论(0)赞(2)

Java WeakHashMap

  作为一个java开发者肯定都知道且使用HashMap,但估计大部分人都不太知道WeakHashMap。从类定义上来看,它和普通的HashMap一样,继承了A...

xindooxindooJava 阅读(4678)评论(0)赞(0)

Java弱引用(WeakReferences)

  前一段时间当我面试有些来应聘高级java开发工程师岗位的候选人时,在我问的众多问题中,有个问题是“你能告诉我弱引用是啥吗”,我不期望得到像论文中的细节一样的...

xindooxindooJava 阅读(4755)评论(0)赞(0)
辞旧迎新又一年(18年年终总结)-XINDOO

辞旧迎新又一年(18年年终总结)

  赶在春节放假前写完我2018年的年终总结,虽然又晚了,但还是不能缺的。每次拖延都有很多的理由,这次主要是19年上班第一天喜提996,从此属于自己的时间又少了...

xindooxindoo总结 阅读(4943)评论(0)赞(0)

我常用的一些linux命令

  之前做过两年的运维,用过很多命令,深切体会到某些linux命令熟练掌握后对效率提升有多大。举个简单的例子,在做了研发后经常会有跑一些数据,对于结果数据的处理...

xindooxindoo操作系统 阅读(5147)评论(0)赞(0)
七层网络协议-XINDOO

七层网络协议

  在前一篇博客运维往事 一次负载均衡坏点检测事故中我提到了在生产环境中在第四层和第七层做healthCheck,这个第四层和第七层到底是什么意思呢?除了第四层...

xindooxindoo计算机原理 阅读(6399)评论(0)赞(0)

死锁

  之前在学校学习过程中,很少写多进程的代码,虽然操作系统中学过死锁相关的内容,但考试过后也基本就忘记了,后来自己也遇到过有些多进程死锁的情况,再加上看了有些资...

xindooxindoo操作系统 阅读(5007)评论(0)赞(0)
Java HashMap源码浅析-XINDOO

Java HashMap源码浅析

  之前虽然很频繁使用java的hashmap,但一直都是纯用,至于里面怎么实现的,一直都是糊里糊涂的。今年4月份跳槽找工作,大概看了一下HashMap的源码,...

xindooxindooJava 阅读(4871)评论(0)赞(1)

DevOps和SRE

  之前总是把SRE和DevOps混为一谈,总觉得这两个是同一种东西在不同公司的叫法,知道前两天google又放出了《The Site Reliability ...

xindooxindoo其他 阅读(5039)评论(0)赞(0)

Leetcode contests 93 题解

868. Binary Gap   简单题,就是求一个数字二进制形式中两个1的最大间隔位置,比如22的二进制0b10110,最大距离就是2,0b100001,最...

xindooxindoo编程 阅读(5298)评论(0)赞(0)

Java生产者消费者的三种实现

  Java生产者消费者是最基础的线程同步问题,java岗面试中还是很容易遇到的,之前没写过多线程的代码,面试中被问到很尬啊,面完回来恶补下。在网上查到大概有5...

xindooxindooJava 阅读(5986)评论(2)赞(0)
OpenTSDB简介-XINDOO

OpenTSDB简介

  OpenTSDB(Open time series data base),开发时间序列数据库。DB这个词很有误导性,其实并不是一个db,单独一个OpenTS...

xindooxindoo大数据 阅读(5664)评论(0)赞(0)
『问题』如何被更好的解决-XINDOO

『问题』如何被更好的解决

  最近迷上了一个电视节目,说出来也不怕笑话,这个节目就是CCTV科教频道的《我爱发明》。过年回家的时候有天晚上发现播这个,后来每天晚上就看这个了。从家里回来后...

xindooxindooLife 阅读(4658)评论(0)赞(0)

高效工程师系列(三) 持续学习

  学习机会不会被工作场所限制。我们应该时刻问自己如何提高自我?如何做的更好?接下来我应该学些什么来为我的未来做好准备呢?这些问题可能和工程无关。也许你对音乐、...

xindooxindoo效率 阅读(4596)评论(0)赞(0)