cpu 主频和内存主频
- cpu 主频:CPU每秒能完成的时钟周期数
CPU需要处理的数据必须先从磁盘→内存→CPU缓存。如果内存不足,CPU会频繁等待数据从慢速的磁盘交换区(SWAP)加载。
即使内存充足,高主频CPU能更快完成单线程任务(如Redis这类单线程服务对主频敏感)。
- 内存频率: 内存芯片每秒能完成的数据传输周期数
内存带宽 = 内存频率 × 总线位宽 ÷ 8 × 通道数
DDR4-3200 双通道(128bit位宽)的内存带宽是: 3200MHz × 128bit ÷ 8 × 2 = 102.4GB/s
springboot的war 包含tomcat容器吗?
传统war包(servlet/jsp )是需要tomcat的servlet容器,springboot的wa包(springboot 集成了tomcat容器)
SVN 和 git
SVN 是增量存储,每次提交只记录差异,像记流水账。Git 是快照存储,每次提交都对整个项目拍一张全景照片,然后用哈希值签名。
听着挺浪费空间?不,Git 聪明得很。如果一个文件没变,快照直接指向上一个版本的哈希,零开销。变了的文件,Git 内部有 zlib 压缩和 packfile 机制,几百万次提交的项目,仓库也就几个 GB。
视频直播实现
主播端(OBS/APP/摄像头)
→ 推流协议(RTMP/WebRTC)
→ Java/Netty 或 流媒体服务器(SRS/Red5/Nginx-RTMP)
→ 转码(FFmpeg)
→ 分发(HTTP-FLV/HLS/CDN)
→ 观众端(Web/小程序/APP)播放
PostgreSQL 与 Mysql
PostgreSQL 采用 Cluster > Database > Schema > Object 的多层结构
MySQL 采用 Instance > Database > Object 的两层结构
何时使用 PostgreSQL 的 schema?
同一数据库内需要逻辑分区时
需要更细粒度权限控制时(不同组使用不同schema)
多个应用共享一个数据库但需要隔离时
迁移Oracle/SQL Server等支持schema的数据库时
结论