04 2020 档案
发表于 2020-04-29 16:51阅读次数:896评论次数:0
摘要:将 Redis 用作缓存时, 如果内存空间用满, 就会自动驱逐老的数据。 默认情况下 memcached 就是这种方式, 大部分开发者都比较熟悉。 LRU是Redis唯一支持的回收算法. 本文详细介绍用于限制最大内存使用量的 maxmemory 指令, 并深入讲解 Redis 所使用的近似LRU算法
阅读全文 »
发表于 2020-04-28 15:06阅读次数:206评论次数:0
摘要:一、我们为什么要对JVM做优化 在本地开发环境中我们很少会遇到需要对JVM进行优化的需求,但是到了生产环境,我们可能会有下面的需求: 运行的应用“卡住了”,日志不输出,程序没有反应 服务器的CPU负载突然升高 在多线程应用下,如何分配线程的数量? 本次使用的JDK版本为1.8 二、JVM的运行参数
阅读全文 »
发表于 2020-04-28 14:58阅读次数:226评论次数:0
摘要:一、什么是垃圾回收 程序的运行必然需要申请内存资源,无效的对象资源如果不及时处理就会一直占用内存资源,最终将导致内存溢出,所以对内存资源的管理是非常重要了。 1.1 C/C++语言的垃圾回收 在C/C++语言中,没有自动垃圾回收机制,是通过new关键字申请内存资源,通过delete 关键字释放内存资
阅读全文 »
发表于 2020-04-24 14:13阅读次数:348评论次数:0
摘要:算法(Algorithm)是指用来操作数据、解决程序问题的一组方法。对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,但在过程中消耗的资源和时间却会有很大的区别。 那么我们应该如何去衡量不同算法之间的优劣呢? 主要还是从算法所占用的「时间」和「空间」两个维度去考量。 时间维度:是指执行当前
阅读全文 »
发表于 2020-04-17 10:25阅读次数:529评论次数:0
摘要:把redis作为缓存使用已经是司空见惯,但是使用redis后也可能会碰到一系列的问题,尤其是数据量很大的时候,经典的几个问题如下: 互联网面试题更新了!随便呈上几道,看看大家能否答出来: (0)redis为什么是key,value的,为什么不是支持SQL的? (1)redis是多线程还是单线程?(回
阅读全文 »
发表于 2020-04-17 10:10阅读次数:686评论次数:0
摘要:ClassLoader 做什么的? 顾名思义,它是用来加载 Class 的。它负责将 Class 的字节码形式转换成内存形式的 Class 对象。字节码可以来自于磁盘文件 *.class,也可以是 jar 包里的 *.class,也可以来自远程服务器提供的字节流,字节码的本质就是一个字节数组 []b
阅读全文 »