摘要: 【java面试题】重载和重写的区别 重载:发生在同一个类中,方法名必须相同,参数类型不同、个数不同、顺序不同,方法的返回值和访问修饰符可以不同 如果只有返回值类型不同其他相同,在编译时就会报错 public class Demo03 { public int test(int a,int b){ r 阅读全文
posted @ 2022-08-15 18:11 GrowthRoad 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 【java面试题】String、StringBuffer、StringBuilder String是final修饰的,不可变,每次操作都会产生新的String对象 StringBuffer 和 StringBuilder 都是在原对象上操作 所以如果经常需要改变字符串内容时,就可以使用StringB 阅读全文
posted @ 2022-08-15 17:30 GrowthRoad 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 【java面试题】final final 的作用 final的含义是最终的 修饰类:表示类不可被继承 修饰方法:表示方法不可被子类重写,但是可以重载 修饰变量:表示变量一旦被赋值就不可改变它的值 修饰成员变量 如果final修饰的是类变量,只能在静态代码块中初始化或声明该类变量时初始化 final 阅读全文
posted @ 2022-08-15 16:02 GrowthRoad 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 【java面试题】 == 和 equals "=="比较的机制:== 对比的是栈中的值 基本数据类型是变量值,也就是 int i = 1;在栈中存放的是 i = 1,== 比较的也是这个数值1 引用类型是堆中内存对象的地址 ,String str = new String("hello"); 通过n 阅读全文
posted @ 2022-08-15 12:03 GrowthRoad 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 【java面试题】JDK、JRE、JVM 的区别和联系 JDK: Java Develpment Kit java开发工具(提供给开发人员来用) JRE: Java Runtime Environment java运行时环境(提供给运行java程序的用户来用) JVM: Java Virtual M 阅读全文
posted @ 2022-08-15 11:09 GrowthRoad 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 【java面试题】ArrayList和LinkedList的区别 ArrayList和LinkedList都实现了List接口,它们有一下的不同点: ArrayList是基于索引的数据接口,它的底层是数组,它可以以O(1)时间复杂度对元素进行随机访问。 LinkedList是以元素列表形式存储它的数 阅读全文
posted @ 2022-08-15 10:21 GrowthRoad 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 【java面试题】面向对象的特征 面向对象编程是利用类和对象编程的一种思想,万物可归类,类是对于世界事物的高度抽象,万物皆对象,对象是具体的世界事物。 面向对象的三大特征:封装、继承、多态。 封装说明一个类的行为和属性与其他类的关系,低耦合,高内聚。 继承是父类和子类的关系。 多态说的是类与类的关系 阅读全文
posted @ 2022-08-15 09:20 GrowthRoad 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 反射(四)获取泛型、注解信息 反射操作泛型 Java采用泛型擦除的机制来引入泛型,Java中的泛型仅仅是给编译器javac使用的,确保数据的安全性和免去强制类型转换问题,但是,一旦编译完成,所有和泛型有关的类型全部擦除 为了通过反射操作这些类型,Java新增了ParameterizedType, G 阅读全文
posted @ 2022-08-05 17:01 GrowthRoad 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 反射(三)获取并操作对象及方法 获取运行时类的结构 通过反射获取运行时类的完整结构 Field、Method、Constructor、Superclass、Interface、Annotation... 我们以User类为例: class User{ private String name; pri 阅读全文
posted @ 2022-08-05 15:32 GrowthRoad 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 反射(二)之类加载 类加载内存分析 当程序主动使用某个类时,如果该类还未被加载到内存中,则该系统会通过如下三个步骤;来对该类进行初始化。 加载:将class文件字节码内容加载到内存中,并将这些静态数据转换成方法区的运行时数据结构,然后生成一个代表这个类的java.lang.Class 对象 链接:将 阅读全文
posted @ 2022-08-04 17:06 GrowthRoad 阅读(23) 评论(0) 推荐(0) 编辑