Russ Xia Blog

身处寒夜,把握星光。

H.264编码格式

H.264编码的基本信息和数据格式

H.264概述 H.264是由ITU-T和ISO/IEC MPEG共同开发的一种视频编码技术,H.264被收录到了MPEG4中的第10部分,所以H.264又叫MPEG4 Part 10或MPEG4 AVC,所谓的AVC就是Advanced Video Coding。H.264/MPEG-4 AVC wiki 视频 视频码率 视频码率就是数据传输...

常见的三大直播协议

常见三大直播协议:RTMP、HTTP-FLV、HLS的适应场景及其对比

常见的三大直播协议 简介 关于直播场景,常见的三大直播协议:RTMP、HTTP-FLV、HLS等。 RTMP 全称”Real Time Messaging Protocol“,使用TCP,默认在1935端口上传输一般的FLV格式流,在浏览器端依赖于Flash。 优点:支持加密,隐私性好;实时性好,延迟相对较低 缺点:非公共端口(e.g.:80,443等),可能被防火墙封;跨平台很...

Java中的SPI与双亲委派模型

什么是SPI,如何实现SPI,SPI是否是对双亲委派模型的破坏

什么是SPI机制 SPI全称是Service Provider Interface,由JDK提供接口定义,第三方实现或扩展API。 第三方在/META-INF/services下,以要实现的SPI接口为文件名,具体的实现类为文件内容,创建一个配置文件。 Java中ServiceLoader 会去加载配置文件,并加载对应的具体实现类。 如果同一个SPI接口有多个实现,可以通过Servi...

Jedis的主要设计与实现

Jedis的架构设计、链接管理、集群模式支持

Jedis的主要设计与实现 Redis地址:https://github.com/redis/redis Jedis地址: https://github.com/redis/jedis Jedis是Redis的Java客户端的一种实现,支持单机版Redis、Redis Cluster、Redis Sentinel等三种模式,以及客户端逻辑分片的ShardedJedis。 ...

RSocket协议和基本使用

RSocket协议的特点和基本使用

RSocket协议和基本使用 RSocket github地址:https://github.com/rsocket RSocket官网地址:https://rsocket.io/ RSocket中文站点:http://rsocketbyexample.info/ RSocket是一种新兴的通信协议,它是一种二进制的异步的通信协议,主要由Facebook、Netifi...

JDK从8升级到11时Netty报错

升级JDK,netty版本不兼容问题排查

使用Netty时,JDK从8升级到11 时出现报错(debug时可见,不影响运行) 在某个JDK11项目中,debug运行时提示错误信息,错误堆栈信息如下。 增加 --add-opens java.base/jdk.internal.misc=ALL-UNNAMED 和 -Dio.netty.tryReflectionSetAccessible=true 参数即可。如果要屏蔽掉警告,可以...

Java8中的并行流ParallelStream

ParallelStream概要、工作原理及其使用时需要注意的问题

Java8中的并行流ParallelStream Java8中加入了Stream流操作,极大地提高了编程效率和程序的可读性。同时它又提供了串行和并行两种模式,来适应不同的业务场景。其中并行就是我们今天要说到的ParallelStream。 ParallelStream的工作原理是什么 什么是Stream 首先回顾下什么是Stream,Stream不是集合元素,也不保存数据,它更像是一...

ORM框架对比

Java中常见的ORM框架的基本使用和特点对比

ORM框架对比 语雀同步地址 demo项目地址 前言 本文主要对比的是一下几个 ORM (严格来说,感觉更像是SQL模板引擎)框架,这几个框架,他们都不属于JPA框架,但是在实际中却使用广泛。和JPA这类的ORM框架相比,这些框架更侧重于SQL的原生能力,更为轻量,开发更为简单。 Mybatis Mybatis Plus Mybatis Dynamic SQL jOOQ...

k8s国内镜像源

k8s相关组件的安装以及配置国内镜像

kubelet kubeadm kubectl 三件套的安装非常方便,直接使用apt-get安装即可。 $ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - $ cat <<EOF > /etc/apt/sources.list.d/kubernetes.list ...

TCP如何保证可靠传输和流量控制

流量控制与滑动窗口以及拥塞控制

流量控制与滑动窗口 虽然发送方的发送窗口是根据接受方的接受窗口指定的,但是发送方的窗口,并不一定等于接收方的接受窗口 网络传送窗口值存在一定的时间滞后,且这个过程中发送方可能依然在用老的窗口发送数据。 发送方可能发生拥塞,此时发送方可能会适当减小自己的发送窗口 对于不按序达到的TCP报文如何处理,TCP并没有明确规定。 ...