摘要: HashMap的Put方法 回顾HashMap的put(Key k, Value v)过程: (1)对 Key求Hash值,对n-1取模计算出Hash表数组下标 (2)如果没有碰撞,直接放入桶中,即Hash表数组对应位置的链表表头。 (3)如果碰撞了,若节点已经存在就替换旧值,否则以链表的方式将该元 阅读全文
posted @ 2018-10-15 21:22 kaleidoscopic 阅读(687) 评论(0) 推荐(0) 编辑
摘要: 1:集合 Collection(单列集合) List(有序,可重复) ArrayList 底层数据结构是数组,查询快,增删慢 线程不安全,效率高 Vector 底层数据结构是数组,查询快,增删慢 线程安全,效率低 LinkedList 底层数据结构是链表,查询慢,增删快 线程不安全,效率高 Set( 阅读全文
posted @ 2018-10-15 21:10 kaleidoscopic 阅读(561) 评论(0) 推荐(0) 编辑
摘要: ArrayList和LinkedList的区别 1、ArrayList和LinkedList可想从名字分析,它们一个是Array(动态数组)的数据结构,一个是Link(链表)的数据结构,此外,它们两个都是对List接口的实现。 前者是数组队列,相当于动态数组;后者为双向链表结构,也可当作堆栈、队列、 阅读全文
posted @ 2018-10-15 20:52 kaleidoscopic 阅读(230) 评论(0) 推荐(0) 编辑
摘要: JVM 内部原理(一)— 概述 JVM 内部原理(二)— 基本概念之字节码 JVM 内部原理(三)— 基本概念之类文件格式 JVM 内部原理(四)— 基本概念之 JVM 结构 JVM 内部原理(五)— 基本概念之 Java 虚拟机官方规范文档,第 7 版 JVM 内部原理(六)— Java 字节码基 阅读全文
posted @ 2018-10-15 18:17 kaleidoscopic 阅读(188) 评论(0) 推荐(0) 编辑
摘要: <!-- BEGIN .entry-header --> 如下图所示,JVM类加载机制分为五个部分:加载,验证,准备,解析,初始化,下面我们就分别来看一下这五个过程。 加载 加载主要是将.class文件(并不一定是.class。可以是ZIP包,网络中获取)中的二进制字节流读入到JVM中。 在加载阶段 阅读全文
posted @ 2018-10-15 17:53 kaleidoscopic 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 1、string 可以是字符串,整数或者浮点数: 对整个字符串或者字符串中的一部分执行操作 对整个整数或者浮点执行自增(increment)或者自减(decrement)操作 字符串命令: ①get、获取存储在指定键中的值 ②set、设置存储在指定键中的值 ③del、删除存储在指定键中的值(这个命令 阅读全文
posted @ 2018-10-15 15:27 kaleidoscopic 阅读(528) 评论(0) 推荐(0) 编辑
摘要: MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(Indexed Sequential Access Method:有索引的顺序访问方法)所改良。虽然性能极佳,但却有一个缺点:不支持事务处理(transaction)。不过,在这几年的发展下,MySQL也导入了InnoDB( 阅读全文
posted @ 2018-10-15 15:08 kaleidoscopic 阅读(1825) 评论(0) 推荐(0) 编辑
摘要: Java多态概述 多态是面向对象编程语言的重要特性,它允许基类的指针或引用指向派生类的对象,而在具体访问时实现方法的动态绑定。Java 对于方法调用动态绑定的实现主要依赖于方法表,但通过类引用调用(invokevitual)和接口引用调用(invokeinterface)的实现则有所不同。 类引用调 阅读全文
posted @ 2018-10-15 14:22 kaleidoscopic 阅读(30779) 评论(0) 推荐(10) 编辑