php网站开发职位,个人做网站下载网上图可以吗,辛集专业网站建设,旅行社网站建设规划书论文其他资料
每日速记10道java面试题01-CSDN博客
每日速记10道java面试题02-CSDN博客
目录 一、你使用过java的反射机制吗#xff1f;如何应用反射#xff1f;
二、什么是泛型#xff1f;泛型的作用是什么#xff1f;
三、java的泛型擦除是什么#xff1f;
四、Java 中…其他资料
每日速记10道java面试题01-CSDN博客
每日速记10道java面试题02-CSDN博客
目录 一、你使用过java的反射机制吗如何应用反射
二、什么是泛型泛型的作用是什么
三、java的泛型擦除是什么
四、Java 中的深拷贝和浅拷贝有什么区别?
五、什么是 Java 的 Integer 缓存池?
六、java的类加载过程是怎样的 七、String s new String(abc)会创建几个对象
八、如果一个线程在 Java 中被两次调用 start0) 方法会发生什么?
九、java的IO流是什么
十、java的基本数据类型有哪些 ‘‘’
一、你使用过java的反射机制吗如何应用反射
Java 的反射机制是指在运行时获取类的结构信息(如方法、字段、构造函数)并操作对象的一种机制。
对于任意一个类都能够知道这个类的所有属性和方法
对于任意一个对象都能够调用它的任意方法和属性并且能改变它的属性。
Java反射机制的核心是在程序运行时动态加载类并获取类的详细信息从而操作类或对象的属性和方法。其本质是JVM得到Class对象之后再通过Class对象进行反编译从而获取对象的各种信息。
java反射的优点
可以动态地获取类的信息不需要在编译时就知道类的信息。 可以动态地创建对象不需要在编译时就知道对象的类型。 可以动态地调用对象的属性和方法在运行时动态地改变对象的行为。
应用场景有
spring就是使用反射机制来读取配置文件实现依赖注入和aop。
二、什么是泛型泛型的作用是什么
泛型允许类、接口和方法在定义时使用一个或多个类型参数这些类型参数在使用时可以被指定为具体的类型。
类型安全:运行时异常转为编译时异常提早发现异常确保类型安全代码重用:方法或者类可以使用泛型使方法和类能够处理多种不同的数据类型。而不用每个数据类型都写一个方法或者类。
三、java的泛型擦除是什么
java的泛型擦除是指java编译器在编译过程中将所有的泛型信息删除的过程这样做的目的是为了保证java版本的兼容性因为在java5之前一些集合比如ArrayList和LinkedList都是非泛型化的java5之后这两个集合都是泛型化的为了保证这两个java版本的兼容性就有这个泛型擦除。
会在编译的时候将E替换成Object并通过插入类型转换指令保持类型安全和多态性。
四、Java 中的深拷贝和浅拷贝有什么区别?
深拷贝:不仅拷贝对象本身和基本类型成员变量堆内的引用对象也会复制一份(相互独立不干扰) 浅拷贝:仅拷贝对象本身和基本类型成员变量共享堆内的引用对象(仅复制引用地址)
五、什么是 Java 的 Integer 缓存池?
java的Interger缓存池为了提高性能和减少内存在-128到127以内的对象会被缓存并复用例如interger a 127这时候就会将a放进interger缓存池在interger b 127的时候并不是重新创建创建一个对象而是去interger缓存池查找有没有这个值的缓存对象有的话直接拿过来用没有才去重新创建并存入缓存池。
六、java的类加载过程是怎样的
Java的类加载过程包括加载、链接和初始化三个主要步骤。 1.在加载阶段通过类加载器将类文件加载到内存中生成一个Class对象。 2.在链接阶段包括 验证 、 推备 和 解析 三个子阶段确保类的字节码安全并为静态变量分配内存和进行符号引用解析。 3.最后在初始化阶段执行类的初始化逻辑将静态变量和静态代码块的初始化操作整合并执行。 七、String s new String(abc)会创建几个对象
1.首先new会先在堆内存中创建一个String对象(第一个对象称它为new String对象吧)并让s引|用指向该对象。
2.JVM用字面量”abc“去字符串常量池中尝试获取“abc”对应的String对象的引用。 2.1 如果获取成功则让new String对象引用常量池中的abc” 2.2 如果获取失败则在堆内存中创建一个abc的String对象(第二个对象)并把它的引用保存在字符串常量池。然后让newString对象引用常量池中的abc。 所以使用new String方法时会创建1个或者2个对象。
八、如果一个线程在 Java 中被两次调用 start0) 方法会发生什么?
会报错!因为在 Java 中一个线程只能被启动一次!所以尝试第二次调用 start0) 方法时会抛出 legalThreadStateException 异常。这是因为一旦线程已经开始执行它的状态不能再回到初始状态。线程的生命周期不允许它从终止状态回到可运行状态。
九、java的IO流是什么
Java的I/O流是用于处理数据输入输出的类库可以从各种位置读取数据也可以将数据写入特定位置I/O流分为两大类: 字节流:处理8字节数据适合处理二进制文件比如图片、视频。承担任务的类有Inputstream和Outputstream类及其子类。 字符流:处理16字节数据适合处理文本文件。承担任务的类有Reader和Writer及其子类。
十、java的基本数据类型有哪些
四种八类 1.整型 o byte 1字节 oshort 2字节 o int 4字节 o long 8字节 2.浮点型 o float 4字节 odoble 8字节 3. 字符型 ochar 2字节 4.布尔型 oboolean 不定