[置顶]我理解的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 等

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...阅读全文

H.264编解码原理浅析

作者:张哲源 声网 Agora 视频算法工程师最近看到了一句话“想讲清一件事情,拍个短视频就够了;如果不够,就来一场直播”。视频成了最主流的“表达方式”。但这背后,离不开一项技术。可以说,如果没有它,我们甚至无法通过互联网看视频。这项技术就是视频编解码技术。为什么我们需要视频编码呢?因为我们需要通过编码压缩视频,节省对传输带宽和储存空间的需求。我们都知道,视频是由图像组成的。我们就先拿一张图片来说吧。如果想要看到一张1920*1080分辨率的高清图片,我们一共需要1920*1080*8*3个bi...阅读全文

MGW——美团点评高性能四层负载均衡

本文整理自美团点评技术沙龙第14期:美团背后的故事-你不知道的美团云。美团点评技术沙龙由美团点评技术团队主办,每月一期。每期沙龙邀请美团点评及其他互联网公司的技术专家分享来自一线的实践经验,覆盖各主要技术领域。目前沙龙会分别在北京、上海和厦门等地举行,要参加下一次最新沙龙活动?赶快关注微信公众号“美团点评技术团队”。本期沙龙包括三场讲座:美团云Docker平台、美团云对象存储系统、美团四层负载均衡网关MGW。其他几场讲座的图文实录会陆续发表,请继续关注。在高速发展的移动互联网时代,负载均衡有着举...阅读全文

美团技术团队 2017-01-05 00:00 美团技术团队

使用OpenSSL证书操作详解 - 玄同太子

一、OpenSSL简介   OpenSSL支持多种秘钥算法,包括RSA、DSA、ECDSA,RSA使用比较普遍。官网地址:https://www.openssl.org/,一般CeontOS系统都装有OpenSSL,可使用命令openssl verson查看 openssl verson 二、秘钥操作   A)生成RSA私钥。-out private.key 输出秘钥文件为private.key;128 为秘钥大小,目前认为2048大小是比较安全的,本文测试使用128大小。 openssl ge...阅读全文

博客园 2019-12-05 11:50 博客园

主流数字证书有哪些格式?_SSL证书管理 SCM_常见问题_咨询类_华为云

主流的Web服务软件,通常都基于OpenSSL和Java两种基础密码库。 Tomcat、Weblogic、JBoss等Web服务软件,一般使用Java提供的密码库。通过Java Development Kit(JDK)工具包中的Keytool工具,生成Java Keystore(JKS)格式的证书文件。Apache、Nginx等Web服务软件,一般使用OpenSSL工具提供的密码库,生成PEM、KEY、CRT等格式的证书文件。IBM的Web服务产品,如Websphere、IBM Http Ser...阅读全文

support.huaweicloud.com 2021-08-03 00:00 support.huaweic 等

Spring的任务调度@Scheduled注解——task:scheduler和task:executor的解析

一个简单的Spring定时任务的 demo,全部代码见下载地址:https://download.csdn.net/download/yx0628/10511753 对于 applicationContext 的配置如下:调度器线程池 task:scheduler 和 task:executor 的意义在后边例子中会详细的测试和说明。 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.o...阅读全文

WebRTC简介

引言最近一段时间的主要工作内容是开发一个远程控制手机的功能,其中使用到的一个关键技术就是WebRTC,在此准备分享一下我对这个技术的理解。其他 WebRTC 相关文章均收录于贝贝猫的文章目录。 什么是WebRTCWebRTC是一个由Google发起的实时通讯解决方案,其中包含视频音频采集,编解码,数据传输,音视频展示等功能,我们可以通过技术快速地构建出一个音视频通讯应用。 虽然其名为WebRTC,但是实际上它不光支持Web之间的音视频通讯,还支持Android以及IOS端,此外由于该项目是开源的...阅读全文

知乎 2021-09-06 16:58 知乎

Netty学习(五)—IdleStateHandler心跳机制_tuzhenyu的博客

Netty学习(五)—IdleStateHandler心跳机制 Netty的IdleStateHandler心跳机制主要是用来检测远端是否存活,如果不存活或活跃则对空闲Socket连接进行处理避免资源的浪费; 个人主页:tuzhenyu’s page 原文地址:Netty学习(五)—IdleStateHandler心跳机制 (0)基础 心跳机制 心跳是在TCP长连接中,客户端和服务端定时向对方发送数据包通知对方自己还在线,保证连接的有效性的一种机制在服务器和客户端之间一定时间内没有数据交互时,...阅读全文

CSDN博客_idlestatehandler 2017-11-21 13:53 CSDN博客_idlestat 等

【Netty】(8)---理解ChannelPipeline - 雨点的名字

ChannelPipeline      ChannelPipeline不是单独存在,它肯定会和Channel、ChannelHandler、ChannelHandlerContext关联在一起,所以有关概念这里一起讲。 一、ChannelHandler   1、概念  先看图 ChannelHandler下主要是两个子接口       ChannelInboundHandler(入站): 处理输入数据和Channel状态类型改变。                                ...阅读全文

博客园 2019-01-07 22:26 博客园