自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

老码农的博客

java开发 大数据相关技术

  • 博客(97)
  • 资源 (1)
  • 收藏
  • 关注

原创 Spring MVC核心组件之HandlerMapping详解

当一个web请求到来时,DispatcherServlet负责接收请求并响应结果。DispatcherServlet首先需要找到当前请求对应的handler(处理器)来处理请求,流程如下图所示。DispatcherServlet中有一个成员变量叫做handlerMappings,是一个HandlerMapping的集合,当请求到来时,DispatcherServlet遍历handlerMappings中的每一个HandlerMapping以获取对应的handler。

2024-05-16 13:59:28 1249 6

原创 UE蓝图 编译过程详解

蓝图编译器是一种用于编译UE蓝图的可视化脚本系统的编译器。 其主要作用是将蓝图资源的属性和图转换成类,以便在运行时使用。在编译过程中,编译器会将节点转换成一系列的语句,然后编译器后端会将这些节点翻译成字节码操作。例如,变量赋值、无条件跳转(goto)和调用(call)等操作。

2024-03-01 10:17:57 2456 4

原创 防火墙工具iptables应用详解

iptables是Linux系统中一款强大的防火墙工具,它基于Netfilter内核模块,允许管理员定义数据包的转发、过滤和NAT(网络地址转换)规则,以保护网络安全,限制网络流量。

2024-08-05 16:56:53 1017 33

原创 java通过poi解析word入门

Apache POI 是一个处理Miscrosoft Office各种文件格式的开源项目。可以使用POI在Java程序中对Miscrosoft Office各种文件进行读写操作。

2024-07-26 16:03:13 1704 28

原创 Flink NoSuchFileException: /tmp/flink-netty-shuffle-xxxx/xxxx.channel.shuffle.data异常处理

Fllink 批任务运行一段时间后出现如下错误:java.nio.file.NoSuchFileException: /tmp/flink-netty-shuffle-c5222ebc-a7bb-4fa1-bfd2-c7b5c9bd9b67/3740ddaa0f56ec8bcce80927e4a05443.channel.shuffle.data详细信息如下:Flink任务按Batch模式执行时,配置taskmanager.tmp.dirs 不要使用/tmp目录

2024-07-17 16:06:39 726 10

原创 使用Flink CDC实现 Oracle数据库数据同步(非SQL)

Flink CDC 是一个基于流的数据集成工具,旨在为用户提供一套功能更加全面的编程接口(API)。该工具使得用户能够以 YAML 配置文件的形式实现数据库同步,同时也提供了Flink CDC Source Connector API。

2024-06-28 10:21:26 2130 8

原创 C++基础-编程练习题和答案(数组2)

在C++中,数组是一种数据结构,它允许在内存中连续存储相同类型的元素。 数组是通过索引来访问的,索引从0开始。本文考察C++数组的使用,数组的定义和初始化、数组元素的查找、数组的插入、删除等。植树,校门外的树、排除第一个异形基因、比身高、supercell做核酸

2024-06-06 08:32:40 972 12

原创 C++基础-编程练习题和答案(数组)

一、元素插入有序数组二、数组元素的删除三、小明排队做操迟到四、看电影五、数字接力

2024-05-30 08:30:03 1267 11

原创 Spring RequestMappingHandlerMapping详解

RequestMappingHandlerMapping是Spring MVC中的一个请求映射处理器,它负责将HTTP请求映射到特定的@RequestMapping注解的方法上。

2024-05-17 14:43:29 1310 18

原创 C++基础-编程练习题和答案

查找插入有序数组的位置、最高分、不与最大数相同的数字之和、最大值和最小值的差、数字放大、多余的数、数字接力、幸运大抽奖

2024-05-08 14:23:43 894 13

原创 C++基础-编程练习题及答案

C++基础-编程练习题和答案。查找“支撑数”、数组元素的查找、爬楼梯、数字交换、找高于平均分的人

2024-05-07 16:15:40 955 43

原创 C++基础-编程练习题1

哥德巴赫猜想 质数是指除了 1 和本身之外没有其他约数的数, 如 2 和 11 都是质数,而 6 不是质数,因为 6 除了约数 1 和 6 之外还有约数 2 和 3。求出哥德巴赫猜想的所有解(将一个大于 9 的奇数拆分成三个素数之和),并按从小到大的顺序写出。n 行, 包括所有同学的成绩, 每行包括学号和成绩, 之间用一个“: ” 分隔, 成绩保留一。

2024-05-07 15:23:07 800 5

原创 动态规划入门和应用示例

动态规划(Dynamic Programming,DP)是运筹学的一个分支,是求解决策过程最优化的数学方法。它主要用于解决一类具有重叠子问题和最优子结构性质的问题。通过把原问题分解为相对简单的子问题的方式,动态规划可以求得复杂问题的最优解。动态规划的基本思想是将一个复杂的问题分解为若干个相对简单的子问题,通过求解这些子问题,并将它们的解存储起来,以便在求解更大的问题时能够重复利用这些解,从而避免大量的重复计算,提高算法的效率。核心思想动态规划的核心思想是利用过去的数据解决现在的问题。

2024-04-29 11:27:13 2487 61

原创 java.net.BindException: Address already in use: no further information

基于Netty实现的文件管理,对客户端windows系统上的大量中小文件进行上传,并回调rest接口记录文件上传状态。在运行了一段时间后,文件传输过程中出现如下异常:原因分析:错误信息Address already in use: no further information: /10.168.18.170:8345,具有迷惑性,貌似8345端口被占用,实际上是因为短时大量连接占用了过多的端口。Windows的默认最大TCP连接端口数(MaxUserPort)是5000,默认240秒释放之前的操作完的连

2024-04-25 13:45:18 1166 14

原创 Netty Future-Listener 机制

Netty的机制是一种异步编程模型,通过该模型Netty在执行 Bind、Write、Connect等操作时会返回一个 ChannelFuture,调用者并不能立刻获得结果,而是通过 Future-Listener 机制,用户可以方便的主动获取或者通过通知机制获得 IO 操作结果。在Netty中,Future和Listener是处理异步I/O操作的重要组件。flush0();if (!1、writeAndFlush操作后返回Future

2024-04-19 09:32:43 972 7

原创 Netty实现大文件分块传输详解

在Netty中,切分大文件进行传输主要利用以及它的实现类,如。这种机制允许你将大文件切分成多个小块(chunks),并通过Netty的pipeline进行异步发送。设置Netty的ServerBootstrap或Bootstrap首先,你需要配置你的ServerBootstrap或Bootstrap,并添加到你的pipeline中。会处理所有或的写入。创建ChunkedFile对象使用类来创建一个代表大文件的对象。你需要提供文件的路径,以及每个chunk的大小(或者默认使用的默认chunk大小)。

2024-04-16 14:59:14 1166 12

原创 Netty源码解析-服务启动过程

Netty是一个高性能、异步事件驱动的网络应用框架,用于快速开发可维护的高性能协议服务器和客户端。它的服务启动过程涉及多个组件和步骤,下面我将对Netty的服务启动过程进行详细的源码解析。

2024-04-11 18:59:29 824 10

原创 Netty NioEventLoop详解

Netty通过事件循环机制(EventLoop)处理IO事件和异步任务,简单来说,就是通过一个死循环,不断处理当前已发生的IO事件和待处理的异步任务。① NioEventLoop是一个基于JDK NIO的异步事件循环类,它负责处理一个Channel的所有事件在这个Channel的生命周期期间。② NioEventLoop的整个生命周期只会依赖于一个单一的线程来完成。

2024-04-05 19:53:09 1636 20

原创 Netty的线程模型

Netty的线程模型采用了Reactor模式,这是一种高性能的IO设计模式,它基于NIO多路复用。Netty支持多种线程模型,包括单线程模型、多线程模型和混合线程模型。

2024-04-05 10:37:20 982 15

原创 Java NIO Selector选择器源码分析

Java NIO(New I/O)的Selector选择器是一个用于多路复用(Multiplexing)的I/O操作的关键组件。它允许一个单独的线程监视多个通道(Channel)的可读性和可写性,从而有效地管理大量并发连接。AbstractSelector主要实现了Selector的打开关闭的状态维护,支持异步关闭和中断的begin和end方法,cancelledKeys等。// 是否打开// 三大key集合之一cancelledKeysif (!

2024-04-03 08:40:42 1299 19

原创 Java NIO Selector选择器简介

Selector是Java NIO(New I/O)中的核心组件之一,用于检查一个或多个NIO Channel(通道)的状态是否处于可读、可写、可连接或可接收等。通过Selector,可以实现单线程管理多个Channel对应的网络连接,从而避免多线程的线程上下文切换带来的额外开销。Selector与Channel之间的关系是通过注册的方式完成的。只有SelectableChannel才能被Selector管理,例如所有的Socket通道。

2024-04-02 11:31:09 1134 8

原创 设计模式之观察者模式

观察者模式(Observer Pattern)也被称为发布订阅模式(Publish-Subscribe Design Pattern)。它是一种行为设计模式,允许对象之间建立一种一对多的依赖关系,这样当一个对象状态改变时,它的所有依赖者(观察者)都会收到通知并自动更新。

2024-04-02 08:25:17 1580 8

原创 openLooKeng开发环境搭建

airbase 是 Airlift 公司提供的一个基础构建工具集,它包含了一系列 Maven 插件、依赖管理和其他配置,旨在帮助 Java 开发者更容易地创建、维护和发布 Maven 项目。当您构建或安装您的 Maven 项目时,Maven 会首先解析父 POM,并将父 POM 中的配置应用到当前项目中。在搭建OpenLooKeng开发环境之前,需要确保你的机器上安装了Java Development Kit (JDK) 8以上版本,因为OpenLooKeng是用Java编写的。

2024-03-30 09:45:20 1409 20

原创 Netty空闲检测&Keepalive

Netty的心跳检测和Keepalive机制都是为了确保客户端和服务器之间的连接仍然有效,防止连接断开。但它们在实现方式和原理上有所不同。Netty的心跳检测机制是一种自定义的、基于应用层的机制。它主要通过定时发送和接收特定的消息(心跳包)来检测连接是否仍然处于活动状态。具体来说,Netty提供了IdleStateHandler类来实现心跳检测。在初始化ChannelPipeline时,我们可以添加IdleStateHandler实例,并设置读、写超时时间。

2024-03-26 19:50:54 1674 22

原创 设计模式-工厂模式

工厂设计模式是一种创建型设计模式,它提供了一种在不指定具体类的情况下创建对象的方法。工厂模式将对象的创建与使用分离,使得代码更加灵活和可维护。工厂模式主要分为三种类型:简单工厂模式、工厂方法模式和抽象工厂模式。不过,在 GoF 的《设计模式》一书中,它将简单工厂模式看作是工厂方法模式的一种特例,所以工厂模式只被分成了工厂方法和抽象工厂两类。抽象工厂模式是一种创建型设计模式,它提供了一种方式来封装一组具有共同主题的单个工厂,而不需要指定它们的具体类。

2024-03-26 10:11:12 876 6

原创 Nginx Socket代理

Nginx 的 socket 代理通常指的是 Nginx 通过 stream 模块来处理非 HTTP 的 TCP 流量,比如数据库连接、SSH 连接或其他 TCP 协议的流量。stream 模块允许 Nginx 作为一个反向代理来处理这些连接。stream {server {# Nginx 监听的端口# 后端服务器的地址和端口在这个示例中,Nginx 在本地监听 12345 端口,并将所有到达这个端口的连接代理到的 12345 端口。stream 模块。

2024-03-25 17:03:39 2446 6

原创 nginx编译安装详细说明

在 CentOS 7 上编译安装 Nginx 1.24.0 ,您可以按照以下步骤进行操作。

2024-03-25 15:51:09 654 13

原创 设计模式-访问者(Visitor)模式详解和应用

最近在做一个根据数学表达式生成java执行代码的功能,其中用到了访问者模式。使我对访问者模式有了更深入的理解。故写下此篇文章分享出来,不足之处请大家指正。访问者模式(Visitor Pattern)是GoF提出的23种设计模式中的一种,属于行为模式。GoF《Design Pattern》中的定义 :表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素类的前提下定义作用于这些元素的新操作。

2024-03-21 14:40:39 1985 12

原创 Java组合式异步编程CompletableFuture

CompletableFuture是Java 8中引入的一个功能强大的Future实现类,它的字面翻译是“可完成的Future”。CompletableFuture对并发编程进行了增强,可以方便地将多个有一定依赖关系的异步任务以流水线的方式组合在一起,大大简化多异步任务的开发。

2024-03-19 14:29:02 1578 12

原创 Java 动态代理Proxy应用和底层源码分析

Java Proxy主要用于创建动态代理实例,这些实例实现了指定的一组接口,并在调用方法时将调用转发给指定的调用处理器(InvocationHandler)。这种机制常用于实现AOP(面向切面编程)框架、RPC(远程过程调用)框架等,以及任何需要动态改变对象行为的场景。

2024-03-18 10:50:03 1001 12

原创 Flink 集群部署模式

Flink支持多种集群部署模式,以满足不同场景和需求。会话模式(Session Mode)在会话模式下,用户首先启动一个长期运行的Flink集群,然后在这个会话中提交多个作业。集群资源在启动时就已经确定,提交的作业会竞争集群中的资源,直到作业运行完毕释放资源。会话模式适合执行大量规模小、执行时间短的作业。由于集群资源是共享的,因此可能存在资源争用的问题。单作业模式(Per-Job Mode)在单作业模式下,每个作业都会启动一个独立的Flink集群,作业完成后集群也会关闭。

2024-03-16 11:50:28 2067 8

原创 Flink广播流 BroadcastStream

Flink中的广播流(BroadcastStream)是一种特殊的流处理方式,它允许将一个流(通常是一个较小的流)广播到所有的并行任务中,从而实现在不同任务间共享数据的目的。广播流在处理配置信息、小数据集或者全局变量等场景下特别有用,因为这些数据需要在所有任务中保持一致且实时更新。定义MapStateDescriptor:首先需要定义一个MapStateDescriptor来描述要广播的数据的格式。这个描述器指定了数据的键值对类型。创建广播流:然后,需要将一个普通的流转换为广播流。这通常通过调用流的。

2024-03-14 17:21:00 3442 8

原创 Flink实战之 MySQL CDC

Flink CDC主要关注于从源数据库(如MySQL、PostgreSQL等)捕获数据变更,并将这些变更实时地提供给Flink作业进行处理。Flink CDC的核心优势在于其实时性和一致性。通过捕获数据库的增量变动记录,Flink CDC能够实时地将这些变更数据同步到Flink流处理作业中,从而实现低延迟的数据处理和分析。同时,Flink CDC还保证了数据的一致性,确保在数据处理过程中数据的准确性和完整性。为了实现这一功能,Flink社区开发了flink-cdc-connectors组件。

2024-03-13 08:28:49 1834 6

原创 Flink StreamTask启动和执行源码分析

Flink的StreamTask的启动和执行是一个复杂的过程,涉及多个关键步骤。初始化:StreamTask的初始化阶段涉及多个任务,包括Operator的配置、task特定的初始化以及初始化算子的State等。在这个阶段,Flink将业务处理函数抽象为operator,并通过operatorChain将业务代码串起来执行,以完成业务逻辑的处理。同时,还会调用具体task的init方法进行初始化。读取数据和事件:StreamTask通过mailboxProcessor读取数据和事件。运行业务逻辑。

2024-03-10 20:50:22 1311 13

原创 Flink 资源管理

在Flink中,资源管理是一个核心组件,它负责分配和管理计算资源,以确保任务能够高效、稳定地运行。资源管理的目标高效性:确保任务能够充分利用可用的计算资源,达到最佳的处理性能。稳定性:在资源不足或任务失败时,能够优雅地处理并恢复任务,保持系统的稳定运行。资源管理的组件:由Flink Master(也称为JobManager)和多个Task Managers组成。Master负责整个集群的协调和资源分配,而Task Managers负责执行具体的任务。

2024-03-09 21:06:14 1363 5

原创 Flink 物理执行图

JobManager根据ExecutionGraph对作业进行调度,并在各个TaskManager上部署任务。这些任务在TaskManager上的实际执行过程就形成了物理执行图。物理执行图并不是一个具体的数据结构,而是描述了流处理任务在集群中的实际执行情况。

2024-03-08 16:19:48 1542 6

原创 Flink ExecuteGraph构建源码解析

JobManager(JobMaster) 根据 JobGraph 生成 ExecutionGraph。ExecutionGraph是JobGraph 的并行化版本,是调度层最核心的数据结构。

2024-03-07 17:33:25 1527 8

原创 Flink JobGraph构建过程

在StreamGraph构建过程中分析了StreamGraph的构建过程,在StreamGraph构建完毕之后会对StreamGraph进行优化构建JobGraph,然后再提交JobGraph。优化过程中,Flink会尝试将尽可能多的StreamNode聚合在一个JobGraph节点中,通过合并创建JobVertex,并生成JobEdge,以减少数据在不同节点之间流动所产生的序列化、反序列化、网络传输的开销。

2024-03-06 12:32:19 1186 6

原创 Flink StreamGraph生成过程

在 Flink 中,StreamGraph 是数据流的逻辑表示,它描述了如何在 Flink 作业中执行数据流转换。StreamGraph 是 Flink 运行时生成执行计划的基础。使用DataStream API开发的应用程序,首先被转换为 Transformation,再被映射为StreamGraph,在客户端进行StreamGraph、JobGraph的转换,提交JobGraph到Flink集群后,Flink集群负责将JobGraph转换为ExecutionGraph,之后进入调度执行阶段。Stre

2024-03-03 21:12:24 1536 8

原创 Flink状态存储-StateBackend

Flink是一个流处理框架,它需要对数据流进行状态管理以支持复杂的计算逻辑。在Flink中,状态存储是指如何和在哪里存储这些状态数据。Flink提供了多种状态后端(State Backend)来实现这种存储,以满足不同的应用场景和性能需求。StateBackend需要具备如下两种能力:1、在计算过程中提供访问 State 的能力,开发者在编写业务逻辑中能够使用 StateBackend 的接口读写数据。2、能够将 State 持久化到外部存储,提供容错能力。

2024-03-02 21:06:33 1804 5

java面试题-设计模式(26题).pdf

java面试题_设计模式(26题).pdf

2024-09-19

Flink源码分析-Job调度部署运行流程.pdf

Flink源码分析-Job调度部署运行流程.pdf

2024-09-19

MySQL数据库面试题集.zip

MySQL数据库面试题集.zip

2024-09-03

MyBatis面试专题.zip

MyBatis面试专题.zip

2024-09-03

Redis面试题.zip

Redis面试题.zip

2024-09-03

jdbc查询金仓数据库KingBaseES数据时间多8个小时问题分析.pdf

jdbc查询金仓数据库KingBaseES数据时间多8个小时问题分析.pdf

2024-09-03

数据结构(C++版).zip

数据结构(C++版).zip

2024-08-28

JVM常见面试题指南.pdf

JVM常见面试题指南.pdf

2024-08-09

VC++教程20讲(含代码示例).zip

VC++教程20讲(含代码示例).zip

2024-08-08

RabbitMQ研究与应用.pdf

RabbitMQ研究与应用.pdf

2024-08-08

Netty4.1实战-手写RPC框架.pdf

Netty4.1实战-手写RPC框架.pdf

2024-08-08

CentOS7系统中安装Amabari和HDP的集群.pdf

CentOS7系统中安装Amabari和HDP的集群.pdf

2024-08-07

Spark的作业开发调优.pdf

Spark的作业开发调优.pdf

2024-08-07

Spark的数据倾斜调优.pdf

Spark的数据倾斜调优.pdf

2024-08-07

java面试题-多线程(含答案).pdf

java面试题_多线程(含答案).pdf

2024-08-07

Java并发编程面试专题.pdf

Java并发编程面试专题.pdf

2024-08-07

图形图像文字基础进阶教程.pdf

图形图像文字基础进阶教程 颜色空间 图像的各种格式 图像的渲染过程 仿射变换 文字的渲染等

2024-08-07

Oracle维护常用SQL语句.pdf

oracle维护常用SQL语句.pdf

2024-08-06

Oracle数据库维护手册.pdf

Oracle数据库维护手册.pdf

2024-08-06

微信公众号开发.pdf

微信公众号开发.pdf

2024-08-05

HTTP Header 详解.pdf

http Header 详解.pdf

2024-08-05

http 跨域请求 CORS.pdf

http 跨域请求 CORS.pdf

2024-08-05

Mysql事务隔离:为什么你改了我还看不见.pdf

mysql 事务隔离:为什么你改了我还看不见.pdf

2024-08-01

Mysql-日志系统:一条SQL更新语句执行过程.pdf

mysql 日志系统:一条SQL更新语句执行过程.pdf

2024-08-01

Mysql基础架构:一条SQL查询语句执行过程.pdf

mysql 基础架构:一条SQL查询语句执行过程.pdf

2024-08-01

douban-top-250-books.py

python douban_top_250_books.py

2024-07-31

Python爬虫-qiushibaike.zip

python 爬虫-qiushibaike.zip

2024-07-31

Python爬虫-biaoqingbao.zip

python 爬虫 biaoqingbao.zip

2024-07-31

使用POI对Word文件中的图像、章节标题、表格、脚注、引注等信息进行校验

使用POI对Word文件中的图像、章节标题、表格、脚注、引注等信息进行校验

2024-07-30

web3开发DApp项目技术入门教程.pdf

web3开发DApp项目技术入门教程.pdf

2024-07-30

Mysql root用户密码重置.pdf

mysql root用户密码重置.pdf

2024-07-30

MySQL性能优化的21个最佳实践.pdf

MySQL性能优化的21个最佳实践.pdf

2024-07-30

MySQL面试题(含答案)-.pdf

mysql 面试题(含答案)_.pdf

2024-07-30

SpringBoot面试专题.pdf

springboot 面试专题.pdf

2024-07-30

自动化脚本工具autojs介绍.pdf

autojs 自动化脚本工具autojs介绍.pdf

2024-07-29

matlab仿真设计资源(需要使用到工具箱).pdf

matlab仿真设计资源(需要使用到工具箱).pdf

2024-07-29

Flink NoSuchFileExceptionnetty-shuffle-channel.shuffle.data异常处理

Flink NoSuchFileException_ _tmp_flink-netty-shuffle-xxxx_xxxx.channel.shuffle.data异常处理

2024-07-29

计算机视觉(CV)-相关技术学习.pdf

计算机视觉(CV)-相关技术学习.pdf

2024-07-29

Spring面试专题及答案.pdf

spring高手之路21

2024-07-29

Spring面试题(含答案)-.pdf

spring高手之路21 Spring面试题(含答案)_.pdf

2024-07-29

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

TA关注的人

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