Java基础面试题
Java 基础面试题
你好像很好吃a
吃不了自律的苦,就要吃平庸的苦。
展开
-
Java面试题 Java中如何实现序列化,有什么意义?
Java中如何实现序列化,有什么意义?答:序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可以将流化后的对象传输于网络之间。序列化时为了解决对象流读写操作时可能引发的问题(如果不进行序列化可能会存在数据乱序的问题)。要实现序列化,需要让一个类实现Serializable接口,该接口是一个标识性接口,标注该类对象是可被序列化的,然后使用一个输出流来构造一个对象输出流并通过writeObject(Object)方法就可以实现对象写出(即保存其状态);原创 2020-09-01 17:14:17 · 374 阅读 · 0 评论 -
Java面试题 接口是否可继承接口?抽象类是否可以实现接口?
接口是否可以继承接口?抽象类是否可以实现接口?抽象类是否可以继承实体类?答:接口可以继承接口。抽象类可以实现接口。抽象类可以继承实体类,但是前提是实体类必须有明确的构造函数。注意:普通类继承了抽象类,必须要实现其抽象方法,如果不想有具体的实现,那么子类也必须声明为抽象类。...原创 2020-09-01 16:17:17 · 573 阅读 · 0 评论 -
Java面试题 GC是什么?为什么要有GC?
GC是什么?为什么要有GC?答:GC是垃圾收集的意思,内存处理是编程人员容易出问题的地方,忘记或者错误的内存回收会导致程序或者系统的不稳定甚至崩溃,Java提供的GC功能可以自动检测对象是否超过作用域从而达到自动回收内存的目的。Java没有提供释放已分配内存的显示操作方法。Java程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要求垃圾收集,可以调用下面的方法之一:System.gc()或Runtime.getRuntime().gc(),但JVM可以屏蔽掉显示的垃圾回收调用。垃圾回收可以有效的原创 2020-09-01 16:09:04 · 1458 阅读 · 0 评论 -
Java面试题 try.catch语句中存在return和finally中语句的执行顺序?
Java中的try.catch语句中的finally和return同时存在时,finally语句是否会执行,若执行,那么执行顺序是什么?结论:不管有没有异常,finally块中代码都会执行;当try.catch中有return时,finally仍然会执行;finally中最好不要包含return,否则程序会提前退出,返回值不是try或catch中保存的返回值。在执行时,是return语句先把返回值写入内存中,然后停下来等待finally语句块执行完,return再执行后面的一段。至于返回值到底原创 2020-09-01 14:51:52 · 1265 阅读 · 0 评论 -
Java面试题 Collection和Collections的区别?
Collection和Collections的区别?Collection是java.util下的接口,它是各种集合的父接口,继承它的主要有Set和List;Collections是java.util下的类,是针对集合的帮助类,提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。...原创 2020-09-01 09:13:06 · 343 阅读 · 0 评论 -
Java面试题 sleep()和wait()有什么区别?
sleep()和wait()有什么区别?1、sleep()方法是线程类Thread的静态方法,让调用线程进入睡眠状态,让出执行机会给其它线程,等到休眠时间结束后,线程进入就绪状态和其它线程一起竞争CPU执行时间。因为sleep()是静态的(static修饰的)方法,它不能改变对象的机锁,当一个synchronized块中调用了sleep方法,线程虽然进入休眠状态,但是对象的机锁没有释放,其它线程无法访问这个对象。2、wait()是Object类的方法,当一个线程执行到wait()方法时,它就进入到一个原创 2020-08-31 17:03:33 · 451 阅读 · 0 评论 -
Java面试题 Java中会存在内存泄漏吗?请简要说明
Java中会出现内存泄漏吗?请简要说明:内存泄漏是指系统中存在无法回收的内存,有时候会造成内存不足或系统崩溃。Java存在内存泄漏。Java中的内存泄漏必然是指:存在无用但是垃圾回收器无法回收的对象。而且即使有内存泄漏的问题存在,也不一定会表现出来,自己实现堆栈的数据结构时有可能会出现内存泄漏。...原创 2020-08-31 16:40:37 · 464 阅读 · 0 评论 -
Java面试题 Error和Exception有什么区别?列出你见过的Execption并简要说明?
1、Error和Exception有什么区别?Error:表示系统级的错误和程序不必处理的异常,是恢复不是不可能但很困难的情况下的一种严重问题;比如内存溢出,不可能指望程序能处理这样的情况。Exception:表示需要捕捉或者需要 程序进行处理的异常,是一种设计与实现的问题;也就是说,它表示如果程序运行正常,从不会发生的情况。2、常见的Exception并简要说明?NullPointerException:当操作一个空引用时会出现此错误。NumberFormatException:数据格式转原创 2020-08-31 16:35:53 · 807 阅读 · 0 评论 -
Java面试题 abstract class和interface有什么区别?
abstract class和interface有什么区别?1.相同点:两者都是抽象类,都不能实例化。interface实现类及abstract class的子类都必须要实现已经声明的抽象方法。2.不同点:interface需要实现,要用implements,而abstract class需要继承,要用extends。一个类可以实现多个interface,但是一个类只能继承一个abstract class。interface强调特定功能的实现,而abstract class强调所属关系原创 2020-08-31 16:17:38 · 3265 阅读 · 0 评论 -
Java面试题 写出冒泡排序的算法
写出冒泡排序的算法:点击查看更多数组排序算法for(int i = 0;i < arr.length-1;i++){ //控制轮数 for(int j = 0;j < arr.length-1-i;j++){ //控制每一轮的次数 if(arr[j] > arr[j+1]){ //每次都是和他下一个元素比 int t = arr[j]; arr[j] = arr[j+1]; arr[j+1] = t; } }}...原创 2020-08-31 15:28:27 · 372 阅读 · 0 评论 -
Java面试题 源文件中是否可以包括多个类,有什么限制?
Java源文件中是否可以包括多个类,有什么限制?一个 .java文件里可以写多个类,但是只能有一个public修饰的类。原创 2020-08-31 11:46:12 · 244 阅读 · 0 评论 -
Java面试题 简述static和final的用法?
1、static:修饰属性、方法、代码块静态属性:也可以叫类变量,需要使用类名.属性名来访问,共有的类变量与对象无关,只和类有关。注意:类中的实例变量是在创建对象时被初始化的,被static修饰的属性(也就是类变量)是在类加载时被创建并进行初始化,类加载的过程只进行一次,也就是类变量只会被创建一次。静态方法:类名.方法名,直接访问。注意:static修饰的方法,不能直接访问本类中的非静态(static)成员(包括方法和属性),本类的非静态方法可以访问本类的静态成员(包括方法和属性),可以调用原创 2020-08-31 11:43:37 · 573 阅读 · 0 评论 -
Java面试题 switch能否用于byte、long、String上?
switch能否作用于byte、long、String上?可以作用于byte上,不能作用于long上,switch中可以是字符串类型,String(jdk1.7之后可以作用在String上)。扩展总结:switch可以作用于:char、byte、short、intswitch可以作用于:char、byte、short、int 对应的包装类switch不可以作用于:long、double、float、boolean,包括它们的包装类...原创 2020-08-31 11:28:21 · 2942 阅读 · 0 评论 -
Java面试题 overload和override的区别?overload的方法是否可以改变返回值的类型?
1、overload和override的区别?overload:重载 :同一个类中,方法名相同,参数列表不同。与返回值类型无关。override:重写:存在于子父类中,或者子父接口中,方法名相同,参数列表相同。重写遵循两同两小一大原则:两同:方法名称相同,参数列表相同。两小:类型:基本类型:子类返回值类型必须等于父类返回值类型。引用类型:子类返回值类型小于或等于父类返回值类型。异常:子类抛出异常小于等于父类抛出异常一大:子类访问权限大于等于父类访问权限2、原创 2020-08-31 11:20:42 · 859 阅读 · 0 评论