Java这些基础面试题你能用到嘛?(2)

首先:

博主是一个帅气的boy👦,你可以叫我山鱼君

山鱼🐟牛客🐂的🖱 ⌨个人主页:https://www.nowcoder.com/users/335664988

💖💖如果对你有帮助的话希望三连下👍⭐✍支持一下博主🌊

今天呢,依旧是整理了一些面试题,希望这些面试题会对小伙伴们有所帮助哦!

🐂Java 中会存在内存泄漏吗,请简单描述。

长生命周期的对象持有短生命周期对象的引用就很可能发生内存泄露,尽管短生命周期对象已经不再需要,

但是因为长生命周期对象持有它的引用而导致不能被回收,这就是java中内存泄露的发生场景。

🐂抽象的(abstract)方法是否可同时是静态的(static),是否可同时是本地方法(native),是否可同时被 synchronized 修饰?

都不能

🐂阐述静态变量和实例变量的区别。

静态变量: 是被static 修饰符修饰的变量,也称为类变量,它属于类,不属于类的任何一个对象,一个类不管创建多少个对象,静态变量在内存中有且仅有一个拷贝;静态变量可以实现让多个对象共享内存。

实例变量: 必须依存于某一实例,需要先创建对象然后通过对象才能访问到它

🐂是否可以从一个静态(static)方法内部发出对非静态(non-static)方法的调用?

不可以,静态方法只能访问静态成员,因为非静态方法的调用要先创建对象,在调用静态方法时可能对象并没有被初始化。

🐂如何实现对象克隆?

  • 实现 Cloneable 接口,重写 clone() 方法。
    不实现 Cloneable 接口,会报 CloneNotSupportedException 异常

    🐂GC 是什么?为什么要有 GC?


GC是垃圾收集的意思,内存处理是开发人员容易出现问题的地方,忘记或者错误地内存回收会导致程序或者系统的不稳定甚至崩溃,Java提供的垃圾回收机制可以自动检测对象是否超过作用域从而达到自动回收的目的。

🐂比较一下 Java 和 JavaSciprt。

1 出身不同:


Javascript 与 Java 是由不同的公司开发的不同产品。Javascript 是 Netscape 公司的脚本语言,而 Java 是 SUN Microsystems 公司推出的新一代面向对象的程序设计语言。


2 语言类型不同:


JavaScript 是动态类型语言,而 Java 是静态类型语言


3 所采取的变量不同


JavaScript 中的变量声明采用弱类型,即变量在使用前不需作声明,而是解释器在运行时检查其数据类型。Java 采用强类型变量检查,即所有变量在编译之前必须作声明。


4 代码格式不同


Javascript 采用动态联编,即 Javascript 的对象引用在运行时进行检查。Java 采用静态联编,即 Java 的对象引用必须在编译时的进行,以使编译器能够实现强类型检查。


Javascript 不直接对文本和图形进行操作,它在 Web 页面中与 HTML 元素组合一起发挥作用,但它可以控制浏览器,让浏览器直接对文本和图形进行处理。而 Java 则可以直接对文本和图形进行操作。

🐂什么时候用断言(assert)?

assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。一般来说,assertion 用于保证程序最基本、关键的正确性。assertion 检查通常在开发和测试时开启。为了提高性能,在软件发布后, assertion 检查通常是关闭的。在实现中,断言是一个包含布尔表达式的语句,在执行这个语句时假定该表达式为true;如果表达式计算为false,那么系统会报告一个Assertionerror。

————————————————

🐂Error Exception 有什么区别?

Exception和Error都是继承了Throwable类,在java中只有Throwable类型的实例才可以被抛出(throw)或者捕获(catch),他是异常处理机制的基本组成类型。

Exception和Error体现了java平台设计者对不同异常情况的分类,Exception是程序正常运行中,可以预料的意外情况,可能并且应该被捕获,进行相应的处理。

Error是指正常情况下,不大可能出现的情况,绝大部分的Error都会导致程序(比如JVM自身)处于非正常状态,不可恢复状态。既然是非正常情况,所以不便于也不需要捕获,常见的比如OutOfMemoryError之类,都是Error的子类。

Exception又分为可检查(checked)异常和不检查(unchecked)异常,可检查异常在源码里必须显示的进行捕获处理,这里是编译期检查的一部分。前面我们介绍的不可查的Error,是Throwable不是Exception。

不检查异常就是所谓的运行时异常,类似NullPointerException,ArrayIndexOutOfBoundsExceptin之类,通常是可以编码避免的逻辑错误,具体根据需要来判断是否需要捕获,并不会在编译器强制要求。

今天的Java常见面试题就到这里了,之后会持续更新的🐂!
✨原 创 不 易 , 还 希 望 各 位 牛友们 支 持 一 下开心😁
原创不 易,还希望各位大佬支持一下 
点赞👍:您的赞赏是我前进的动力!
收藏⭐:您的支持我是创作的源泉!
评论✍:您的建议是我改进的良药!
山鱼🐟牛客🐂的个人主页:https://www.nowcoder.com/users/335664988

#java面试题##面试题#
全部评论
我知道了,山鱼君是一个帅气的boy
点赞 回复 分享
发布于 2022-08-18 21:12 陕西

相关推荐

Boss上联系了很多都已读不回,是什么问题大佬帮看看
扎哇精神病人:老哥 你本科的时间是不是写错了
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
03-29 08:32
点赞 评论 收藏
分享
评论
4
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务