Russ Xia Blog

身处寒夜,把握星光。

旅游出行计划2.0

一些预留着一起去旅行的地方

青岛一/二日游 基础信息 青岛主要是去看海,景点也都相对比较集中。 下面是补充的一些景点位置,也可以考虑 交通计划 青岛有青岛西站、青岛站、青岛北站三个站,好看的景点几本都集中在靠近青岛站的地方。去景点便利程度: 青岛站 > 青岛北站 > 青岛西站。 灌云站出发到青岛站的,只有一趟18点20分发车,21点06分到青岛站,可以考虑在青岛过夜,然后第二天早起去海边看日出,...

旅游出行计划

江浙沪皖地区,周末出游计划

常熟虞山 基础信息 虞山,海拔263m。常熟市内,门票免费。 比较出名的有小环线和雄鹰线。小环线大约9km,大概4~6h;雄鹰线大约12km,大概6h~8h。 海拔低,与其说是爬山,不如说是徒步。风景看起来也比较一般,比较像森林公园。 胜在距离近,单日往返,且交通方便。 交通计划 上海/太仓到常熟的高铁很多,基本上半小时不到一趟。常熟站到虞山大约16km,打车也很方便。 ...

JDK21中的虚拟线程

虚拟线程的概念、使用、注意事项、源码概览

什么是虚拟线程 在虚拟线程(Virtual Threads)出现之前,Java中只有一个Thread(虚拟线程出来后也被叫做平台线程PlatformThread)。一般来说一个PlatformThread对应一个操作系统线程,所以平台线程的数量受限于操作系统的线程数量上限。 Java SE最常用的JVM是Oracle/Sun研发的HotSpot VM。在这个JVM的较新版本所支持的所...

Spring状态机

状态机的定义、选型和quick start

什么是状态机 状态机就是状态模式的一种实现,状态模式 (State Pattern)是一种行为设计模式,让你能在一个对象的内部状态变化时改变其行为, 使其看上去就像改变了自身所属的类一样。 状态机的全称是有限状态自动机(FSM,有限状态机wiki),有多种类型的动作: 进入动作(entry action):在进入状态时进行 退出动作(exit action):在退出状态时进行 ...

常见的数据库分类和选型

数据库常见分类&数据库对比

常见的数据库分类和选型 数据库排名 SQL vs NoSQL 数据库一般可以分为关系型数据库(SQL)和非关系型数据库(NoSQL:non-relational sql/Not Only SQL)。 常见的关系型数据库有:SQL Server,Oracle,Mysql,PostgreSQL。关系型数据库支持ACID(原子性、一致性、隔离性、耐用性),需要预先指定数据格式。 关系型数...

<程序是怎样跑起来的>读书笔记

cpu、寄存器相关概念

CPU 什么是程序,程序由什么组成? 程序是指示计算机每一步动作的一组指令,由指令和数据组成。 cpu主要由寄存器(暂存指令和数据)、控制器(将内存上的指令、数据读入寄存器)、运算器(运算寄存器上的数据)、时钟(负责cpu的计时)。 程序启动后,根据时钟信号,控制器会从内存中读取指令和数据,暂存到寄存器中。通过对这些指令加以解释和运行,运算器会对数据进行运算,控制器根据该...

乱七八糟的知识

金融方面的72法则

金融方面的”72法则” 假设以年利率r%投资一笔钱y年,如果r*y=72,那么你的投资差不多会翻倍。 假设年利率为6%,投资12年,大概能得到2.01219647倍的本金 假设年利率为3%,投资24年,大概能得到2.03279411倍的本金 如果是3倍,则那个数字为115。 计算机算法中递归和归纳的区别 关于数学归纳法 最简单和常见的数学归纳法是证明当n等于任意一个...

JDK8升级到JDK17记录

JDK升级的需求背景,以及升级过程中遇到的问题

背景 某个项目属于基础服务,平时qps很高,扩容前共7个实例(8c8g),单机最高约8kqps。扩容后16个实例(6g12g),单机最高大约3k+qps,总qps高峰约4w qps。(使用了一致性hash做负载均衡+内存缓存,所以各个单机负载有一些差距) 关键接口tp9999平均到150ms左右,业务方需求压缩到80ms左右。经过分析和改造,主要的tp9999耗时被卡在了parnew gc...

HTTP中基于Ranges的分片下载与断点续传

基于Ranges的分片下载与断点续传

HTTP下载中的:Range和Chunked 我们经常通过HTTP协议下载大文件时,常见的有两种情况: 知道文件大小,通过请求头Range设定服务器要返回的文件部分。常见的大文件分片下载、音视频的拖动播放都是采用的这种方式实现的。 不知道文件大小,可以设定 Transfer-Encoding 为Chunked,表示分块编码。常见的实时音视频流都是采用这种方式实现的。 基于R...

AAC的实际时长和显示时长

AAC时长显示不精确的原因,如果获取确切的音频时长。

前因 使用ffmpeg查看aac文件时长时,发现文件时长为 Duration: 00:39:50.18, bitrate: 66 kb/s。 $-> ffmpeg -i out.aac [aac @ 0x7fba1800be00] Estimating duration from bitrate, this may be inaccurate Input #0, aac, fr...