摘要: 当你把对象加入HashSet时,HashSet 会先计算对象的hashcode值来判断对象加入的位置,同时也会与其他加入的对象的 hashcode 值作比较,如果没有相符的 hashcode,HashSet 会假设对象没有重复出现。但是如果发现有相同 hashcode 值的对象,这时会调用equal 阅读全文
posted @ 2021-01-02 13:42 xiekun96 阅读(69) 评论(0) 推荐(0) 编辑
摘要: java 中的 length属性是针对数组说的,比如说你声明了一个数组,想知道这个数组的长度则用到了 length 这个属性. java 中的 length() 方法是针对字符串说的,如果想看这个字符串的长度则用到 length() 这个方法. java 中的 size() 方法是针对泛型集合说的, 阅读全文
posted @ 2021-01-01 21:23 xiekun96 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 一、继承关系 图来自:https://blog.csdn.net/sinat_36265222/article/details/86481715 二、底层数据结构 ArrayList:数组。 Vector:数组。 LinkedList:双向链表 (JDK1.6 之前为循环链表,JDK1.7 取消了循 阅读全文
posted @ 2021-01-01 15:35 xiekun96 阅读(110) 评论(0) 推荐(0) 编辑
摘要: NIO的特性/NIO与IO区别 如果是在面试中回答这个问题,我觉得首先肯定要从 NIO 流是非阻塞 IO 而 IO 流是阻塞 IO 说起。然后,可以从 NIO 的3个核心组件/特性为 NIO 带来的一些改进来分析。如果,你把这些都回答上了我觉得你对于 NIO 就有了更为深入一点的认识,面试官问到你这 阅读全文
posted @ 2021-01-01 14:56 xiekun96 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 相同点: 都是在JVM加载类时且在构造方法执行之前执行,在类中都可以定义多个,定义多个时按定义的顺序执行,一般在代码块中对一些static变量进行赋值。 不同点: 静态代码块在非静态代码块之前执行(静态代码块 -> 非静态代码块 -> 构造方法)。静态代码块只在第一次new执行一次,之后不再执行,而 阅读全文
posted @ 2020-12-31 17:20 xiekun96 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 静态内部类 静态内部类与非静态内部类之间存在一个最大的区别,我们知道非静态内部类在编译完成之后会隐含地保存着一个引用,该引用是指向创建它的外围类,但是静态内部类却没有。没有这个引用就意味着: 它的创建是不需要依赖外围类的创建。 它不能使用任何外围类的非static成员变量和方法。 Example(静 阅读全文
posted @ 2020-12-31 17:15 xiekun96 阅读(597) 评论(0) 推荐(0) 编辑
摘要: 一、局部变量 方法中的局部变量存在于栈内存。每当程序调用一个方法时,系统都会为该方法建立一个方法栈,其所在方法中声明的变量就放在方法栈中,当方法结束系统会释放方法栈,其对应在该方法中声明的变量随着栈的销毁而结束,这就局部变量只能在方法中有效的原因。 二、成员变量 对象实例的引用存储在栈内存中,对象实 阅读全文
posted @ 2020-12-31 15:58 xiekun96 阅读(2441) 评论(0) 推荐(0) 编辑
摘要: 一、定义 1.数组:数组的大小是固定的,并且只能存放同一种类型的数据(基本类型数据或引用类型数据); 2.集合:可以对数据数量不固定的数组进行存储和操作。如果程序中不清楚到底有多少对象,需要在容量不足的时候进行自动扩充,则需要使用集合,而不选择数组。 3.联系:可以通过相应的toArray和Arra 阅读全文
posted @ 2020-12-30 20:44 xiekun96 阅读(1081) 评论(0) 推荐(0) 编辑
摘要: 是否可变 String 类中使用 final 关键字修饰字符数组来保存字符串,private final char value[],所以String 对象是不可变的。 而 StringBuilder 与 StringBuffer 都继承自 AbstractStringBuilder 类,在 Abst 阅读全文
posted @ 2020-12-30 13:28 xiekun96 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 成员变量与局部变量的区别有哪些? 从语法形式上看:成员变量是属于类的,而局部变量是在代码块或方法中定义的变量或是方法的参数;成员变量可以被 public,private,static 等修饰符所修饰,而局部变量不能被访问控制修饰符及 static 所修饰;但是,成员变量和局部变量都能被 final 阅读全文
posted @ 2020-12-30 10:40 xiekun96 阅读(111) 评论(0) 推荐(0) 编辑