自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(83)
  • 收藏
  • 关注

原创 从mp4中提取wav音频文件

需求:读取csv文件中某一列的url并下载为本地mp4视频(存储在某个目录中,以x.mp4的形式进行存储,x为1依次递增),然后转换为wav音频文件(存储在某个目录中,以x.wav的形式进行存储,x为1依次递增)运行效果:csv文件中的url:运行后脚本后下载的mp4:运行后脚本后提取出的wav文件代码:

2022-12-04 12:57:09 1772 1

原创 多种音频文件(.wav, .mp3, .ogg)转化为wav文件,支持分、秒级别切分

需求:通过命令行的方式,调用python脚本,输入源文件路径、目标路径、切割的时长、切割时长的时间单位,能够将对应路径的源音频文件按照设置的切割时长切割到目标路径中。最终效果:按照每8分钟切割一次:代码:wavsplit.py文件

2022-12-04 12:43:34 1313

原创 编写一个程序,读取conf.txt的第一行,自动按照每5秒执行一次A.f1():

‌再给定一个conf.txt,里面的内容如下。给定一个A.java,可以带包名。

2022-09-14 11:19:56 410

原创 HTTPDNS

另外,有的运营商会把一些静态页面,缓存在本运营商的服务器中,这样用户的请求就不用再通过其它运营商的服务器访问静态资源。在域名解析的时候,不会将用户导向真正的网站,而是指向这个缓存的服务器。:如果本地没有相同的请求,就需要请求HTTPDNS的服务器,在本地HTTPDNS服务器的IP列表中,选择一个发出HTTP的请求,会返回一个要访问的网站的IP列表。客户端嵌入了SDK,因而就不会因为本地DNS的各种缓存、转发、NAT,让权威DNS服务器误会客户端所在的位置和运营商,而可以很方便的拿到客户端的真实信息。

2022-09-11 09:34:17 632

原创 网络直播是如何实现的——流媒体协议简介

流媒体(streaming media)是指将一连串的媒体数据压缩后,经过网上分段发送数据,在网上即时传输影音以供观赏的一种技术与过程,此技术使得数据包得以像流水一样发送;如果不使用此技术,就必须在使用前下载整个媒体文件。流式传输可传送现场影音或预存于服务器上的影片,当观看者在收看这些影音文件时,影音数据在送达观看者的计算机后立即由特定播放软件播放。我们知道直播视频是一连串的图片,我们通过帧和帧率(FPS)、像素等等来表示视频的品质等等。

2022-09-10 20:41:02 2117

原创 Redlock 可能会导致不安全的原因

最后:antirez和Martin也达成了一致,认为redlock解决了客户端和锁服务器之间的消息延迟(即获取锁之前产生的网络延迟等,上面已经描述如何解决),但是对于客户端和资源服务器(访问共享资源的过程)之间的延迟,antirez承认所有的分布式锁的实现,包括Redlock,是没有什么好办法来应对的。,那么会向所以Redis实例发出释放锁的操作(由于可能存在网络等原因,导致在Redis实例上已经加锁成功,但是没有 发给客户端,为了保证这次情况能够正常释放锁,所以需要向所有实例发送释放锁的请求)!

2022-09-04 16:30:35 1306

原创 DHCP执行流程详解

动态主机配置协议(Dynamic Host Configuration Protocol),简称DHCP。用于在一台新的主机加入一个网络的时候,分配一个IP给这个新的主机。在DHCP协议中,DHCP Server就类似于网络管理员。它只需要配置一段共享的IP地址。之后每一台新接入的机器都通过DHCP协议,来到这个共享的IP地址里进行申请,等待成功申请到IP后就可以正常工作了。等待加入的主机使用完毕(相当于过期等情况)就可以还给DHCP Server供其它机器使用。

2022-09-02 16:46:39 3446

原创 Redis主从库网络断连问题——repl_backlog_buffer

在 Redis 2.8 之前,如果主从库在命令传播时出现了网络闪断,那么,从库就会和主库重新进行一次,开销非常大。从 Redis 2.8 开始,网络断了之后,主从库会采用的方式继续同步。增量复制只会把,同步给从库。增量复制通过这个缓冲区实现。主库的所有写命令除了通过传播给从库之外,都会在这个(只要有从库,这个缓冲区就一定会存在)中记录一份,缓存起来。通过repl_backlog_buffer预先缓存数据,在从库恢复时就能够通过这个缓存区进行数据恢复(具体原理下文会说)。...

2022-09-01 08:30:00 1067

原创 渐进式rehash

在进行渐进式 rehash 的过程中, 字典会同时使用 ht[0] 和 ht[1] 两个哈希表, 所以在渐进式 rehash 进行期间, 字典的删除(delete)、查找(find)、更新(update)等操作会在两个哈希表上进行: 比如说, 要在字典里面查找一个键的话, 程序会先在 ht[0] 里面进行查找, 如果没找到的话, 就会继续到 ht[1] 里面进行查找, 诸如此类。:上述过程中的第二步,可能会涉及大量的数据拷贝,如果一次性把哈希表1的数据拷贝到哈希表2,那么会造成Redis线程阻塞。

2022-08-24 16:33:58 1934 2

原创 SR和GBN的区别

对此,GBN协议的处理方式接收方可能会缓存分组n + 1,等到分组n收到并交付后,再将该分组交付到上层。可以发现:2号分组在发送的过程丢失了,在后面发送分组4和分组5的时候,接收方发现了序号没有按序,所有就丢掉了接收的报文。直到发送方重传2号分组后,才正常的接收了后面的分组。n、n+1的分组,假如n+1的分组先于n的分组收到,那么根据前面所说会就会丢弃序号为n + 1的分组,这样就效率太低了✖。==,通过控制窗口的大小来控制发送方发送的速率,并且在滑动窗口这个机制的前提下,能够为数据的可靠传输做出保证。

2022-08-19 18:29:15 6241

原创 对于SR协议而言,为什么滑动窗口长度必须小于或等于序号空间大小的一半?

则第二种情况的分组0会变成分组5,发现在分组[rcv_base - N,rcv_base - 1]范围内没有发现对于的分组序号,所以是肯定能够区分滴👍。但是从接收方来看,它会认为是发送方重传的分组即在分组==[rcv_base - N,rcv_base - 1]==范围内,就会直接返回ACK,而不会做其它处理。接收方正常接收到3个分组,但是在响应给发送方时,对前3个分组的ACK丢失,因此在发送方超时重传时间到后,发送方会重传这些分组,接收方下一步要重新接收序号为0的分组,即第一个发送分组的副本。

2022-08-19 11:24:44 2878

原创 GBR回退N步和SR选择重传演示网站

GBR回退N步演示网站SR超时重传演示网站

2022-08-17 11:05:58 137

原创 Kafka生产者发送流程详解

实现Partitioner接口,重写方法即可,返回对应的分区值。还需要再主程序关联我们自定义的分区(在Properties中声明),不然它会走默认的分区策略例如:我们想让含有“china”相关的字符串,存到主题为china的分区里。我们可以通过去判断value里是否包含china,如果包含就指明对应的分区号即可。.........

2022-08-16 19:39:14 2563

原创 kafka中AR、ISR、OSR以及HW、LEO的区别

Kafka 为分区引入了多副本 (Replica) 机制, 通过增加副本数量可以提升容灾能力。同一分区的不同副本中保存的是相同的消息(在同一时刻,副本之间并非完全一样)

2022-08-14 17:25:51 1705

原创 DNS工作原理分析

DNS是一个提供简单、直接的转换服务的黑盒子事实上,这个黑盒子极为复杂。它由分布于全球的大量DNS服务器以及定义了DNS服务器与查询主机通信方式的应用层协议组成单点故障通信容量远距离的集中式数据库维护。......

2022-08-13 15:48:29 5783

原创 MySQL中的redo log、undo log、bin log

这个和磁盘的扇区有关,机械磁盘默认的扇区就是512字节,如果你要写入的数据大于512字节,那么要写入的扇区肯定不止一个,这时就要涉及到盘片的转动,找到下一一个扇区,假设现在需要写入两个扇区A和B,如果扇区A写入成功,而扇区B写入失败,那么就会出现。可以发现每次对数据的变更都会产生一个undo log,当一条记录被变更多次时,那么就会产生多条undo log,undo log记录的是变更前的日志,并且每个undo log的序号是递增的,那么当要回滚的时候,按照序号。.........

2022-08-12 20:25:13 408

原创 MySQL锁机制详解

为实现MySQL 的各个隔离级别提供了保证情况,即并发事务相继。读取操作本身不会对记录有任何影响,并不会引起什么问题,所以允许这种情况的发生。 情况,即并发事务相继对相同的记录做出改动。会产生脏写问题,mysql中的任何隔离级别都不允许这种问题产生(加锁机制实现,让它们排队执行)。事务执行前本来没有锁。当另一个事务想对这条记录做改动时,首先会看看内存中有没有与这条记录关联的 ,当没有的时候 才会在内存中生成一个 与之关联。比如,事务 要对这条记录做改动,就需要生成一个 与之关联:is_wating代表

2022-08-12 20:19:06 158

原创 Web缓存(代理服务器)

web缓存器就通过这个TCP连接发送一个对目标对象的HTTP请求。服务器收到请求后,找到目标对象后就封装在HTTP响应中返回给web缓存器;通过使用内容分发网络(Content Distribution Network),Web缓存器正在因特网中发挥越来越重要的作用。,查看本地是否存储了该请求的副本。如果有,Web浏览器就直接向客户端浏览器用HTTP响应报文返回该对象;,并向Web缓存器中的对象发送一个HTTP请求;如果Web缓存器没有,它就会。web缓存器收到对象后,......

2022-08-12 20:19:02 1328

原创 ThreadPoolExecutor线程池原理

线程池(Thread Pool)是一种基于池化思想管理线程的工具,经常出现在多线程服务器中,如MySQL。线程过多会带来额外的开销,其中包括创建销毁线程的开销、调度线程的开销等等,同时也降低了计算机的整体性能。线程池维护多个线程,等待监督管理者分配可并发执行的任务。这种做法,一方面避免了处理任务时创建销毁线程开销的代价,另一方面避免了线程数量膨胀导致的过分调度问题,保证了对内核的充分利用。本文描述线程池是JDK中提供的ThreadPoolExecutor类。.........

2022-08-09 12:20:43 403

原创 并发工具类——CountDownLatch、CyclicBarrier、Semaphore、Exchanger的介绍与使用

CyclicBarrier默认的构造方法是CyclicBarrier(int parties),其参数表示屏障拦截的线程数量,每个线程调用await方法告诉CyclicBarrier我已经到达了屏障,然后当前线程被阻塞。try {try {} }12或者21如果CyclicBarrier的参数为3,那么会一直阻塞,因为没有三个线程到达。还提供一个更高级的构造函数CyclicBarrier(int parties,),用于在线程到达屏障时,优先执行barrierAction。............

2022-08-08 11:15:43 183

原创 innodb中的行格式——Compact、Dynamic、Compressed、Redundant详解

Compact格式会把所有可以为NULL的列统一管理起来,存在一个NULL值列表,如果使用一个特定的符号放到相应的数据位表示空置的话,虽然能达到效果,但是这样很。真实数据除了我们自定义的数据以外,还存在三个隐藏列(用于MVCC、回滚等等):记录一些可变长的列表(varchar类型定义的)的真实存储数据长度。的,如果没有标注出来NULL值的位置,就有。一条完整的记录其实可以分为。之所以要存储NULL是因为。:表示从当前记录的真实数据。......

2022-08-07 21:45:56 1992

原创 通过一个案例轻松入门OAuth协议

Resource Owner Password Credentials Grant(资源所有者密码凭据许可)Implicit Grant(隐式许可)Authorization Code Grant(授权码许可)还有一种叫做Client credentials ,用的较少,文章没有涉及。资源所有者 : 就是上文中的用户资源服务器 :即网易邮箱客户端: 就是上文的信用卡管家授权服务器 : 即上文的网易认证中心参考资料:《码农翻身》.........

2022-08-03 10:48:28 180

原创 OAuth2的使用场景、常见误区、使用案例

Resource Owner Password Credentials Grant(资源所有者密码凭据许可)Implicit Grant(隐式许可)Authorization Code Grant(授权码许可)还有一种叫做Client credentials ,用的较少,文章没有涉及。资源所有者 : 就是上文中的用户资源服务器 :即网易邮箱客户端: 就是上文的信用卡管家授权服务器 : 即上文的网易认证中心码农小胖哥、《码农翻身》............

2022-08-03 10:36:14 1347

原创 一篇文章带你搞懂什么是幂等性问题?如何解决幂等性问题?

幂等(idempotent、idempotence)是一个数学与计算机学概念,常见于[抽象代数](https://baike.baidu.com/item/抽象代数/1537111)中。在编程中一个幂等操作的特点是其==任意多次执行所产生的影响均与一次执行的影响相同==。**幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数**。这些[函数](https://baike.baidu.com/item/函数/301912)不会影响系统状态,也不用担心重复执行会对系统造成改变。...

2022-08-02 10:01:35 897

原创 利用反射实现一个管理对象信息的简单框架

利用反射实现一个管理对象信息的简单框架

2022-07-30 20:11:59 154

原创 深入理解Java虚拟机(第3版)学习笔记——线程安全与锁优化(超详细)

“当多个线程同时访问一个对象时,如果==不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作==,调用这个对象的行为都可以获得正确的结果,那就称这个对象是线程安全的。”......

2022-07-30 17:10:39 414

原创 深入理解Java虚拟机(第3版)学习笔记——Java 内存模型与线程(超详细)

服务端的应用是Java语言最擅长的领域之一,各种中间件服务器、各类框架也都努力地替程序员隐藏尽可能多的线程并发细节,使得程序员在编码时能更关注业务逻辑,而不是花费大部分时间去关注此服务会同时被多少人调用、如何处理数据争用、 协调硬件资源。但是无论语言、中间件和框架再如何先进,开发人员都==不应期望它们能独立完成所有并发处理的事情==,==了解并发的内幕仍然是成为一个高级程序员不可缺少的课程。==...

2022-07-30 17:06:59 432

原创 高效并发:Synchornized的锁优化详解

高效并发是从JDK 5升级到JDK 6后一项重要的改进项,HotSpot虚拟机开发团队在这个版本上花费了大量的资源去实现各种锁优化技术,如适应性自旋(Adaptive Spinning)、锁消除(LockElimination)、锁膨胀(Lock Coarsening)、轻量级锁(Lightweight Locking)、偏向锁(BiasedLocking)等,这些技术都是为了在线程之间更高效地共享数据及解决竞争问题,从而提高程的执行效率......

2022-07-30 17:02:59 449

原创 BM5 合并k个已排序的链表

BM5 合并k个已排序的链表

2022-07-28 21:05:02 138

转载 深入理解Java虚拟机(第3版)学习笔记——Tomcat与OSGI中的类加载机制

深入理解Java虚拟机(第3版)学习笔记——Tomcat与OSGI中的类加载机制

2022-07-28 12:21:30 403

原创 深入理解Java虚拟机(第3版)学习笔记——后端编译与优化(超详细)

深入理解Java虚拟机(第3版)学习笔记——后端编译与优化(超详细)

2022-07-28 12:20:16 539

原创 深入理解Java虚拟机(第3版)学习笔记——虚拟机字节码执行引擎(超详细)

深入理解Java虚拟机(第3版)学习笔记——虚拟机字节码执行引擎(超详细)

2022-07-28 12:19:28 141

原创 深入理解Java虚拟机(第3版)学习笔记——前端编译与优化(超详细)

深入理解Java虚拟机(第3版)学习笔记——前端编译与优化

2022-07-28 12:18:52 149

原创 深入理解Java虚拟机(第3版)学习笔记——JAVA内存区域(超详细)

深入理解Java虚拟机(第3版)学习笔记——JAVA内存区域(超详细)

2022-07-24 14:07:16 419

原创 深入理解Java虚拟机(第3版)学习笔记——垃圾收集器与内存分配策略(超详细)

深入理解Java虚拟机(第3版)学习笔记——垃圾收集器与内存分配策略(超详细)

2022-07-24 14:07:00 218

原创 深入理解Java虚拟机(第3版)学习笔记——类文件结构(超详细)

深入理解Java虚拟机(第3版)学习笔记——类文件结构(超详细)

2022-07-24 14:06:35 200

原创 深入理解Java虚拟机(第3版)学习笔记——类加载机制(超详细)

深入理解Java虚拟机(第3版)学习笔记——类加载机制(超详细)

2022-07-24 14:06:00 344

原创 无状态与有状态的区别

无状态与有状态的区别

2022-07-22 18:50:44 1753

原创 Spring Security 认证与授权流程

Spring Security 认证与授权流程

2022-07-22 18:38:13 6794

原创 搜索引擎的工作流程

最近小组内组员对一篇文章的总结,大致的记录一下,方便以后查看

2022-05-10 20:16:07 356

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除