缓存 对象 类型 地址

解读JVM级别本地缓存Caffeine青出于蓝的要诀2 —— 弄清楚Caffeine的同步、异步回源方式

作为一种对外提供黑盒缓存能力的专门组件,Caffeine基于穿透型缓存模式进行构建。本文就深度全面聊一聊关于Caffeine的多种不同的数据回源方式、以及在同步异步场景下的实现与使用。 ......
Caffeine 青出于蓝 要诀 缓存 级别

使用 System.Text.Json 时,如何处理 Dictionary 中 Key 为自定义类型的问题

在使用 System.Text.Json 进行 JSON 序列化和反序列化操作时,我们会遇到一个问题:如何处理字典中的 Key 为自定义类型的问题。 背景说明 例如,我们有如下代码: // 定义一个自定义类型 public class CustomType { public int Id { get ......
Dictionary 类型 System 问题 Json

基于Unet+opencv实现天空对象的分割、替换和美化

传统图像处理算法进行“天空分割”存在精度问题且调参复杂,无法很好地应对云雾、阴霾等情况;本篇文章分享的“基于Unet+opencv实现天空对象的分割、替换和美化”,较好地解决了该问题,包括以下内容: 1、基于Unet语义分割的基本原理、环境构建、参数调节等 2、一种有效的天空分割数据集准备方法,并且... ......
对象 天空 opencv Unet

架构设计(三):引入缓存

架构设计(三):引入缓存 作者:Grey 原文地址: 博客园:架构设计(三):引入缓存 CSDN:架构设计(三):引入缓存 缓存是一个临时存储区域,如果请求的数据获取代价比较高或者数据的访问频率比较高,则会把响应结果存储在内存中,以便更快速地提供后续请求。 每次加载一个新的网页,都要执行一次或多次数 ......
缓存 架构

注意看,她叫小美,在地址栏输入URL地址后发生了什么?

注意看,这个用户叫小美,他在地址栏输入了一串URL地址,然后竟然发生了不可思议的事情!① 建立连接,② 获取数据,③ 解析渲染,④ 断开连接 ......
地址 URL

RequestMappingHandlerMapping的请求地址映射流程

上篇文章里,我们讲解了RequestMappingHandlerMapping请求地址映射的初始化流程,理解了@Controller和@RequestMapping是如何被加载到缓存中的。 今天我们来进一步学习,在接收到请求时,RequestMappingHandlerMapping是如何进行请求地 ......

RequestMappingHandlerMapping请求地址映射的初始化流程

之前的文章里,介绍了DispatcherSerlvet处理请求的流程。 其中一个核心的步骤是:请求地址映射,即根据request获取对应的HandlerExcecutionChain。 为了后续的请求地址映射,在项目初始化时,需要先将request-handler映射关系缓存起来。 HandlerM ......

深入理解 Python 的对象拷贝和内存布局

在本篇文章当中主要给大家介绍了 python 当中对象的拷贝和内存布局,以及对对象内存地址的验证,最后稍微介绍了一下 cpython 内部实现列表的结构体,帮助大家深入理解列表对象的内存布局。 ......
拷贝 布局 对象 内存 Python

SpringBoot向Excel模板中写入数据并下载 (无需获取file对象及模板绝对路径)

之前用获取模板路径的方式测试没问题打包后就有问题了 莫名出现一个! 找了很多教程尝试无果 最终使用下面这个方式 无需获取file对象以及模板路径的方式进行写入下载 (那个设置浏览器编码没有测试不知道能不能用!!!) public void export(SampleFilterAO filter, ......
模板 SpringBoot 路径 对象 数据

Mybatis缓存机制

什么是缓存? 为什么使用缓存? 什么场景下使用缓存? 缓存(Cache)就是数据交换的缓冲区,一个临时存储数据的地方,当我们读取数据时会首先从缓存中查找需要的数据,如果找到了则直接执行,找不到的话再从内存中找。 在实际开发中,我们会经常对数据库进行数据查询,而从数据库读取数据的效率是非常低下的,并且 ......
缓存 机制 Mybatis

重新认识下JVM级别的本地缓存框架Guava Cache——优秀从何而来

作为缓存系列专栏内容,秉持着不重复造轮子的理念,本篇文章中我们就开始深入剖析JAVA本地缓存的优秀轮子 —— 来自Google家族的Guava Cache。聊一聊其实现机制、看一看如何使用。 ......
缓存 框架 级别 Guava Cache

重新认识下JVM级别的本地缓存框架Guava Cache(3)——探寻实现细节与核心机制

本篇文章我们将进一步探讨下Guava Cache 实现层面的一些逻辑与设计策略,让我们可以对Guava Cache整体有个更加明朗的认识,促进实际使用中对其的理解。 ......
缓存 框架 细节 级别 机制

重新认识下JVM级别的本地缓存框架Guava Cache(2)——深入解读其容量限制与数据淘汰策略

对于缓存容器而言,容量限制与数据淘汰是两个基础且核心的关键点,也是实际使用的时候使用频率最高的特性。本篇在上一文基础上深入解读下Guava Cache中的容量限制与数据淘汰策略的实现与使用约束。 ......
缓存 框架 容量 级别 策略

Java锁的逻辑(结合对象头和ObjectMonitor)

我们都知道在Java编程中多线程的同步使用synchronized关键字来标识,那么这个关键字在JVM底层到底是如何实现的呢。 我们先来思考一下如果我们自己实现的一个锁该怎么做呢: 首先肯定要有个标记记录对象是否已经上锁,执行同步代码之前判断这个标志,如果对象已经上锁线程就阻塞等待锁的释放。 其次要 ......
ObjectMonitor 逻辑 对象 Java

c++ trivial, standard layout和POD类型解析

1. trivial类型 占用一片连续的内存,编译器可以重排成员变量的顺序或者增加一些padding(为了对齐),因此,可以放心的使用memcpy等函数, 但是,在c代码里面使用可能会出问题(因为可能会被重排),有如下特点: 没有虚函数和虚基类 基类也必须保证没有non-trivial的构造/析构/ ......
standard trivial 类型 layout POD

如何使用 LinkedHashMap 实现 LRU 缓存?

本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问。 大家好,我是小彭。 在上一篇文章里,我们聊到了 HashMap 的实现原理和源码分析,在源码分析的过程中,我们发现一些 LinkedHashMap 相关的源码,当时没有展开,现在它来了。 那么,LinkedH ......
LinkedHashMap 缓存 LRU

MySQL进阶实战6,缓存表、视图、计数器表

一、缓存表和汇总表 有时提升性能最好的方法是在同一张表中保存衍生的冗余数据,有时候还需要创建一张完全独立的汇总表或缓存表。 缓存表用来存储那些获取很简单,但速度较慢的数据; 汇总表用来保存使用group by语句聚合查询的数据; 对于缓存表,如果主表使用InnoDB,用MyISAM作为缓存表的引擎将 ......
视图 缓存 计数器 实战 MySQL

Android 内存缓存框架 LruCache 的实现原理,手写试试?

本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问。 前言 大家好,我是小彭。 在之前的文章里,我们聊到了 LRU 缓存淘汰算法,并且分析 Java 标准库中支持 LUR 算法的数据结构 LinkedHashMap。当时,我们使用 LinkedHashMap 实 ......
缓存 框架 LruCache 原理 内存

我开发的开源项目,让.NET7中的EFCore更轻松地使用强类型Id

在领域驱动设计(DDD)中,有一个非常重要的概念:“强类型Id”。使用强类型Id来做标识属性的类型会比用int、Guid等通用类型能带来更多的好处。比如有一个根据根据Id删除用户的方法的签名如下: void RemoveById(long id); 我们从方法的参数看不出来id代表什么含义,因此如果 ......
类型 项目 EFCore NET7 NET

通过Shell脚本自动安装Hive&JDBC测试&提供CDH5网盘地址

〇、参考地址 1、Linux下编写脚本自动安装hive https://blog.csdn.net/weixin_44911081/article/details/121227024?ops_request_misc=%257B%2522request%255Fid%2522%253A%252216 ......
脚本 amp 地址 Shell Hive

整理 js 日期对象的详细功能,使用 js 日期对象获取具体日期、昨天、今天、明天、每月天数、时间戳等,以及常用的日期时间处理方法

在 javascript 中内置了一个 Date 对象,可用于实现一些日期和时间的操作。 本文整理 js 日期对象的详细功能,使用 js 日期对象获取具体日期、昨天、今天、明天、每月天数、时间戳等,以及常用的日期时间处理方法。 ......
日期 对象 时间 天数 常用

Springboot 整合 SpringCache 使用 Redis 作为缓存

一直以来对缓存都是一知半解,从没有正经的接触并使用一次,今天腾出时间研究一下缓存技术,开发环境为OpenJDK17与SpringBoot2.7.5 源代码下载地址:https://hanzhe.lanzoue.com/iK4AF0hjl3lc SpringCache基础概念 接口介绍 首先看看Spr ......
缓存 SpringCache Springboot Redis

数据库和缓存的一致性如何保证

最近帮组里做讲座预约系统,虽然使用人数不多,但终于还是遇到了一些系统经典问题,比如数据库与缓存的一致性问题,很有意思,好记性不如烂笔头,学习了一些思路以后决定记录下来与大家分享。 什么是数据库与缓存的一致性问题 程序员应该没人不懂这个,但我还是觉得应该写上,有头有尾。所谓数据库与缓存的一致性问题,可 ......
一致性 缓存 数据库 数据

.NET 6 基于IDistributedCache实现Redis与MemoryCache的缓存帮助类

本文通过IDistributedCache的接口方法,实现Redis与MemoryCache统一帮助类。只需要在配置文件中简单的配置一下,就可以实现Redis与MemoryCache的切换。 (目录) IDistributedCache IDistributedCache 方法: |方法|说明 | ......

.NET性能优化-使用内存+磁盘混合缓存

我们回顾一下上一篇文章中的内容,有一个朋友问我这样一个问题: 我的业务依赖一些数据,因为数据库访问慢,我把它放在Redis里面,不过还是太慢了,有什么其它的方案吗? 其实这个问题比较简单的是吧?Redis其实属于网络存储,我对照下面的这个表格,可以很容易的得出结论,既然网络存储的速度慢,那我们就可以 ......
缓存 磁盘 内存 性能 NET

Java对象拷贝原理剖析及最佳实践

作者:宁海翔 1 前言 对象拷贝,是我们在开发过程中,绕不开的过程,既存在于Po、Dto、Do、Vo各个表现层数据的转换,也存在于系统交互如序列化、反序列化。 Java对象拷贝分为深拷贝和浅拷贝,目前常用的属性拷贝工具,包括Apache的BeanUtils、Spring的BeanUtils、Cgli ......
拷贝 原理 对象 Java

JavaScript入门④-万物皆对象:Object

Object是 JavaScript 的一种 数据类型,它用于存储各种键值集合和更复杂的实体,是一组数据和功能的集合。JS中几乎所有对象都是继承自Object,Array、RegExp、Math、Map、Set都是他的子类型。 ......
JavaScript 万物 对象 Object

Golang反射获取变量类型和值

1. 什么是反射 反射是程序在运行期间获取变量的类型和值、或者执行变量的方法的能力。 Golang反射包中有两对非常重要的函数和类型,两个函数分别是: reflect.TypeOf 能获取类型信息reflect.Type; reflect.ValueOf 能获取数据的运行时表示reflect.Val ......
变量 类型 Golang

.NET性能优化-ArrayPool同时复用数组和对象

前两天在微信后台收到了读者的私信,问了一个这样的问题,由于私信回复有字数和篇幅限制,我在这里统一回复一下。读者的问题是这样的: 大佬您好,之前读了您的文章受益匪浅,我们有一个项目经常占用 7-8GB 的内存,使用了您推荐的ArrayPool以后降低到 4GB 左右,我还想着能不能继续优化,于是 du ......
数组 ArrayPool 对象 同时 性能

JavaScript入门⑤-欲罢不能的对象原型与继承-全网一般图文版

JavaScript 中的所有对象本质上都是通过new ()创建出来的,包括字面量的{obj},也是new Object()的语法糖。每一个实例对象都有自己的原型,基于原型创建这个对象,Function本身也是一个对象。 ......
欲罢不能 全网 原型 JavaScript 对象