垃圾回收的工作原理

程序运行时,每个变量都会找系统“借”来一块内存空间来存各种数据,使用完毕后再“还”给系统。系统会把还回去的内存又重新分配给别的变量去使用,如此循环。 既然是借来的,那就要有借有还。如果内存管理不当,申请内存的时候嘎嘎借,用完又不还给系统,时间长了,系统手上的空闲内存也会被消耗完,然后程序就崩溃了。 上面这个问题就是大家常说的“内存泄露”,这是一个很严重的bug。为了解决这个问题,编程语言分成了两个...

搭建一个录播机

经常会错过一些B站UP的直播,便想搭建一个录播机,把直播录制下来,等到自己有时间再观看。这样不仅不用担心赶不上直播,也能反复回看和快进,很方便。 经过一番摸索后,我找到一个还不错的搭建录播机的方案,分享给大家。 我的要求是这样,除了录下视频,还要能录下直播间的弹幕,另外观看也要方便一点。 最终我的方案是使用DDTV来录制,录制好后使用AList进行在线观看,这是最终效果,和看视频一样,也是有直播间...

还可以再爬一次山

和朋友去泰山玩。这是我第二次出远门,和22年那次一样,也是晚上的车,出省。 这次出门没有第一次那么紧张了,但是硬卧车的空间很挤,而且窗户不能开,车里又是人挤人,还是有些不开心。不过好在朋友也睡我对面,紧绷的神经多少缓和了一些。 爬到一半天黑了,往后一看尽是城市的灯火,一条条马路和灯光非常漂亮,很像乘直升机在空中拍摄的那番景象,很是好看。 最后一个门叫南天门,到这里基本上也就到达了山顶商业街。虽然...

Protobuf的编码原理

用了很久Protobuf,对它的一些设计很好奇。比如字段的序号是干嘛的?不同版本的消息类怎么兼容? 这一切的一切,都和Protobuf的序列化机制有关,也就是一个消息类是怎么变成二进制数据的,然后又是怎么从二进制数据还原回消息类的。 接下来我基于protobuf 3语法和c#语言进行讲解,大部分内容参考自protobuf官方文档。 varint编码 protobuf里很多地方都使用了varint...

不买Win掌机了

我老想买Win掌机了。 起因是我的Steam上有很多剧情化叙事的游戏,我想躺在床上玩,不想时时刻刻坐在电脑前面,所以想买个Win掌机每天晚上睡觉前可以在床上玩会儿。 但是市面上在售的win掌机都挺贵的,而且大部分掌机都是奔着玩3A的性能去的,动不动就是7840u的配置。 我想要一个性能能玩GalGame的,屏幕8寸左右,色彩好一些,然后续航长一点这样的。如果有可拆卸手柄就更好了。 尤其是可拆卸手柄...

不整NAS了

前段时间用香橙派搭建了一个简单的NAS,外挂了一块固态作为存储。 体积确实是蛮小的,可以随时揣口袋里带走。虽然它没有USB 3.0接口,我的硬盘盒只能跑到2.0的速度。但我不嫌弃它,平时我无非就是看看NAS里的照片啊,文档什么的,偶然看看视频也没问题。 前些日子我在朋友家里住了一个星期,因为不是在自己家嘛,所有的电子设备用完必须要拔掉。NAS也就没办法一直24小时开机,只能在要用它的时候,放自...

数据的备份方案

最近把云服务器上的东西都搬回本地了,太贵了用不起。搬回来后,就得自己做数据备份了,云服务器上有很方便的自动快照,而本地就是一个ARM板子在跑,内存只有4Gb,做什么都得精打细算。 到网上找了一些开源的备份工具,一开始我是用的duplicati,它有web界面,各种操作都是傻瓜式的,点点点就完事了。而最后没有留下的原因有两个:一个是喜欢报错,另一个是有大量回读操作 duplicati它备份的时候经常...
12316