java
文章平均质量分 81
王小工
java研发工程师、架构师、云计算、大数据、云原生
展开
-
Spring JPA 注解@Id @GeneratedValue @GenericGenerator
在Spring JPA中,通常使用@Id和@GeneratedValue注解来指定实体的主键及其生成策略。然而,@GeneratedValue注解默认支持的生成策略(如IDENTITY, SEQUENCE, AUTO, TABLE等)可能不完全满足所有数据库或特定场景下的需求。在某些情况下,可能需要更复杂的生成策略,这时可以使用Hibernate特有的@GenericGenerator注解来定义。@GenericGenerator是Hibernate提供的一个高级特性,允许自定义主键的生成策略。原创 2024-09-12 08:22:34 · 873 阅读 · 0 评论 -
Netty 知识目录
Netty原创 2024-08-31 11:33:23 · 356 阅读 · 0 评论 -
JAVA SpringBoot jar 程序 Systemctl 生产环境部署
在Linux系统中使用systemctl来管理和自动启动一个Spring Boot应用程序,需要将Spring Boot应用程序打包成一个可执行的JAR文件,并创建一个systemd服务单元文件。确保Spring Boot应用程序有适当的日志配置,以便systemd能够正确地记录输出和错误信息。如果应用程序需要额外的配置,可以通过环境变量或者命令行参数来传递。确保修改User为运行应用程序的用户,ExecStart为JAR文件的完整路径。原创 2024-08-15 11:00:20 · 380 阅读 · 0 评论 -
Flink Maven 依赖
定义:Apache Flink ML是Apache Flink的扩展库,提供了一套全面的机器学习(ML)API和基础设施,旨在简化机器学习管道的构建过程。开发者:Apache软件基金会编程语言:支持Python和Java,方便不同编程背景的开发者使用。原创 2024-08-05 18:58:25 · 955 阅读 · 0 评论 -
MongoDB mongoTemplate 分组统计并修改返回值名
请注意,我在group阶段中按field1和field2进行了分组,并计算了每个组的文档数(使用.count().as(“count”))。然后,在project阶段中,我重命名了这些字段(尽管在这个特定示例中,field1和field2只是被简单地传递并重新命名,但可能想根据需要进行更复杂的操作)。注意:上面的代码示例中,我使用了Aggregation.project(“quota”).and(“quota”).as(“quotaLimit”)来重命名quota字段为quotaLimit。原创 2024-07-31 16:32:24 · 823 阅读 · 0 评论 -
Hutool TimedCache 应用
Hutool是一款非常强大的Java工具库,提供了许多便捷的功能和工具类。在Hutool中,TimedCache是一个非常实用的类,用于实现带有时间限制的缓存功能。原创 2024-07-31 11:52:19 · 804 阅读 · 0 评论 -
Explicitly configure spring.jpa.open-in-view to disable this warning
这个警告信息来自Spring Boot应用程序,特别是与Spring Data JPA集成时出现的。spring.jpa.open-in-view 是一个配置属性,它决定了Spring是否应该在请求处理过程中自动开启一个EntityManager的持久化上下文(Persistence Context),并使其在整个请求处理过程中保持打开状态,包括视图渲染阶段。原创 2024-07-30 16:48:36 · 482 阅读 · 0 评论 -
AES 加密 key iv
AES(Advanced Encryption Standard)加密是一种广泛使用的对称加密算法,它使用相同的密钥进行加密和解密操作。在AES加密中,和,Initialization Vector)是两个重要的组成部分。原创 2024-07-30 08:30:53 · 3278 阅读 · 0 评论 -
IDEA解决 properties文件乱码问题
IDEA prop properties 文件乱码原创 2024-07-29 17:33:35 · 2064 阅读 · 0 评论 -
Spring MVC 本地目录图片文件暴漏出去
请注意,这里使用的是Spring Boot的版本,在Spring MVC中配置静态资源可能略有不同。此外,使用 file: 前缀后需要有一个目录分隔符(在Windows上是 \,在Unix-like系统上是 /),以确保路径正确。在生产环境中,可能还需要考虑将静态资源放在外部存储中,并使用URL前缀来引用它们。在这个配置中,任何映射到 /images/ 路径的请求都会被 Spring MVC 处理,并映射到本地的 images 目录。通过这种方式,你可以防止本地的图片文件被直接访问,确保安全性。原创 2024-07-29 09:36:23 · 421 阅读 · 0 评论 -
Netty SSL/TLS
SSL(Secure Sockets Layer)是网景公司设计的协议,用于在互联网上提供安全通信。TLS(Transport Layer Security)是SSL的后续版本,由IETF标准化,两者在技术上非常相似,通常可以视为同一个东西的不同阶段或版本。SSL/TLS协议的主要目的是在客户端和服务器之间建立一个加密的通道,以保护数据在传输过程中不被窃听、篡改或冒充。Netty是一个高性能、异步事件驱动的网络应用框架,用于快速开发可维护的高性能、高扩展性协议服务器和客户端。原创 2024-07-17 08:27:35 · 777 阅读 · 0 评论 -
Netty Websocket
Netty 是一个高性能、异步事件驱动的网络应用程序框架,支持快速开发可维护的高性能协议服务器和客户端。它基于 Java NIO(非阻塞 I/O)进行封装,提供了更简单易用的 API,并解决了 NIO 编程中常见的复杂性和错误。原创 2024-07-17 08:18:10 · 1393 阅读 · 0 评论 -
Netty HTTP
Netty 是一个高性能的异步事件驱动的网络应用程序框架,支持快速开发可维护的高性能协议服务器和客户端。它广泛应用于开发网络应用程序,如服务器和客户端协议的实现。Netty 提供了对多种传输类型的抽象,如 TCP/IP 和 UDP/IP 等,使得开发者可以专注于业务逻辑的实现,而不必担心底层网络通信的复杂性。在 HTTP 协议的支持方面,Netty 提供了丰富的 HTTP 相关的编解码器和处理器,使得开发者可以轻松地实现 HTTP 服务器和客户端。原创 2024-07-16 11:57:30 · 1426 阅读 · 0 评论 -
Netty UDP
UDP是一种无连接的协议,它并不在通信双方之间建立连接,而是直接将数据包从发送端发送到接收端。UDP不保证数据包的可靠传输,也不保证数据包的顺序,因此其传输速度通常比TCP快,且系统开销较小。然而,这也意味着UDP在某些情况下可能会丢失数据包或数据包到达的顺序错乱。原创 2024-07-16 08:27:50 · 1068 阅读 · 0 评论 -
Netty TCP
Netty在TCP通信中提供了高效、可靠、易于开发的解决方案。通过利用Netty的异步事件驱动模型、丰富的API和工具类以及完善的异常处理机制,开发者能够快速开发出高性能的TCP服务器和客户端应用。同时,Netty还提供了多种机制来解决TCP通信中常见的问题,如粘包拆包问题和心跳机制等,从而进一步提高了网络通信的可靠性和稳定性。原创 2024-07-16 08:18:01 · 1070 阅读 · 0 评论 -
Netty ByteBuf
在Netty中,ByteBuf是一个用于处理字节数据的核心组件。它提供了比Java原生的ByteBuffer更加丰富和灵活的操作方法,使得在网络编程中处理字节数据变得更加高效和方便。原创 2024-07-16 08:10:10 · 387 阅读 · 0 评论 -
Netty ChannelPipeline/ChannelHandler
在Netty中,ChannelPipeline和ChannelHandler是处理网络事件的核心组件。ChannelPipeline是一个处理器链,它负责处理和拦截入站和出站事件,而ChannelHandler则是这个链中的处理器。原创 2024-07-16 08:07:18 · 392 阅读 · 0 评论 -
Netty Channel
在Netty中,Channel是一个核心的概念,它代表了一个到远程节点的连接,可以是客户端到服务器的连接,也可以是两个节点之间的P2P(点对点)连接。在Netty中,Channel的实现类通常是与具体的网络协议和I/O操作相关的,比如NioSocketChannel和NioServerSocketChannel分别代表了基于NIO的客户端和服务器的Socket连接。Channel接口是Netty网络通信的主要抽象类,它封装了Java NIO的Channel提供的网络操作,如读、写、连接和绑定等。原创 2024-07-16 08:05:14 · 699 阅读 · 0 评论 -
Netty EventLoopGroup/EventLoop
EventLoopGroup是Netty中用于管理和调度事件循环的一个接口,它扮演着线程池的角色。在Netty中,每个EventLoopGroup都包含一个或多个EventLoop,用于处理事件驱动的任务,比如网络I/O操作、定时任务等。EventLoop是Netty中用于处理I/O事件的核心组件之一。它负责处理连接的生命周期事件、数据的读写等。EventLoop是一个循环处理事件的机制,通过异步、事件驱动的方式执行任务,以提高系统的并发性能。原创 2024-07-16 07:58:28 · 878 阅读 · 0 评论 -
Netty Bootstrap/ServerBootstrap
Netty中的Bootstrap和ServerBootstrap是Netty框架中的两个核心引导类,它们分别用于客户端和服务端的启动配置。原创 2024-07-16 07:52:11 · 1052 阅读 · 0 评论 -
Netty 知识结构
Netty的知识结构可以从多个维度进行解析,包括其核心组件、架构层次、协议支持以及应用场景等。原创 2024-07-16 07:47:50 · 1042 阅读 · 0 评论 -
flink 配置表
虽然 Flink 本身没有一个名为“配置表”的明确术语,但配置文件 flink-conf.yaml 和其他相关配置文件可以视为 Flink 的配置表,它们包含了 Flink 集群和作业运行所需的各种配置项。这些配置项涵盖了从主机和端口设置到内存管理、并行度调整、状态后端和检查点配置等多个方面。原创 2024-07-11 08:11:12 · 565 阅读 · 0 评论 -
flink 大数据处理资源分配
Flink是一个用于无界和有界数据流处理的分布式计算框架,它通过集群模式部署,可以充分利用集群中的CPU、内存、磁盘和网络IO等资源。Flink的资源分配主要涉及到任务管理器(TaskManager)和作业管理器(JobManager)的内存和CPU资源配置,以及作业的并行度设置。原创 2024-07-10 19:39:29 · 733 阅读 · 0 评论 -
Flink 窗口触发器(Trigger)(二)
用户可以通过实现 Trigger 接口来创建自定义触发器。自定义触发器可以基于复杂的逻辑来决定何时触发窗口的计算。onElement(element, timestamp, window, ctx): 当元素被添加到窗口时调用。(time, window, ctx, out): 当窗口的事件时间到达时调用。(time, window, ctx, out): 当窗口的处理时间到达时调用。onMerge(other): 当两个窗口合并时调用(例如,在会话窗口中使用)。canMerge。原创 2024-07-03 19:59:20 · 1571 阅读 · 1 评论 -
Flink 窗口触发器(Trigger)(一)
Flink的窗口触发器(Trigger)是流处理中一个非常关键的概念,它定义了窗口何时被触发并决定触发后的行为(如进行窗口数据的计算或清理)。原创 2024-07-03 19:26:13 · 1671 阅读 · 0 评论 -
Flink Window DEMO 学习
该文档演示了fink windows的操作DEMO。原创 2024-06-29 16:44:03 · 439 阅读 · 0 评论 -
Flink 反压
Flink反压是一个在实时计算应用中常见的问题,特别是在流式计算场景中。原创 2024-06-19 18:50:25 · 1290 阅读 · 0 评论 -
Flink 计数器Accumulator
通常,不需要直接定义 Accumulator 接口的实现,因为 Flink 已经为提供了一些内置的 Accumulator 类型,如 IntCounter, LongCounter, DoubleCounter 等。但如果需要自定义的聚合逻辑,可以实现 Accumulator 接口。原创 2024-06-18 20:00:58 · 636 阅读 · 0 评论 -
批量生产千万级数据 推送到kafka代码
1、随机IP生成代码2、指定时间范围内随机日期生成代码3、随机中文名生成代码。原创 2024-06-18 19:26:45 · 369 阅读 · 0 评论 -
maven archetype项目构架
打包成功后,我们可以在本地仓库(.m2目录)中找到对应的archetype-catalog.xml文件以及生成的对应archetype的jar包。生成的demo项目目录:项目的target/generated-sources目录下,看到生成的archetype项目。##1、将archetype目录拷贝出来,单独作为一个项目看,并且导入到IDEA中。##2、将archetype项目制作成本地仓库。#4、使用archetype创建项目。##3、选择对应的archetype。##1、创建新的项目。原创 2024-06-13 09:50:00 · 617 阅读 · 0 评论 -
Flink 命令行提交、展示和取消作业
这些命令应在 Flink 安装目录的命令行终端中执行。每个命令的具体参数和用法可以通过在命令后添加 --help 来查看详细的帮助信息,例如:./bin/flink run --help。以上命令假设你在Flink的命令行工具目录下执行,并且你有正确的权限和配置。如果你的Flink集群部署在远程服务器上,你可能需要通过SSH或其他方式连接到远程服务器,然后执行上述命令。这里,run是提交作业的命令,-c后面跟着的是主类的全路径,接着是jar文件的路径和可选的作业参数。原创 2024-06-12 08:15:51 · 840 阅读 · 0 评论 -
Flink mongo & Kafka
Apache Flink 是一个流处理和批处理的开源平台,用于在分布式环境中处理无界和有界数据流。它提供了用于数据处理的数据流 API(DataStream API)和表 API(Table API),并可以与各种外部数据源和存储系统进行交互。MongoDB 是一个基于文档的 NoSQL 数据库,它提供了高性能、可扩展和灵活的数据存储。而 Apache Kafka 是一个流处理平台,它允许发布和订阅记录流,类似于消息队列或企业消息系统。原创 2024-06-07 18:56:45 · 691 阅读 · 0 评论 -
SpringCloud 负载均衡 spring-cloud-starter-loadbalancer
描述:除了内置的负载均衡策略外,spring-cloud-starter-loadbalancer 还支持自定义负载均衡策略。特点开发者可以根据实际需求实现自己的负载均衡算法。可以考虑服务实例的当前负载状态、性能、地理位置等多种因素来做出决策。提供了更高的灵活性和定制性。通过实现自定义的 ReactorLoadBalancer 来定义自己的负载均衡算法。定义自定义的负载均衡器。原创 2024-06-06 18:57:03 · 2302 阅读 · 0 评论 -
SpringCloud 服务调用 spring-cloud-starter-openfeign
spring-cloud-starter-openfeign 是 Spring Cloud 中的一个组件,用于在微服务架构中声明式地调用其他服务。它基于 Netflix 的 Feign 客户端进行了封装和增强,使其与 Spring Cloud 生态更好地集成。原创 2024-06-06 08:58:39 · 1489 阅读 · 0 评论 -
Flink 容错
Flink的容错机制是确保数据流应用程序在出现故障时能够恢复一致状态的关键组成部分。其核心是通过创建分布式数据流和操作符状态的一致快照来实现,这种快照被称为检查点(Checkpoint)。原创 2024-06-05 18:22:50 · 961 阅读 · 1 评论 -
【开源】APIJSON 框架
APIJSON是一个关于API和JSON的综合技术或框架,一种专为API设计的JSON网络传输协议,以及基于这套协议实现的ORM库。2. 读取(Read)**功能:**通过APIJSON,你可以从数据库中检索数据。实现:定义API接口,指定请求方法(如GET)、URL和查询参数(可选)。发送请求,APIJSON后端服务将根据查询参数从数据库中检索数据。**示例:**要检索所有用户,你可以发送一个GET请求到/api/users。要检索特定用户(如ID为1的用户),你可以发送GET请求到/原创 2024-06-04 18:45:30 · 1610 阅读 · 0 评论 -
flink 状态
使用Flink的Stateful Functions API(如KeyedProcessFunction、ProcessFunction等)来定义和访问状态。通过getRuntimeContext().getState(…)或特定的状态描述符(如ValueStateDescriptor)来获取状态。Broadcast State用于保持所有子任务状态相同,确保当数据被广播到所有下游并行任务时,这些任务可以访问相同的状态数据。在这些任务中广播状态用于保持所有子任务状态相同。原创 2024-06-04 11:06:39 · 860 阅读 · 1 评论 -
Flink Watermark详解
Watermark 是用于处理流数据中事件时间(event time)乱序情况的重要机制。在流处理中,数据往往不是按照它们实际发生的时间顺序到达的,这可能是由于网络延迟、系统处理延迟或其他因素导致的。为了能够在这种乱序环境中正确地执行基于时间的操作(如时间窗口聚合),Flink 引入了 Watermark 的概念。Watermark 是一个特殊的标记,它表示“在此时间戳之前的数据应该都已经到达了”。原创 2024-06-04 08:03:12 · 1455 阅读 · 2 评论 -
flink 事件处理 CEP 详解
CEP(Complex Event Processing,复杂事件处理)是一个基于Flink Runtime构建的复杂事件处理库,它允许用户定义复杂的模式来检测和分析事件流中的复杂事件。原创 2024-05-30 18:11:36 · 1146 阅读 · 1 评论 -
flink 事件处理 CEP
CEP,即复杂事件处理,是一种可以在事件流中检测到特定的事件组合并进行处理的技术。它可以将简单事件通过一定的规则匹配组合成复杂事件,并基于这些复杂事件进行转换处理,得到想要的结果进行输出。原创 2024-05-30 17:33:52 · 1046 阅读 · 0 评论