自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 收藏
  • 关注

翻译 【论文阅读】GaussianVideo: Efficient Video Representation and Compression by Gaussian Splatting

pdf未开源。

2025-04-05 12:23:16 9 1

原创 【笔记】为什么Cholesky Decomposition和Rotation-Scaling Decomposition可以解决协方差矩阵正半定性问题?

的元素,矩阵可能在更新过程中变得非正半定,导致无效的高斯分布或数值不稳定性。Rotation-Scaling Decomposition(旋转-缩放分解)**通过提供一种特殊的参数化方式,解决了这个问题,使得。的元素,Cholesky 分解将正半定性约束嵌入到矩阵的构造中,避免了梯度下降可能导致的约束违反问题。因此,这两种分解是解决协方差矩阵优化中正半定性问题的强大工具,广泛应用于机器学习和高斯建模任务中。分解为旋转(方向)和缩放(大小),将正半定性嵌入到结构中,使得优化过程不会破坏这一性质。

2025-04-03 17:31:38 495

原创 redis做为缓存,mysql的数据如何与redis进行同步呢?

一致性要求高的情况:使用共享锁和排它锁或延时双删策略,确保缓存和数据库数据的严格一致性,虽然可能对性能有一定影响。允许延迟一致的情况:使用消息队列或Canal等技术,通过异步更新缓存的方式,保证系统的最终一致性,并能在一定时间内容忍数据的不一致。

2025-01-17 13:24:46 1161

原创 Java Stream API 常见中间方法和终结方法详解

Java 的是 Java 8 引入的一项功能,旨在简化对集合数据的操作。它提供了一种声明式编程风格,可以流畅地进行集合操作,如过滤、映射、排序、汇总等。本文将详细解释 Stream 的常见和,并举例说明它们的用法。

2025-01-15 16:46:24 304

原创 Java 中从集合和数组获取 Stream 流的方法详解

数据类型方法集合stream()或数组或基本类型数组或Map使用entrySet()keySet()values()

2025-01-15 16:28:58 376

原创 为什么 Java HashMap 的默认初始容量设置为 16?

容量是 2 的幂:通过位运算高效计算索引,避免慢速的取模操作。容量为 16:在性能和内存之间取得折中,适合大多数中小规模应用场景。装载因子和扩容策略:初始容量配合默认装载因子 0.75,可以在存储 12 个键值对之前避免扩容,进一步提高效率。。

2025-01-14 16:41:26 698

原创 Iterator 与 ListIterator 的区别

在 Java 中,Iterator和是用于遍历集合的两种常用接口,它们提供了不同的功能和操作方式。理解它们的区别对于编写高效的 Java 代码非常重要。本文将详细介绍这两个接口的区别,帮助大家更好地理解它们在不同场景下的应用。

2025-01-11 10:42:42 1097

原创 为什么定义javabean的时候一般会将基本类型的属性定义成包装类型的属性

将基本类型属性定义为包装类在JavaBean中是一种常见的实践,主要是为了提高代码的灵活性、兼容性和可维护性。包装类不仅支持null值,还能更好地与Java的各种框架、库和泛型机制配合使用,从而使得JavaBean在不同的应用场景中更加通用和强大。

2025-01-10 12:08:06 414

原创 Java 抽象类与接口的成员定义和区别总结

在 Java 的面向对象编程中,和是实现继承与多态的重要工具。两者既有相似之处,也有显著的区别。本文将系统总结它们中可以定义的成员类型以及它们之间的核心区别。

2025-01-09 21:12:13 683

原创 【多态】理解 Java 继承中成员变量与成员方法的访问特点

特性成员变量成员方法设计目标提高访问效率、避免歧义支持多态、增强灵活性访问决定时机编译时固定运行时动态绑定绑定方式静态绑定(Compile-time Binding)动态绑定(Run-time Binding)这种设计既保证了性能(变量静态绑定),又实现了灵活性(方法动态绑定),充分体现了 Java 的设计合理性。

2025-01-09 20:33:34 889

原创 Java 中成员变量有默认值而局部变量没有默认值的原因

成员变量(Fields):定义在类内部,但在方法、构造器或代码块之外的变量。成员变量可以分为实例变量和静态变量。// 实例变量// 静态变量局部变量(Local Variables):定义在方法、构造器或代码块内部的变量,仅在其所在的区域内有效。// 局部变量Java 在成员变量和局部变量的初始化策略上做出了明确的区分,既考虑了内存管理和性能优化,又注重了代码的安全性和可维护性。成员变量的自动赋予默认值,确保了对象状态的一致性和安全性;

2025-01-09 17:03:13 1026

翻译 【论文阅读】SAIR: LEARNING SEMANTIC-AWARE IMPLICIT REPRE- SENTATION-25ECCV

在图像的隐式表示中,可以将连续域中的任意坐标映射到其对应的颜色值,从而展现出强大的图像重建能力。然而,现有的隐式表示方法仅专注于构建连续的外观映射,忽略了像素之间语义信息的连续性。因此,当输入图像的语义信息受损(例如大范围缺失)时,难以实现理想的重建效果。为了解决这一问题,我们提出了语义感知隐式表示(Semantic-Aware Implicit Representation,简称 SAIR),使得每个像素的隐式表示不仅依赖其外观信息,还依赖其语义信息(例如,该像素属于哪个对象)。

2025-01-06 18:33:07 62 1

翻译 Latent-INR: A Flexible Framework for Implicit Representations of Videos with Discriminative Semantic

隐式神经网络 (INRs) 已成为一种强大的表示形式,用于编码包括图像、视频、音频和场景在内的各种数据。针对视频,许多 INR 方法被提出用于压缩任务,最近的方法在编码时间、存储和重建质量方面表现出显著改进。然而,这些编码的表示缺乏语义意义,因此无法用于需要此类属性的下游任务(例如检索)。这成为 INR 视频相比传统编解码器的采用障碍,因为其仅在压缩方面具有优势。为了解决这一问题,我们提出了一个灵活的框架,该框架将视频 INR 的空间和时间方面解耦。通过学习每帧的潜在字典。

2025-01-06 16:48:54 46

原创 Servlet 和 Spring MVC:区别与联系

Servlet 是 Java Web 的基础组件,而 Spring MVC 是一个高级 Web 框架,建立在 Servlet 的基础之上,提供了强大的功能和易用性。这篇文章将从定义、原理、功能对比、应用场景等多个方面,详细介绍 Servlet 和 Spring MVC,并解析它们的区别与联系。Servlet 是 Java Web 应用的核心组件,是一种运行在服务器上的小程序,专门用于处理客户端的 HTTP 请求并生成动态响应。Spring MVC 的实现更加简洁且功能强大。以下代码实现相同的功能。

2025-01-06 14:32:33 1678

原创 理解 Tomcat 架构

Tomcat 是一个轻量级的 Web 容器,被广泛应用于 Java Web 开发中。通过它,我们可以轻松地部署和运行 Web 应用。在本文中,我们将深入分析 Tomcat 的核心架构,同时结合一段代码,手动实现一个简化的 Tomcat 服务,帮助大家更好地理解其原理和运行机制。

2025-01-06 14:26:36 1068

原创 手写RPC笔记

2、实现思路:在Provider启动时首先将自己要开放的接口本地注册到RPC,然后调用RPC server 中start方法开启Tomcat接受网络请求,然后由RPC servlet解析req得到接口名、调用方法、参数类型、方法参数等信息,然后通过接口注册信息找到相应接口,然后通过反射执行此接口方法并将结果封装到resp并返回。此外,消费者为了不是每一次都到注册中心读取数据影响速度,服务消费者还需要本地缓存,这就会引入本地缓存和注册中心之间的数据一致性问题,注册中心需要有数据变更的。

2025-01-06 12:11:08 1027

原创 如何在 Spring Cloud Gateway 中创建全局过滤器、局部过滤器和自定义条件过滤器

自定义条件过滤器是根据特定的条件(如请求的查询参数、请求头或路径等)来动态决定是否执行过滤器。这种过滤器提供了更高的灵活性和复杂的过滤逻辑。@Component// 指定配置类@Override// 创建实际的过滤器@OverrideSystem.out.println("进入了自定义网关过滤器,status:" + config.getStatus());// 检查请求的查询参数// 继续请求} else {// 返回 400 错误// 完成响应。

2025-01-04 16:06:06 1690 1

原创 @Bean、@Component 和 @Configuration区别与联系

Component:自动扫描并注册类为 Spring Bean。@Bean:在 Java 配置类中显式地定义一个 Bean。:标记一个类为配置类,并可以包含多个@Bean方法,通常与@Bean一起使用。它们都用于将对象注册为 Spring 容器中的 Bean,但实现方式和适用场景有所不同。

2025-01-04 15:57:50 1100

原创 AOP(面向切面编程)与过滤器、拦截器的关系

在 Java 中,AOP 主要用于方法级别的增强,它可以通过框架(如 Spring AOP 或 AspectJ)来实现。有一定的相似性,但它们的应用层次和关注点不同。

2025-01-04 15:18:28 860

原创 深入理解连接池:从数据库到HTTP的优化之道

是 Apache 提供的 HTTP 客户端库,支持连接池、高并发、异步调用、认证管理等高级功能,是 HttpURLConnection 的增强版。它通过维护一个可重用的连接对象池,避免频繁创建和销毁连接,从而提高性能和资源利用率。: 无论是数据库连接还是网络连接,建立连接的过程都伴随着较高的资源开销,比如数据库的身份验证、网络的 TCP 三次握手等。通过对连接池技术的理解和实践,你可以在开发中更高效地管理资源,为应用提供更强的稳定性和性能支持!: 自动管理连接的分配和回收,减少了手动操作带来的错误。

2025-01-02 15:13:31 1227

原创 @RestControllerAdvice注解

是 Spring 提供的一个功能强大的注解,允许你为整个应用提供全局的异常处理、全局模型属性和全局数据绑定等功能。它的主要优势是能够集中管理异常处理,并且提供统一的响应结构,使得应用程序更加清晰、易于维护,尤其在处理大规模应用时,能够极大地减少代码冗余,提高开发效率和系统的健壮性。

2024-12-31 14:39:21 1271

原创 从 VAE 到有损压缩:率失真损失的推导与解读

在图像、音频、视频等多媒体领域,“有损压缩”是一个非常常见的问题。不同于无损压缩(如 PNG、ZIP 等),有损压缩允许在重构时损失一些信息,从而换取更高的压缩比。变分自编码器(Variational Autoencoder, VAE)作为生成模型的一种,往往可以和“有损压缩”非常自然地联系起来。

2024-12-30 13:03:39 785

原创 Seata AT 模式两阶段过程原理解析【seata AT模式如何做到对业务的无侵入】

AT 模式主要通过事务协调器(Transaction Coordinator, TC)来管理事务的状态和分支协调,客户端通过 Resource Manager(RM)和 Transaction Manager(TM)与协调器交互。第一阶段的核心任务是执行业务 SQL,并记录事务前后的数据快照,以便为后续可能的回滚提供依据。Seata 拦截应用程序提交的业务 SQL,解析其语义(如表名、操作类型、条件范围等),确定受影响的数据行。Seata 会为受影响的行生成逻辑锁,以防止其他事务对同一行的数据进行修改。

2024-12-27 21:54:06 1065

翻译 【论文阅读】Hybrid Spatial-Temporal Entropy Modelling for Neural Video Compression-22ACM MM

在神经视频编解码器中,设计一个高效的熵模型来准确预测量化潜在表示的概率分布是至关重要但充满挑战的。然而,大多数现有的视频编解码器直接使用图像编解码器中的现成熵模型来编码残差或运动,并未充分利用视频中的时空特性。为此,本文提出了一种强大的熵模型,可以高效捕获时空依赖性。具体来说,我们引入了潜在先验,用于利用潜在表示之间的相关性来压缩时间冗余。同时,我们提出了双空间先验,以一种适合并行的方式减少空间冗余。此外,我们的熵模型具有多样性。除了估计概率分布外,我们的熵模型还可以在空间通道维度上生成量化步长。

2024-12-27 13:59:59 109 1

翻译 【论文阅读】Temporal Context Mining for Learned Video Compression-22TMM

在过去几年中,将深度学习应用于视频压缩的研究受到了越来越多的关注。在本文中,我们专注于端到端学习的视频压缩,特别注重更好地学习和利用时间上下文。我们提出了一种方法,不仅传播最后重建的帧,还传播重建帧之前的特征,以挖掘时间上下文。从传播的特征中,我们学习到多尺度的时间上下文,并将这些学习到的时间上下文重新填充到我们的压缩方案模块中,包括上下文编码器-解码器、帧生成器和时间上下文编码器。此外,我们舍弃了不利于并行的自回归熵模型,从而追求更高效的编码和解码时间。

2024-12-26 20:47:34 136 1

翻译 【论文阅读】Neural Video Compression with Diverse Contexts

传统视频编码器的压缩效率在很大程度上依赖于当前待编码信号是否能从先前重建的信号中找到相关上下文。传统编解码器已证明更多的上下文能显著提高压缩性能,但代价是耗时较长。然而,对于新兴的神经网络视频编解码器(NVC),其上下文仍然有限,导致压缩比偏低。为提升 NVC 性能,本文提出在时间和空间维度上增加上下文的多样性。首先,我们引导模型学习帧间的分层质量模式,从而丰富了长期且高质量的时间上下文。此外,为了挖掘基于光流的编码框架的潜力,我们引入了基于组的偏移多样性,并提出了跨组交互以优化上下文挖掘。

2024-12-26 19:16:20 114 1

翻译 【论文阅读】DVC: An End-to-end Deep Video Compression Framework

在传统视频压缩方法中,通常使用预测编码架构并对相应的运动信息和残差信息进行编码。在本文中,我们结合传统视频压缩方法中的经典架构和神经网络的强大非线性表示能力,提出了首个端到端视频压缩深度模型,该模型可以对视频压缩的所有组件进行联合优化。具体来说,我们采用基于学习的光流估计来获取运动信息并重构当前帧,然后使用两个自编码器风格的神经网络对相应的运动和残差信息进行压缩。所有模块通过单一的损失函数进行联合学习,各模块通过权衡减少压缩比特数和提高解码视频质量的需求进行协作。

2024-12-26 12:24:19 141 1

翻译 【论文阅读】Deep Contextual Video Compression

现有的大多数神经视频压缩方法采用预测编码框架,首先生成预测帧,然后对其残差进行编码。然而,在压缩比方面,预测编码是次优解决方案,因为它仅使用简单的减法操作来消除帧间冗余。在本文中,我们提出了一种基于深度上下文的视频压缩框架,使得预测编码向条件编码的范式发生转变。具体来说,我们尝试回答以下问题:在深度视频压缩框架下,如何定义、使用和学习条件。为了充分挖掘条件编码的潜力,我们提出使用特征域上下文作为条件。这使我们能够利用高维上下文为编码器和解码器提供丰富的信息,从而帮助重建高频内容以实现更高的视频质量。我们的框

2024-12-25 16:09:51 672 1

翻译 【论文阅读】Comprehensive Review of End-to-End Video Compression

近年来,端到端视频压缩作为一种新兴且有前景的解决方案开始在视频压缩领域受到关注。本文对端到端视频编码和解码技术的发展与现状进行了全面的综述,详细介绍了传统混合编码器和端到端编码器的基本原理。本研究深入探讨了从传统视频压缩算法到基于深度学习的创新方法的演变,包括深度神经网络(Deep Neural Networks, DNN)在优化策略和关键技术中的应用进展。本文特别关注端到端视频压缩框架(如DVC、DCVC以及基于Transformer的模型)的发展,这些框架显著提升了视频压缩的效率和质量。此外,本文总结了

2024-12-25 14:51:47 733 1

原创 分布式事务中的角色与机制详解

在分布式事务中,

2024-12-18 16:31:13 470

原创 微服务组件中的两种调用方式:RestTemplate 与 OpenFeign

提供了灵活且低级别的 HTTP 调用方式,适合有特殊需求的应用,但需要更多的手动配置和控制。OpenFeign提供了简洁的声明式调用方式,特别适合基于 Spring Cloud 的微服务架构,减少了很多繁琐的编码,集成了服务发现、负载均衡和容错机制。

2024-12-13 20:34:02 1550

原创 DS-NeRV:基于静态和动态代码分解的隐式神经视频表示-2024CVPR

隐式神经视频表示(NeRV)是近年来发展起来的一种高质量视频表示方法。然而,现有的作品采用单一的网络来表示整个视频,这隐含地混淆了静态和动态信息。这导致无法有效地压缩冗余的静态信息和缺乏显式建模的全球时间一致的动态细节。为了解决上述问题,我们提出了DS-NeRV,它将视频分解为稀疏可学习的静态代码和动态代码,而不需要显式的光流或残差监督。通过为两个码设置不同的采样率,并应用加权和和插值采样方法,DS-NeRV有效地利用冗余的静态信息,同时保持高频细节。

2024-12-12 20:51:25 983

原创 Spring Boot项目集成Redisson 原始依赖与 Spring Boot Starter 的流程

Redisson提供了两种集成 Redis 的方式:原始依赖和 Spring Boot Starter。原始依赖适用于需要完全自定义配置的场景,而使得集成过程变得更加简单,特别适合 Spring Boot 项目。根据具体项目的需求和开发环境选择合适的方式,能够更好地帮助你完成项目的 Redis 集成,实现更强大的分布式能力。

2024-11-20 20:55:14 2748

原创 基于Redis实现延时任务

Redis 过期事件监听:简单易用,但由于惰性删除和定期删除策略,可能存在时效性差、消息丢失和重复消费问题。Redisson 延时队列:基于 Redis 的 SortedSet 和阻塞队列实现,可靠性高,避免了重复消费问题,更适合生产环境中的延时任务需求。在实际项目中,优先考虑使用 Redisson 的延时队列或其他专业的消息队列方案,这样可以在可靠性、可维护性和性能上获得更好的表现。

2024-11-18 14:44:31 1030 1

原创 Redis 中的主要数据结构

字符串(String):最基础的键值对数据结构,适合简单的数据存储。列表(List):适合需要有序的队列和栈操作。集合(Set):适合去重和集合运算。有序集合(Sorted Set):适合排名和排序需求。哈希(Hash):适合存储对象的属性。位图(Bitmap):适合布尔值存储,节省空间。:适合大规模基数统计。地理位置(GEO):适合基于地理位置的服务。流(Stream):适合实时数据流处理和消息队列。

2024-11-18 10:59:17 565

原创 Redis 为什么这么快?——深入理解 Redis 性能优化的核心原理

基于内存的存储:数据存储在 RAM 中,避免了磁盘 I/O,极大提升了访问速度。单线程和 IO 多路复用模型:采用单线程和 IO 多路复用,降低了上下文切换的开销,使得 Redis 能高效地处理大量连接。高效的数据结构设计:使用 SDS、跳表、压缩列表等优化的数据结构,确保常见操作的高效性。数据淘汰策略:在内存紧张时,采用 LRU、LFU 等策略清理数据,保证 Redis 的持续高效运行。高效的通信协议:RESP 协议简洁高效,降低了数据传输的开销。

2024-11-18 10:27:57 621

原创 Springboot定时任务

Quartz 是一个功能强大的作业调度框架,可以解决上述 Spring Boot 自带定时任务的不足,尤其在集群、持久化、灵活性等方面表现优异。

2024-11-15 22:30:29 1160 1

原创 Java Web 中的 Filter、Interceptor 与 AOP:原理与实践

是三个常见的技术,它们都用于请求的拦截、处理和增强。虽然这三者的功能有所重叠,但它们在应用场景和实现机制上有明显的差异。都可以用于实现类似的功能(如 token 校验),但它们各自有不同的应用场景和作用范围。这三者虽然有重叠的功能,但它们的应用场景和实现方式各有不同。根据需求选择合适的技术,能够让我们的应用更加模块化、可维护且高效。Interceptor 在 Spring MVC 的请求处理过程中执行,适合做与业务相关的处理,如权限验证、日志记录等。的异同,并通过实际的代码示例演示它们的应用。

2024-11-15 22:02:03 892

原创 Mybatis官方生成器使用示例

MyBatis Generator(简称 MBG)是 MyBatis 官方提供的工具,旨在通过数据库表结构自动生成 MyBatis 所需的代码,包括 Java 实体类(Model)、Mapper 接口以及 Mapper XML 文件。使用 MBG,可以大大减少开发人员在进行 CRUD 操作时的重复工作,提升开发效率和代码一致性。通过 MyBatis Generator 的配置和使用示例,我们可以快速根据数据库表生成实体类、Mapper 接口和 XML 映射文件,极大地提高开发效率。

2024-11-14 15:40:10 1725

原创 Tomcat 与 Servlet 的关系:传统与 Spring Boot 中的差异

是一个开源的 Servlet 容器和 Web 容器,负责执行和管理 Java Web 应用中的 Servlet 和 JSP(JavaServer Pages)。它作为 Web 服务器接收客户端请求,执行后台逻辑并返回响应。

2024-11-14 14:55:00 1420 1

空空如也

空空如也

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

TA关注的人

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