Java这些基础面试题你能用到嘛?(2)
首先:
博主是一个帅气的boy👦,你可以叫我山鱼君
山鱼🐟牛客🐂的🖱 ⌨个人主页:https://www.nowcoder.com/users/335664988
💖💖如果对你有帮助的话希望三连下👍⭐✍支持一下博主🌊
今天呢,依旧是整理了一些面试题,希望这些面试题会对小伙伴们有所帮助哦!
🐂Java 中会存在内存泄漏吗,请简单描述。
长生命周期的对象持有短生命周期对象的引用就很可能发生内存泄露,尽管短生命周期对象已经不再需要,
🐂抽象的(abstract)方法是否可同时是静态的(static),是否可同时是本地方法(native),是否可同时被 synchronized 修饰?
🐂阐述静态变量和实例变量的区别。
静态变量: 是被static 修饰符修饰的变量,也称为类变量,它属于类,不属于类的任何一个对象,一个类不管创建多少个对象,静态变量在内存中有且仅有一个拷贝;静态变量可以实现让多个对象共享内存。
🐂是否可以从一个静态(static)方法内部发出对非静态(non-static)方法的调用?
🐂如何实现对象克隆?
-
实现 Cloneable 接口,重写 clone() 方法。
不实现 Cloneable 接口,会报 CloneNotSupportedException 异常🐂GC 是什么?为什么要有 GC?
🐂比较一下 Java 和 JavaSciprt。
1 出身不同:
Javascript 与 Java 是由不同的公司开发的不同产品。Javascript 是 Netscape 公司的脚本语言,而 Java 是 SUN Microsystems 公司推出的新一代面向对象的程序设计语言。
2 语言类型不同:
JavaScript 是动态类型语言,而 Java 是静态类型语言
3 所采取的变量不同
JavaScript 中的变量声明采用弱类型,即变量在使用前不需作声明,而是解释器在运行时检查其数据类型。Java 采用强类型变量检查,即所有变量在编译之前必须作声明。
4 代码格式不同
Javascript 采用动态联编,即 Javascript 的对象引用在运行时进行检查。Java 采用静态联编,即 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。
今天的Java常见面试题就到这里了,之后会持续更新的🐂!✨原 创 不 易 , 还 希 望 各 位 牛友们 支 持 一 下开心😁
原创不 易,还希望各位大佬支持一下点赞👍:您的赞赏是我前进的动力!
收藏⭐:您的支持我是创作的源泉!
评论✍:您的建议是我改进的良药!
山鱼🐟牛客🐂的个人主页:https://www.nowcoder.com/users/335664988