2019-10-22 16:47
本文链接
下载文件是一个比较常见的需求。给定一个url,我们可以使用URLConnection下载文件。
使用OkHttp也可以通过流来下载文件。
给OkHttp中添加拦截器,即可实现下载进度的监听功能。
使用流来实现下载文件
代码可以参考:https://github.com/RustFisher/android-Basic4/tree/master/appdowloadsample
获取并使用字节流,需要注意两个要点,一个是服务接口方法的 @Streaming 注解,另一个是获取到ResponseBody。
...
2019-10-22 16:26
目录
回声分类
电路回声
声学回声
AEC的基本原理
自适应滤波器的基本原理
回声消除常用算法
LSM算法
NLMS算法
NSAF算法
MATLAB代码实现
开源的音频处理库
参考
回声就是声音信号经过一系列反射之后,又听到了自己讲话的声音,这就是回声。一些回声是必要的,比如剧院里的音乐回声以及延迟时间较短的房间回声;而大多数回声会造成负面影响,比如在有线或者无线通信时重复听到自己讲话的声音(回想那些年我们开黑打游戏时,如果其中有个人开了外放,他的声音就会回荡来回荡去)。因此消除回声的负面影响对通信系统是十分必要的。
...
2019-10-22 16:59
问题为什么开发web项目,spring-boot-starter-web 一个jar就搞定了?这个jar做了什么?...
2019-10-22 16:27
前言 QQ、微信截图功能已很强大了,似乎没必要在开发一个截图程序了。但是有时QQ热键就是被占用,不能快速的开启截屏;有时,天天挂着QQ,领导也不乐意。既然是程序员,就要自己开发截屏工具,功能随心所欲,岂不快哉。
再强调一点:工具就是生产力!没有掌握WPF之前,我是不会开发这么一个程序的,如果采用MFC、winform框架,工作量是相当的大,开发出来的效果肯定也比较low。本人用WPF,花了一天多的功夫,开发了这个小程序。程序的定位就功能简单,平时工作不碍事,用着的时候,一键截图!
界面 执行程序下载地址: 一键截图,点我下载。
...
2019-10-22 16:26
分类: SOFAJRaft 标签: SOFAJRaft
看完这个实现之后,感觉还是要多看源码,多研究。其实JRaft的定时任务调度器是基于Netty的时间轮来做的,如果没有看过Netty的源码,很可能并不知道时间轮算法,也就很难想到要去使用这么优秀的定时调度算法了。
对于介绍RepeatedTimer,我拿Node初始化的时候的electionTimer进行讲解
Copy
this.electionTimer = new RepeatedTimer("JRaft-ElectionTimer", this.options.getElectionTimeoutMs()) {
...
2019-10-22 16:49
在Java中有两类线程,分别是User Thread(用户线程)和Daemon Thread(守护线程) 。用户线程很好理解,我们日常开发中编写的业务逻辑代码,运行起来都是一个个用户线程。而守护线程相对来说则要特别理解一下。...
2019-10-22 16:19
接着上一篇,介绍完了 JVM 中识别需要回收的垃圾对象之后,这一篇我们来说说 JVM 是如何进行垃圾回收。
首先要在这里介绍一下80/20 法则:
约仅有20%的变因操纵着80%的局面。也就是说:所有变量中,最重要的仅有20%,虽然剩余的80%占了多数,控制的范围却远低于“关键的少数”。
Java 对象的生命周期也满足也这样的定律,即大部分的 Java 对象只存活一小段时间,而存活下来的小部分 Java 对象则会存活很长一段时间。
因此,这也就造就了 JVM 中分代回收的思想。简单来说,就是将堆空间划分为两代,分别叫做新生代和老年代。新生代用来存储新建的对象。当对象存活时间够长时,则将其移动到老年代。
...
2019-10-22 16:58
相关概念微服务中的监控分根据作用领域分为三大类,Logging,Tracing,Metrics。...
2019-10-22 16:30
一、写在前面
直播行业已经火热几年了,几个大平台也有了各自独特的“弹幕文化”,不过现在很多平台直播比赛时的弹幕都基本没法看的,主要是因为网络上的喷子还是挺多的,尤其是在观看比赛的时候,很多弹幕不是喷选手就是喷战队,如果看了这种弹幕,真是让比赛减分不少。
但和别的平台比起来,B 站的弹幕会好一些。正好现在是英雄联盟的世界总决赛时间,也有不少人选择在 B 站看比赛直播,那么大家在看直播的时候会发什么弹幕呢?话不多说,这就用 Python 写个爬虫来爬取 B 站直播时的弹幕吧!
...
2019-10-22 16:34
注:本文参考https://www.cnblogs.com/chengxiao/p/6104371.html
希尔排序原理
在讲解希尔排序之前,我们有必要先回头看一下插入排序的问题。插入排序不管数组分布时怎么样的,都是一步步的对元素进行比较,移动,插入。比如[5,4,3,2,1,0]这种倒序序列,数组末端的0要回到首位很费劲,比较和移动元素均需n-1次。这时就引出了希尔排序。
希尔排序是希尔(Donald Shell)于1959年提出的一种排序算法。希尔排序也是一种插入排序,它是简单插入排序经过改进之后的更高效的版本。该算法是突破O(n^2)的第一批算法之一。
...