02 2020 档案
摘要:[toc] CopyOnWriteArrayList是ArrayList的线程安全版本,内部也是通过数组实现,每次对数组的修改都完全拷贝一份新的数组来修改,修改完了再替换掉老数组,这样保证了只阻塞写操作,不阻塞读操作,实现读写分离。 继承体系 CopyOnWriteArrayList实现了List,
阅读全文
摘要:文章目录继承体系源码解析1.属性2.构造方法...
阅读全文
摘要:[toc] ArrayList是一种以数组实现的List,与数组相比,它具有动态扩展的能力,因此也可称之为动态数组。 继承体系 ArrayList实现了List, RandomAccess, Cloneable, java.io.Serializable等接口。 ArrayList实现了List,提
阅读全文
摘要:文章目录继承体系源码解析1.属性2.构造方法...
阅读全文
摘要:[toc] 讲HashMap就不得不说到hash算法 散列表(Hash table,也叫哈希表),是根据键(Key)而直接访问在記憶體儲存位置的数据结 构。也就是说,它通过计算一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录,这加快了查找速度。这个映射函数称做散列函数,存放记录的数组
阅读全文
摘要:文章目录源码解析1.构造方法无参构造方法in...
阅读全文
摘要:文章目录1.默认构造器2.自动拆装箱3.泛型...
阅读全文
摘要:@[toc] 编译器处理就是指 java 编译器把 .java 源码编译为 .class 字节码的过程中,自动生成和转换的一些代码,主要是为了减轻程序员的负担,算是 java 编译器给我们的一个额外福利,故·称之为语法糖(给糖吃嘛)。 注意,以下代码的分析,借助了 javap 工具,idea 的反编
阅读全文
摘要:[toc] 1.类加载的阶段 类从被加载到虚拟机内存开始,到被卸载出内存开始,其生命周期共包括:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)和卸载(Unloading
阅读全文
摘要:文章目录魔数版本1)常量池2)访问标识与继承...
阅读全文
摘要:[toc] 根据JVM规范,类文件结构如下 其中u2表示占用2b。u4同理占用4b 各个参数的意义: magic:魔数 minor_ version;小版本的版本号jdk1.8.0_144其中144就是小版本号 major_ version;大版本号。如jdk8,8就是大版本号 constant_
阅读全文
摘要:[toc] 1.如何判断对象可以被回收 在判断对象是否可以被回收的方法由许多,以下我们来简单介绍几种。 1.引用计数法 引用计数法实现的原理:在对象中添加一个引用计数器,每当对对象引用时,就把计数器的值加1,而失去引用就减1。任何时刻只要引用计数器值变为0,就表示对象不可能再被使用,就对对象进行回收
阅读全文
摘要:文章目录1.如何判断对象可以被回收1.引用计...
阅读全文
摘要:文章目录1.程序计数器(Program Co...
阅读全文
摘要:[toc] JVM的内存结构一般指Java的运行时数据区: 由方法区,堆区,虚拟机栈,程序计数器和本地方法栈组成。下面我们依次介绍这5部分。 1.程序计数器(Program Counter Register) 程序计数器:记录下一条要执行的JVM指令的执行地址,字节码解释器工作时就是通过改变程序计数
阅读全文
摘要:[toc] redis是一个基于内存的数据库,故在redis正在运行的数据都在内存中,而内存掉电,内存上所以数据都会消失。故把redis当成数据库使用时就需要对redis进行持久化。 在说redis持久化的时候,我们先来聊聊其他的知识。linux的父子进程。在Linux中使用fork()函数会给当前
阅读全文
摘要:文章目录1.RDBrdb持久化的方式rdb方...
阅读全文
摘要:文章目录1.redis的回收策略redis的...
阅读全文
摘要:[toc] redis有两种使用方式一是作为数据库使用,二是作为缓存使用。 将redis作为缓存,当你新增数据时,让它自动地回收旧数据是件很方便的事情。这个行为在开发者社区非常有名,因为它是流行的memcached系统的默认行为。而redis回收数据LRU是redis唯一支持的回收算法。 1.Max
阅读全文
摘要:文章目录1.redis事务的执行流程2.事务...
阅读全文
摘要:[toc] Redis通过MULTI、EXEC、WATCH等命令来实现事务( transaction)功能。事务提供了一种将多个命令请求打包,然后 次性、按顺序地执行多个命令的机制,并且在事务执行期间,服务器不会中断事务而改去执行其他客户端的命令请求,它会将事务中的所有命令都执行完毕,然后才去处理其
阅读全文
摘要:文章目录1.频道的订阅与退订2.模式的订阅与...
阅读全文
摘要:@[toc] redis的发布订阅功能由PSUBSCRIBE、PUBLISH、PUBSUB、PUNSUBSCRIBE、SUBSCRIBE、UNSUBSCRIBE命令实现。 在redis中发布订阅的实现非常简单通过一行命令就能实现发布或订阅功能,在redis中由两种订阅类型,一个是频道订阅,只订阅某一
阅读全文
摘要:[TOC] Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitma
阅读全文
摘要:文章目录1.字符串(String)1.字符串...
阅读全文
摘要:[toc] 1.redis的应用场景 商品秒杀 点赞等 现在有一个减少商品的场景,我们很容易能写出其代码 但是有一个问题,该程序单机下线程不安全。不过可以解决:加锁 加锁解决了单机的线程安全的问题,但是在集群的情况下线程依旧不安全,因为集群的情况下有多个服务器同时运行那么依然会产生线程安全问题; 因
阅读全文
摘要:文章目录1.redis的应用场景2.redi...
阅读全文
摘要:剑指offer 二维数组中查找 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序, 每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一 个整数,判断数组中是否含有该整数。 解题思路 ({1,3,5,12,14}, {2,4,7,13
阅读全文
摘要:剑指offer–二维数组中查找题目描述在一个...
阅读全文

浙公网安备 33010602011771号