随笔分类 - Java面试题
摘要:Java OOP 面试题 1.short s1 = 1; s1=s1+1; 有错吗? short s1 = 1; s1+=1; 有错吗? 首先我们需要了解大的数据类型向小的数据类型转换需要强制类型转换 第一条语句中 s1=s1+1; 中的 "1" 是 int 类型,而s1 是 short类型,所以
阅读全文
摘要:HashMap 和 HashTable 的区别 区别: HashMap没有synchronized修饰,是线程不安全的,HashTable是线程安全的 HashMap 允许 Key 和 Value为空,HashTable不允许。 HashMap 底层实现 实现:数组 + 链表 从jdk8开始,当链表
阅读全文
摘要:equals 和 hashCode hashCode 介绍 hashCode()的作用是获取哈希码,也称为散列码,定义在JDK的Object.java中,返回一个int整数 哈希码的作用:在java中对象是存放在堆中,那么如何在堆中找到这个对象的位置,实际上是通过哈希表中的索引位置,这个int整数就
阅读全文
摘要:【java面试题】重载和重写的区别 重载:发生在同一个类中,方法名必须相同,参数类型不同、个数不同、顺序不同,方法的返回值和访问修饰符可以不同 如果只有返回值类型不同其他相同,在编译时就会报错 public class Demo03 { public int test(int a,int b){ r
阅读全文
摘要:【java面试题】String、StringBuffer、StringBuilder String是final修饰的,不可变,每次操作都会产生新的String对象 StringBuffer 和 StringBuilder 都是在原对象上操作 所以如果经常需要改变字符串内容时,就可以使用StringB
阅读全文
摘要:【java面试题】final final 的作用 final的含义是最终的 修饰类:表示类不可被继承 修饰方法:表示方法不可被子类重写,但是可以重载 修饰变量:表示变量一旦被赋值就不可改变它的值 修饰成员变量 如果final修饰的是类变量,只能在静态代码块中初始化或声明该类变量时初始化 final
阅读全文
摘要:【java面试题】 == 和 equals "=="比较的机制:== 对比的是栈中的值 基本数据类型是变量值,也就是 int i = 1;在栈中存放的是 i = 1,== 比较的也是这个数值1 引用类型是堆中内存对象的地址 ,String str = new String("hello"); 通过n
阅读全文
摘要:【java面试题】JDK、JRE、JVM 的区别和联系 JDK: Java Develpment Kit java开发工具(提供给开发人员来用) JRE: Java Runtime Environment java运行时环境(提供给运行java程序的用户来用) JVM: Java Virtual M
阅读全文
摘要:【java面试题】ArrayList和LinkedList的区别 ArrayList和LinkedList都实现了List接口,它们有一下的不同点: ArrayList是基于索引的数据接口,它的底层是数组,它可以以O(1)时间复杂度对元素进行随机访问。 LinkedList是以元素列表形式存储它的数
阅读全文
摘要:【java面试题】面向对象的特征 面向对象编程是利用类和对象编程的一种思想,万物可归类,类是对于世界事物的高度抽象,万物皆对象,对象是具体的世界事物。 面向对象的三大特征:封装、继承、多态。 封装说明一个类的行为和属性与其他类的关系,低耦合,高内聚。 继承是父类和子类的关系。 多态说的是类与类的关系
阅读全文