[置顶]我理解的Linux IO模式及select,poll,epoll

前言 本文是在本人查阅部分资料,并综合了众多博客分析后,于此阐述的个人理解。若有错误,欢迎指正。 基本概念 用户空间和内核空间 操作系统核心-内核负责处理用户程序和硬件之间的驱动交互。内核是在用户程序(进程)和硬件之间一个中枢。目地:专门负责用户进程和硬件之间的交互,用户程序必须使用内核才能和计算机底层硬件进行交流。为了保证内核的安全,于是将内存划分开,比如针对linux 4G的内存空间,将最高的1G字节(从虚拟地址0xC0000000到0xFFFFFFFF),供内核使用,称为内核空间,而将较低...阅读全文

www.allocmem.com 2018-04-21 13:30 www.allocmem.co 等

[置顶]nginx搭配frp进行端口和服务转发

###引言:   java接入三方运营商服务接口,需要可供回调的公网接口,并在本地两台(及以上)调试接口服务,于是使用开源frp进行穿透,nginx搭配负责分发请求到不同机器。 ###安装环境: 1. ubuntu 16.04 LTS 一台服务器 两台客户机 2. 已安装好nginx ###frp配置过程: 参考我之前博文[http://blog.csdn.net/yan_chou/article/details/53406095](http://blog.csdn.net/yan_chou/a...阅读全文

www.allocmem.com 2017-02-20 16:06 www.allocmem.co 等

Hive笔记之collect_list/collect_set(列转行) - CC11001100

Hive中collect相关的函数有collect_list和collect_set。 它们都是将分组中的某列转为一个数组返回,不同的是collect_list不去重而collect_set去重。   做简单的实验加深理解,创建一张实验用表,存放用户每天点播视频的记录:create table t_visit_video ( username string, video_name string ) partitioned by (day string) row format delimited ...阅读全文

博客园 2018-05-16 01:12 博客园

Flink窗口全解析:三种时间窗口、窗口处理函数使用及案例

我写的《Flink原理与实践》已由人民邮电出版社出版,感兴趣的朋友请到电商平台购买,谢谢!微信公号:ilulaoshi 个人网站:https://lulaoshi.info/flink/chapter-time-window/window.html我们经常需要在一个时间窗口维度上对数据进行聚合,窗口是流处理应用中经常需要解决的问题。Flink的窗口算子为我们提供了方便易用的API,我们可以将数据流切分成一个个窗口,对窗口内的数据进行处理。本文将介绍如何在Flink上进行窗口的计算。一个Flink...阅读全文

Flink中对keyBy的探究_dinghua_xuexi的专栏

0 摘要        在Flink实时流数据处理中,经常用到keyBy算子, 虽然能够大致不差的使用它,实现自己的需求。然而这个算子到底做了什么事情,心里一直没有底。这篇文章算是对keyBy算子稍微深入一点的探究。   1 Spark中的按key分组操作        对于经常使用spark的同学而言,分组操作数据,那是再熟悉不过。比如groupBy, reduceBy, aggregateBy等一系列算子。基本思路都是指定key之后, 将相同key的元素集合到一个集合里面,形成一个新的集合元...阅读全文

CSDN博客_flink keyby 2020-08-01 18:33 CSDN博客_flink ke 等

deleted

Flink是下一代大数据计算平台,可处理流计算和批量计算。《Flink-1.9流计算开发:十三、min、minBy、max、maxBy函数》cosmozhu写的本系列文章的第十三篇。通过简单的DEMO来演示min、minBy、max、maxBy函数执行的效果 。需求本篇文章我们来区分min(max)与minBy(maxBy)之间的区别,下面案例是每10秒计算一次最近1分钟的最小值订单。解决方案 public static void main(String[] args) throws Excep...阅读全文

腾讯云 2020-06-15 00:00 腾讯云

Socks5代理工作原理 - 云+社区

Socks5代理工作原理&抓包分析 Socks5代理工作原理[TOC]1. Socks5协议以下摘自维基百科 SOCKS是一种网络传输协议,主要用于客户端与外网服务器之间通讯的中间传递。SOCKS是”SOCKetS”的缩写[注 1]。 当防火墙后的客户端要访问外部的服务器时,就跟SOCKS代理服务器连接。这个代理服务器控制客户端访问外网的资格,允许的话,就将客户端的请求发往外部的服务器。 这个协议最初由David Koblas开发,而后由NEC的Ying-Da Lee将其扩展到SOCKS4。最新...阅读全文

Linux利用iptables实现真

对于经常要浏览油管等被墙网站的人而言,利用代理来实现fq是非常有必要的。现在fq的方法中,最为主流的应该要数ssr了,因此本教程都是基于ssr的socks5代理而言的。 在windows中,ssr客户端设置的系统代理,大部分应用还是能够起到作用的,但是也有不少却不走代理。这里有个不错的解决方案就是通过sstap来实现网卡层的代理,这样一来,所有的流量都会通过代理流通转发出去了。 然而,windows并不是我们的全部,偶尔我也会用用linux,这样的话,对于linux有没有较好的全局代理方案呢?这...阅读全文

全局代理 2019-05-11 00:00 全局代理

理解RTMP、HttpFlv和HLS的正确姿势

登录注册写文章首页下载APPIT技术抽奖理解RTMP、HttpFlv和HLS的正确姿势北塔资讯关注赞赏支持理解RTMP、HttpFlv和HLS的正确姿势 需求比协议重要,理解你的需求在前,选择应用的协议在后! 第一、是什么? 解释这个问题有很大的难度,你所处的角度不同,决定了所需答案的不同。不管怎么样,协议是为了解决问题而生的,它有着天然的指向性。同时,也有着它自身的局限。这三个协议的背后,有着一段凄美的爱情故事。我说说,你听听,在想当初…. 千禧年的钟声敲响了,人们迈进了一个新的世纪。当时的移...阅读全文

P2P通信原理与实现

当今互联网到处存在着一些中间件(Middle Boxes),如NAT和防火墙,导致两个(不在同一内网)中的客户端无法直接通信. 这些问题即便是到了IPV6时代也会存在,因为即使不需要NAT,但还有其他中间件如防火墙阻挡了链接的建立. 目前部署的中间件多都是在C/S架构上设计的,其中相对隐匿的客户机主动向周知的服务端(拥有静态IP地址和DNS名称)发起链接请求. 大多数中间件实现了一种非对称的通讯模型,即内网中的主机可以初始化对外的链接,而外网的主机却不能初始化对内网的链接, 除非经过中间件管理员...阅读全文

MySQL中大于小于,IN,OR,BETWEEN性能比较_听海Movie的专栏

在MySQL中经常会有朋友问关于大于小于,IN,OR,BETWEEN,哪个性能更好? 我想有很多朋友会用它们但确实不知道大于小于,IN,OR,BETWEEN性能哪个更好吧,下面总结一下关于大于小于,IN,OR,BETWEEN性能。 这里的查询条件有四种:>=和<=;between;or;in 这里id列是索引列,如果不是的话,三个查询都是全表扫描,性能差距应该不大。   1  准备环境 mysql> show create table tinG *************************...阅读全文

CSDN博客 2015-09-15 17:49 CSDN博客

stunnel配置实例

stunnel简介 stunnel是一个开源跨平台进行通信加密的软件。它可以对原生不支持加密通信的服务(如FTP, Telnet等)在上层提供加密功能,而无须修改这些服务的代码。 stunnel分为client和server两种不同的角色,二者之间的通信使用X509证书进行加密。在初装时,stunnel会自动生成一个自签名的证书用于加密,但它更推荐用户使用自己生成的证书。 stunnel证书生成 用OpenSSL生成自签名的证书其实非常容易,在已安装OpenSSL的Linux环境下: $ ope...阅读全文

Finisky Garden 2019-07-21 00:00 Finisky Garden

SSE和WebSocket的用法和比较 - like2372

在我们日常开发中,会遇到服务端和客户端的通讯,今天我们就来比较一下HTML5新特性SSE和WebSocket的用法。 一,SSE 简介 SSE(Server-Sent Events,服务器发送事件)是围绕只读Comet 交互推出的API 或者模式。 SSE API允许网页获得来自服务器的更新(HTML5),用于创建到服务器的单向连接,服务器通过这个连接可以发送任意数量的数据。服务器响应的MIME类型必须是text/event-stream,而且是浏览器中的JavaScript API 能解析格式...阅读全文

Java阻塞延迟队列DelayQueue原理及使用_Hopefully Sky的博客

阻塞队列 阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作是:在队列为空时,从队列中获取元素的消费者线程会一直等待直到队列变为非空。当队列满时,向队列中放置元素的生产者线程会等待直到队列可用。阻塞队列常用于生产者和消费者的场景,生产者是往队列里添加元素的线程,消费者是从队列里拿元素的线程。 在阻塞队列不可用时,这两个附加操作提供了4种处理方式: 抛出异常:当队列满时,插入元素会抛出IllegalStateException;返回特殊值:offer()是入队方法...阅读全文

CSDN博客_java 延迟队列 2020-04-23 21:26 CSDN博客_java 延迟队 等

NullPointerException 没有堆栈 - cdfive

周五在公司搭好的ELK上查看日志,组长让看看其中NullPointerException出现很多的原因。 通过NullPointerException搜索,点看其中一个查看,发现异常的信息就一行java.lang.NullPointerException,并没有堆栈信息。 看了几个都没有,然后翻代码看记日志的地方,调用了日志基础工程的一个方法,异常对象通过封装传了进去,其中异常信息属性取值用的是Throwables.getStackTraceAsString(e),这是guava包提供的方法,点...阅读全文

博客园 2018-05-27 12:19 博客园

XOR 加密简介

本文介绍一种简单高效、非常安全的加密方法:XOR 加密。 一、 XOR 运算 逻辑运算之中,除了 AND 和 OR,还有一种 XOR 运算,中文称为"异或运算"。 它的定义是:两个值相同时,返回false,否则返回true。也就是说,XOR可以用来判断两个值是否不同。 true XOR true // false false XOR false // false true XOR false // true true XOR false // true JavaScript 语言的二进制运算,有...阅读全文

阮一峰的网络日志 2017-05-31 00:00 阮一峰的网络日志

吃透Netty源码系列四十九之WebSocket编解码器详解二_王伟王胖胖的博客

吃透Netty源码系列四十九之WebSocket编解码器详解二 Utf8FrameValidatorWebSocketServerProtocolHandlerdecodeWebSocketProtocolHandler的decode WebSocket08FrameEncoder解码器 Utf8FrameValidator 今天把剩下的一些说下,这个是验证文本帧是否是UTF8编码的。来看下吧。其实他就是检查是否是最后一帧,如果是文本帧的话就检测内容,不是UTF8的就抛异常。如果是持续帧,只有第...阅读全文

CSDN博客 2020-03-04 22:09 CSDN博客

Golang 并发赋值的安全性探讨 - 云+社区

我们知道 Golang 中变量的赋值不是并发安全的,实际情况果真如此吗? 1.什么是并发安全并发安全就是程序在并发情况下执行的结果是正确的。比如对一个变量简单的自增操作count++,在非并发下很好理解,而在并发情况下却容易出现预期之外的结果,这样的代码就是非并发安全的。因为count++其实是分成两步执行的,当分成了两步执行,那么其他协程就可以趁着这个时间间隙作怪。如一下 a b 两个协程同时 count++:count:= 1 a > 读取count : 1 b > 读取count : 1 ...阅读全文

腾讯云 2021-04-08 00:00 腾讯云

Java并发编程:volatile关键字解析 - Matrix海子

Java并发编程:volatile关键字解析    volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。   volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来了解一下与内存模型相关的概念和知识,然后分析了vo...阅读全文

博客园 2014-08-22 22:07 博客园

ffmpeg实现图片转视频以及视频转图片

日期:2021-3-15简介:因为计网作业需要,今天就是讲一讲如何使用ffmpeg把图片转视频以及视频转图片。一、下载ffmpeg你可以在ffmpeg的bin文件下看见以下三个.exe文件二、建个快速打开命令行的bat文件可以新建文件夹.txt->在.txt文件中输入cmd并保存->将.txt后缀名改成.bat可以看一下打开.bat文件后的效果三、自己录制个视频放入bin目录中四、视频转图片打开.bat文件->输入ffmpeg -i GGGabc.mp4 -t 5 -s 1080x1080 -r...阅读全文