07.NIO之FileChannel练习

将数据写入指定文件import lombok.extern.slf4j.Slf4j; import java.io.File; import java.io.IOException; import java.nio.ByteBuffer; import java.nio.channels.FileChannel; import java.nio.charset.StandardCharse...

Java 2022-05-27 PM 11次 0条

06.NIO之FileChannel介绍

[TOC]一、概念FileChannel是一个连接到文件的通道,使用FileChannel可以从文件读数据,也可以向文件中写入数据。Java NIO的FileChannel是标准 Java IO 读写文件的替代方案。FileChannel的主要作用是读取、写入、映射、操作文件。FileChannel 只能工作在阻塞模式下。FileChannel 和 标准Java IO对比FileInputS...

Java 2022-05-27 PM 14次 0条

05.NIO之bytebuffer黏包和半包

[TOC]一、示例网络上有多条数据发送给服务端,数据之间使用 n 进行分隔但由于某种原因这些数据在接收时,被进行了重新组合,例如原始数据有3条为Hello,worldnI'm zhangsannHow are you?n变成了下面的两个 byteBuffer (黏包,半包)Hello,worldnI'm zhangsannHow are you?n分析本来分别将上方三条数据发送给服务端,但是...

Java 2022-05-26 PM 24次 0条

04.NIO之bytebuffer常见方法演示

[TOC]1. 分配内存空间可以使用allocate() 和 allocateDirect()方法为ByteBuffer分配空间,其他buffer类也有该方法allocate(): 使用的是java的堆内存,堆内字节缓冲区,读写效率低,会受到GC的影响allocateDirect():使用的是直接内存,直接内存字节缓冲区,读写效率高(零拷贝),不会受GC影响,因为是系统直接内存,所以分配内存...

Java 2022-05-25 PM 25次 0条

03.NIO之bytebuffer内部结构和方法

[TOC]一、bytebuffer内部结构1.1 属性介绍Bytebuffer有以下重要属性:capacity(容量):缓冲区的容量。通过构造函数赋予,一旦设置,无法更改。position(指针):读写指针,记录数据读写的位置,缓冲区的位置不能为负,并且不能大于limit。limit(读写限制):缓冲区的界限。位于limit 后的数据不可读写。缓冲区的限制不能为负,并且不能大于其容量。1.2...

Java 2022-05-25 PM 26次 0条

02.NIO之bytebuffer基本使用

[TOC]前言本篇将通过nio读取一个文本文件来演示bytebuffer的基本使用一、准备数据准备创建data.txt文件,增加如下内容:1234567890abcd创建Maven项目安装lomback插件二、ByteBuffer 使用分析向 buffer 写入数据,例如调用 channel.read(buffer)调用 flip() 切换至读模式从 buffer 读取数据,例如调用 buf...

Java 2022-05-24 AM 32次 0条

01.NIO简单介绍

[TOC]前言Java NIO有两种解释:一种叫非阻塞IO(Non-blocking I/O)另一种叫新的IO(New I/O)其实两种概念也是相同的。一、概述Java NIO是从Java1.4版本开始引入的一个新的IO API,可以代替标准的IO API。NIO与原来的IO有同样的作用和目的,但是使用的方式完全不同,NIO支持面向缓冲区的,基于通道的IO操作。NIO将以更加高效的方式进行文...

Java 2022-05-23 PM 33次 0条

08.Table API和Flink SQL动态表和持续查询

[TOC]前言SQL 和关系代数在设计时并未考虑流数据。因此,在关系代数(和 SQL)之间几乎没有概念上的差异。本文将介绍 Flink 如何在无界数据集上实现与数据库引擎在有界数据上的处理具有相同的语义。一、DataStream 上的关系查询下表比较了传统的关系代数和流处理与输入数据、执行和输出结果的关系。 关系代数(表)/SQL流处理处理的数据对象字段元祖的有界集合字段元祖的无限序列查询(...

Java 2022-02-26 PM 191次 0条

MySQL高级应用窗口函数(四)

[TOC]前言本篇将通过示例讲解:偏移分析函数+over()一、偏移分析函数概念lag(col,n,default):用于统计分组内往上第n行值。第一个参数为列名第二个参数为往上第n行(可选,不填默认为1)第三个参数为默认值(当往上第n行为NULL时候,取默认值,如不指定,则为NULL)lead(col,n,default):与lag相反,统计分组内往下第n行值。第一个参数为列名第二个参数为...

Java 2021-11-21 PM 222次 0条

MySQL高级应用窗口函数(三)

[TOC]前言本篇将通过示例讲解窗口函数中的组内排序函数:排序函数+over()一、排序函数说明row_number():会生成数据项在分组中的排名,排名即便相等也不会有并列排名,相同排名随机排序。rank():可以生成数据项在分组中的排名,排名相等时会产生并列排名,然后会在名次中留下空位。dense_rank():可以生成数据项在分组中的排名,排名相等时会产生并列排名,但不会在名次中留下空...

Java 2021-11-21 PM 223次 0条