首页 > 编程知识 正文

java基础面试(java认证题目_JAVA认证经典面试题目整理...)

时间:2023-05-06 03:57:04 阅读:122371 作者:3136

1. Java中异常处理机制的简单和应用。

如果Java程序违反了Java语义规则,则Java虚拟机会将出现的错误显示为异常。 违反语义规则有两种情况。 一个是内置在Java类库中的意思。 例如,数组下标越界会导致IndexOutOfBoundsException; 访问null对象时,会发生NullPointerException。 另一种情况是,Java允许程序员扩展此语义检查。 程序员可以创建自己的异常,并自由选择何时使用throw关键字引发异常。 的所有异常都是java.lang.Thowable的子类。

2. Java的接口和c的虚类的相同和不同之处。

因为Java不支持多个继承,所以一个类或对象可能使用位于几个类或对象中的方法或属性,现有的单继承机制不能满足要求。 接口没有实现代码,因此比继承更灵活。 当类实现接口时,该类实现接口中的所有方法和属性。 接口中的属性默认为公共静态,所有方法默认为公共。 一个类可以实现多个接口。

3 .垃圾回收的好处和原理。 考虑两种回收机制。

Java语言的一个明显特点是引入了垃圾回收机制,解决了c程序员最头疼的内存问题,使Java程序员在编写程序时不再需要考虑内存管理。 由于存在垃圾回收机制,Java对象不再具有“范围”概念,只有对象的引用是“范围”。 垃圾回收可有效防止内存泄漏,并有效使用可用内存。 垃圾收集器通常作为独立的低级线程运行,如果不可预测,它会清理并回收内存堆栈中的死亡或长时间未使用的对象。 程序员不能实时调用垃圾收集器来回收某个对象或所有对象。 回收机制包括分代复印垃圾回收和标记垃圾回收、增量垃圾回收。

4 .线程同步的方法。

wait ) ) :将线程置于等待状态,并解除对其保留的对象的锁定。

sleep ) ) :是一种使正在运行的线程进入休眠状态的静态方法,它被调用以捕获InterruptedException异常。

notify () ) :启动等待中的线程。 请注意。 调用此方法时,无法准确启动等待的线程。 决定JVM启动哪个线程,而不是优先级。

Allnotity ) ) :唤醒所有等待的线程。 请注意,它会发生冲突,而不是为所有唤醒线程提供对象锁定。

5 .错误和执行有什么区别?

Error表示系统级错误和程序不需要处理的异常。

Exception表示需要捕获的异常或需要程序处理的异常。

在java中,类被声明为final类型,这意味着什么?

类不继承,表示它是顶级类。

7. heap和stack有什么区别?

堆栈是线性集合,必须在同一段中添加和删除元素。 堆栈以后进先出方式处理。 堆栈是堆栈的组成部分。

谈谈final、finally和finalize的区别。

final -如果修饰符(关键字)类声明为final,则表示不能派生新的子类或继承为父类。 因此,不能将类同时声明为abstract和final。 将变量或方法声明为final可以确保在使用过程中不会更改。 声明为final的变量必须在声明时指定初始值,但在后续引用中是只读的,不能修改。 声明为final的方法也可以同样使用,不能重载。

finally -提供finally块,用于在异常处理时执行任何清理操作。 抛出异常时,将执行匹配的catch子句,控制将进入finally块。

finalize—方法名称。 使用Java技术,垃圾收集器可以在从内存中删除对象之前,使用finalize ()方法执行必要的清理任务。 当垃圾收集器确认没有引用此对象时,将对此对象调用此方法。 因为它是在Object类中定义的,所以所有类都继承了它。 子类覆盖finalize (方法,用于组织系统资源和执行其他清理工作。 finalize ) )方法在垃圾收集器删除对象之前对此对象调用。

9 .匿名内部类)。

是否可以继承其他类? 是否可以实施implements (接口)?

匿名内部类是未命名的内部类。 虽然不能继承其他类,但一个内部类由另一个内部类实现为一个接口。

10 .静态nested class和Inner Class的区别

Nested Class (一般是c的说法),Inner Class (一般是JAVA的说法)。 Jva内部类和c嵌套类的最大区别在于是否存在外部引用。

注:“静态内部类”(Inner Class )是指创建1静态内部类的对象,不需要外部类对象。 2无法从静态内部类的对象访问外部类对象。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。