java面试
文章平均质量分 82
mild_breeze
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
线程组和线程池的基本用法
OverrideSystem.out.println(t.getName() + "抛出了异常信息:" + e.toString());实现了接口当线程抛出未捕获异常时,JVM会自动调用此方法@Override// 关键设置return t;实现了接口为每个新创建的线程设置自定义异常处理器@Overrideint a = 30;int b = 3;System.out.println(a + "与" + b + "相除的结果为:");原创 2025-08-08 19:55:37 · 1011 阅读 · 0 评论 -
java基础面试题(10)-反射
在 Java 中,是指程序在运行时可以访问、检测和修改自身结构及行为的能力。简单来说,就是 Java 代码可以在运行时 “看透” 类的内部信息(如类名、方法、字段等),并动态调用类的方法或操作类的字段,而无需在编译期就知道类的具体信息。原创 2025-07-31 16:38:38 · 245 阅读 · 0 评论 -
java基础面试题(9)-泛型
在类的声明中引入类型参数,使得类中的字段、方法参数或返回值可以使用该类型参数,从而让类具备操作多种数据类型的能力。原创 2025-07-31 15:23:11 · 419 阅读 · 0 评论 -
java基础面试题(8)-异常
Exception(异常)表示程序运行过程中出现的可预期、可处理的问题,通常是由代码逻辑或外部环境导致的(如用户输入错误、文件不存在等)。它的出现不会导致 JVM 终止,程序可以通过try-catch捕获并处理,使程序继续执行。Error(错误)表示 JVM 自身在运行过程中出现的严重问题,通常是由系统底层故障或资源耗尽导致的(如内存溢出、类加载失败等)。它的出现往往意味着 JVM 已无法正常工作,程序无法处理,最终会导致 JVM 终止运行。Checked Exception(受检异常)原创 2025-07-31 13:56:09 · 753 阅读 · 0 评论 -
java基础面试题(7)-String
优先根据是否需要修改和是否多线程选择:字符串不变 →String字符串可变 + 单线程 →字符串可变 + 多线程 →避免在循环中使用String的拼接,改用提升性能。Java 9 为何要将String的底层实现由char[]改成了byte[]?char 2个字节,byte 1个字节Java 9 将String底层从char[]改为byte[],是基于 “大多数字符串可通过单字节编码” 这一现实场景的针对性优化,核心目标是减少内存占用。原创 2025-07-30 16:42:49 · 860 阅读 · 0 评论 -
java基础面试题(6)--Object
Java 中的类是所有类的根类,任何类都直接或间接继承自它。Object类提供了一些基本方法,这些方法在所有 Java 对象中都可用。原创 2025-07-29 15:27:54 · 454 阅读 · 0 评论 -
java基础面试题(5)
两者都属于抽象类型,无法直接创建对象,只能作为父类(抽象类)或实现类(接口)的模板。都能声明没有具体实现的方法(抽象方法),强制子类 / 实现类去实现这些方法,体现 “约定大于实现” 的思想。抽象类通过extends被子类继承,接口通过implements被类实现,且子类 / 实现类都必须实现所有抽象方法(除非自身也是抽象类)。都可以定义规范(方法签名),供多个类遵循,实现代码的抽象和解耦,便于扩展和维护。原创 2025-07-29 14:28:11 · 293 阅读 · 0 评论 -
java基础面试题(4)-变量
成员变量:定义在类中,方法之外,属于类的属性。// 成员变量(类中,方法外)int age;// 方法体局部变量:定义在方法内部、方法参数列表、代码块(如iffor块)中,属于方法或代码块的临时变量。public void sayHello(String message) { // message 是局部变量(参数)// 局部变量(方法内)// 局部变量(代码块内)特性成员变量局部变量定义位置类中,方法外方法内、参数列表、代码块内作用范围整个类仅定义它的方法或代码块初始化。原创 2025-07-28 18:47:18 · 767 阅读 · 0 评论 -
java基础面试题(3)
Java 中的包装类型(如IntegerLongBoolean等)为了提高性能和减少内存消耗,引入了:对一定范围内的基本类型值,在创建包装对象时会复用已存在的对象,而不是每次都新建对象。这一机制主要应用于频繁使用的小范围数值。ByteShortIntegerLong这 4 种包装类默认创建了数值的相应类型的缓存数据,Character创建了数值在范围的缓存数据,Boolean直接返回TRUEorFALSE。对于Integer,可以通过 JVM 参数修改缓存上限,但不能修改下限 -128。原创 2025-07-28 18:29:40 · 702 阅读 · 0 评论 -
jvm的栈和堆
维度栈(Stack)堆(Heap)所有者线程私有(每个线程一个栈)所有线程共享存储内容局部变量、方法栈帧、对象引用对象实例、数组生命周期随方法调用 / 线程结束而创建 / 销毁随对象是否被引用动态变化(由 GC 管理)内存管理自动弹出栈帧,无需 GC依赖 GC 回收无引用对象访问速度快(连续内存,直接操作)较慢(需通过引用定位,可能有碎片)异常类型栈溢出(内存溢出(原创 2025-07-28 17:20:05 · 433 阅读 · 0 评论 -
java基础面试题(2)
依赖关系:Java EE 完全基于 Java SE,使用 Java EE 必须先掌握 Java SE 的基础(如语法、集合、多线程等)。应用场景:Java SE 是 “基石”,适用于轻量级、单机或简单网络应用;Java EE 是 “扩展”,适用于复杂的企业级分布式系统。现状:2018 年 Java EE 被移交 Eclipse 基金会管理,更名为 Jakarta EE,但核心技术规范和用途未变。Java SE 是基础,让你能用 Java 写程序;原创 2025-07-28 16:48:46 · 506 阅读 · 0 评论 -
java基础面试题(1)
指在一个程序中同时运行多个线程(Thread),每个线程都可以独立的执行不同的任务,从而提高执行效率和资源利用率,是用来处理并发任务的重要手段,尤其适用于需要同时处理多个操作的场景(如网络请求,文件读写, UI交互等)重载的方法名相同,但参数列表必须不同,比如实现一个加法方法,修改参数类型就是重载,方法重写主要用于子类继承父类的方法,但是子类可能有自己的表现形式或是输出结果,要对方法的内容加以修改。线程:是进程的一个执行单元,共享进程的内存空间和资源,是 CPU 调度的基本单位。原创 2025-07-28 15:34:16 · 844 阅读 · 0 评论
分享