浅析Mongodb注入

博主头像 前言 不太会Mongodb的用法,这里学习一下 简单介绍 Mongodb是非关系型数据库(NoSQL),在 MySQL 中,我们所熟知的几个最常见的概念是数据库 (Database)、表 (Table)、字段 (Column)、记录 (Record)、索引 (Index),这些术语映射到 Mongo ...

六、Spring Boot集成Spring Security之前后分离认证流程最佳方案

博主头像 前言 本文介绍前后分离认证最佳方案,配合以下内容观看效果更佳!!! 什么是前后分离认证流程最佳方案,为什么这么设计?请查看六、Spring Boot集成Spring Security之前后分离认证流程最佳方案 哇偶,明白了前后分离认证流程最佳方案的原理,那怎么实现这套方案呢?请查看七、Spring ...

《JVM第7课》堆区

博主头像 1.概念 堆是JVM中最重要的一块区域,JVM规范中规定所有的对象和数组都应该存放在堆中,在执行字节码指令时,会把创建的对象存入堆中,对象的引用地址存入虚拟机栈的栈帧中。不过当方法执行完之后,刚刚所创建的对象并不会立马被回收,也就是说对象并不会随着栈帧的消失而消失,而是要等JVM后台执行GC后,对象 ...

.NET 8 高性能跨平台图像处理库 ImageSharp

博主头像 前言 传统的 System.Drawing 库功能丰富,但存在平台限制,不适用于跨平台开发。.NET 8 的发布,ImageSharp 成为了一个更好的选择。 ImageSharp 是一个完全开源、高性能且跨平台的图像处理库,专为 .NET 设计。它提供丰富的图像处理功能和出色的性能,适用于桌面应用 ...

还在为慢速数据传输苦恼?Linux 零拷贝技术来帮你!

博主头像 前言 程序员的终极追求是什么?当系统流量大增,用户体验却丝滑依旧?没错!然而,在大量文件传输、数据传递的场景中,传统的“数据搬运”却拖慢了性能。为了解决这一痛点,Linux 推出了 零拷贝 技术,让数据高效传输几乎无需 CPU 操心。今天,我就用最通俗的语言讲解零拷贝的工作原理、常见实现方式和实际应 ...

缓存穿透防护方案设计

博主头像 在电商或服务平台中,缓存的使用是提高系统性能和响应速度的关键。然而,缓存穿透是一个常见的性能瓶颈问题,尤其是在查询不存在的数据时,系统会直接访问数据库,这不仅影响性能,还可能造成数据库负担过重。为了有效解决这个问题,我们提出了一种结合 布隆过滤器、空值缓存 和 分布式锁 的缓存穿透防护方案。以下是该 ...

适合才最美:Shiro安全框架使用心得

博主头像 这个案例中咱们通过如何使用 Shiro、JWT 和 Spring Boot 来构建一个无状态的微服务认证授权机制。通过 Shiro 实现用户认证和权限控制,使用 JWT 实现无状态 Token 验证。在轻量级的分布式微服务应用中,是不是使用 Shiro 感觉更加清爽呢,欢迎评论区一起讨论 ...

manim边学边做--三维的点和线

博主头像 Manim 提供了一系列专为三维空间设计的对象,让创建三维数学动画变得更加轻松。 本篇开始介绍其中最简单的点和线相关对象,也就是Dot3D(三维的点),Line3D(三维的线)和Arrow3D(三维的箭头)。 Dot3D用于表示三维空间中的点,是构建其他复杂三维图形的基础,它适用于标记关键点、位置、 ...

让性能提升56%的Vue3.5响应式重构之“版本计数”

博主头像 前言 Vue3.5响应式重构主要分为两部分:双向链表和版本计数。在上一篇文章中我们讲了 双向链表 ,这篇文章我们接着来讲版本计数。 欧阳年底也要毕业了,加入欧阳的面试交流群(分享内推信息)、高质量vue源码交流群 版本计数 看这篇文章之前最好先看一下欧阳之前写的 双向链表 文章,不然有些部分可能看着 ...

AOT使用经验总结

博主头像 一、引言 站长接触 AOT 已有 3 个月之久,此前在《好消息:NET 9 X86 AOT的突破 - 支持老旧Win7与XP环境》一文中就有所提及。在这段时间里,站长使用 Avalonia 开发的项目也成功完成了 AOT 发布测试。然而,这一过程并非一帆风顺。站长在项目功能完成大半部分才开始进行 A ...

一文解秘Rust如何与Java互操作

博主头像 本博客所有文章除特别声明外,均采用CC BY-NC-SA 4.0许可协议。转载请注明来自 唯你 使用场景 JAVA 与 Rust 互操作让 Rust 可以背靠 Java 大生态来做更多事情,而 Java 也可以享受 Rust 语言特性的内存安全,所有权机制,无畏并发。 互操作的典型场景包括: 性能优 ...

C++中的各种锁

博主头像 在多线程开发中,经常会遇到数据同步,很多情况下用锁都是一个很好的选择。C++中常用的锁主要有下面几种: 互斥锁(std::mutex) 这是最基本的一种锁。它用于保护共享资源,在任意时刻,最多只有一个线程可以获取该锁,从而访问被保护的资源。当一个线程获取了互斥锁后,其他试图获取该锁的线程会被阻塞,直 ...

从编译链接到cmake

博主头像 .c(.cpp)文件到可执行文件 对于一份简单的.c/.cpp为后缀的源文件,他所使用的语言是人类可以阅读并看懂的,但是对于计算机来说,其可理解并执行的是二进制的机器码。 也就是说,计算机所能运行的是二进制的机器码,而早期为了方便人类阅读,使用一些简单的助记符来代替机器码,比如MOV,LOOP... ...

.NET周刊【11月第1期 2024-11-03】

博主头像 国内文章 .NET 9 AOT的突破 - 支持老旧Win7与XP环境 https://www.cnblogs.com/lsq6/p/18519287 .NET 9 引入了 AOT 支持,使得应用程序能够在编译时优化,以在老旧 Windows 系统上运行。这项技术通过静态编译,消除运行时的 JIT 编 ...

认识鸿蒙Context

Context是应用中对象的上下文,其提供了应用的一些基础信息,例如resourceManager(资源管理)、applicationInfo(当前应用信息)、dir(应用文件路径)、area(文件分区)等,以及应用的一些基本方法,例如createBundleContext()、getApplica ...

<1···787980···100>