缓存机制


缓存是指对数据的复用
比较常见的有:
    1. 内存缓存
    2. 磁盘缓存
    
电脑的三大核心部件:
    1. 中央处理器
        计算机的可编程性主要是指对中央处理器的编程。
    2. 内部存储器
        存储器的种类很多,按用途可以分为:
            2.1 主存储器(即内存)
                是CPU能直接寻址的存储空间,它的特点是存取速率快。
                内存包括:
                    2.1.1 随机存储器(Random Access Memory)
                        可以随机读写数据,但是电源关闭时存储的数据就会丢失
                    2.1.2 只读存储器(Read Only Memory)
                        只能读取,不能更改,即使机器断电,数据也不会丢失
                    2.1.3 高级缓存(Cache)
                        介于CPU与内存之间
                        读写速度比内存还快
                        当CPU在内存中读取或写入数据时,数据会被保存在高级缓冲存储器中,
                        当下次访问该数据时,CPU直接读取高级缓冲存储器,而不是更慢的内存。
            2.2 辅助存储器
                外存储器
                对于电脑而言,通常说的是硬盘或者光盘等,对于手机一般指的是SD卡
    3. 输入输出设备

缓存的类型:
    内存缓存:
        这里的内存主要指的存储器缓存
    磁盘缓存:
        这里主要指的是外部存储器,电脑指的是硬盘,手机的话指的就是SD卡

缓存策略:
    当缓存容量达到设定的容量的时候,会根据制定的策略进行删除相应的元素。
    FIFO(first in first out):
        先进先出策略,类似队列。
    LFU(less frequently used):
        最少使用策略,RecyclerView的缓存采用了此策略。
    LRU(least recently used):
        最近最少使用策略,Picasso在进行内存缓存的时候采用了此策略。
    
内存泄漏:
    主要发生在内存缓存中
    解决方法:
        引用置空:
            将缓存中引用的对象置空,然后GC就能够回收这些对象
        采用弱引用:
            采用弱引用关联对象,这样就能够不干涉对象的生命周期,以便GC能够正常回收

Java有四种引用:
    强引用、软引用、弱引用、虚引用
    弱引用的对象拥有更短暂的生命周期
    垃圾回收器一旦发现了只具有弱引用的对象,不管当前内存空间足够与否,都会回收它的内存

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值