缓存
文章平均质量分 70
陈虎_63
这个作者很懒,什么都没留下…
展开
-
Java中的零拷贝
前言:在Java程序中,零拷贝技术分为两种:mmap(内存映射)和sendFile,首先要了解零拷贝的概念:所谓的零拷贝不是不拷贝,而是不经过CPU拷贝,它还是需要拷贝的(比如将数据从硬盘拷贝到内核态),这个零拷贝是从操作系统(CPU)的角度看的传统的IO拷贝首先将硬盘上的数据拷贝到内核,然后在经过CPU拷贝将数据从内核拷贝到应用程序内存(用户态),在应用程序内存,用户可以对数据进行操作修改等,然后在经过CPU拷贝将数据从用户缓冲区拷贝到socket缓冲区,然后在经过DMA拷贝,将数据从socket原创 2022-05-11 12:35:11 · 6047 阅读 · 2 评论 -
多核cpu的缓存一致性
为什么要有缓存?再说到cpu的缓存一致性前提下,需要了解到为什么会有缓存:众所周知,cpu是用来计算和处理数据的,本身并不存储数据,数据都是放在内存或者硬盘中,而内存与cpu之间是存在距离的,如果说cpu目前要进行一次计算,那么就需要先从内存将数据取出再进行计算,而内存和cpu是存在速度差异的,在随着现代技术的发展,嵌入到cpu上的晶体管越来越多,那么就造成了cpu的计算和处理能力越来越强,这样就更加凸显了这个弊端,cpu在一次处理中更多的时间是在等待内存中的数据到来,这样的情况是我们人类是不能容忍的(原创 2021-12-03 17:19:05 · 1404 阅读 · 1 评论 -
基于redis缓存清除思想设计出带超时时间的java+map集合
简介:最近公司的老项目,需要将一些经常用到的数据缓存起来,这样就不用每次使用都从数据库中查询,减小数据库访问压力,需要做到缓存的数据定时的将不常用的清理出去,但是这个项目没有使用redis等缓存中间件,所以就自己基于map实现一个带超时时间的map集合;这个集合参考了redis的缓存清除策略,采用懒删除的方式,将超时数据清理出集合实现package com.zeyu.util;import java.io.Serializable;import java.util.*;import java原创 2021-05-28 12:36:27 · 466 阅读 · 0 评论