![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
每天一道Java面试题
坐着地板打地鼠
你来人间一趟,你要看看太阳,和你的心上人一起走在街上
展开
-
Java中的构造器的作用?(构造方法的作用与特点)
public class ConstructionDemo {//定义类Construction1 自己不手动添加任何无参或有参数构造方法static class Construction1{ private int age; private String name; private String sex;}//定义类Construction2 自己添加无参的构造方法static class Construction2{ private int age;原创 2021-05-28 18:53:02 · 8574 阅读 · 7 评论 -
面试题_Java类加载器有哪些?
Java类加载器有哪些?BootstrapClassLoader:BootstrapClassLoader是ExtClassLoader的 父类加载器,加载路径:默认负责加载%JAVA_HOME% lib下的jar包和class文件ExtClassLoader:ExtClassloader是AppClassLoader的父类加载器,加载路径:默认负责加载%JAVA_HOME%/lib/ext下的jar包和class类AppClassLoader:AppClassLoader是系统类加载器,线程上下文原创 2021-05-10 18:12:56 · 109 阅读 · 0 评论 -
面试题_线程的生命周期是?线程有几种状态?
线程的生命周期是?线程有几种状态?1.线程的五种状态是:创建状态、就绪状态、运行状态、阻塞状态和死亡状态新建状态(new):就是使用new方法创建新线程对象,线程进入新建状态,例如:Thread thread=new Thread();就绪状态(Runnable):就绪状态也称为可执行状态,线程对象在被创建后可通过调用start(),从而启动该线程进入就绪状态,该状态的线程,随时可被CPU调度执行。运行状态(Running):线程获得CPU的资源调度可以执行,线程只能通过就绪状态进入到运原创 2021-05-08 23:46:00 · 200 阅读 · 0 评论 -
面试题_线程中的sleep()、wait()、join()、yield()
线程中的sleep()、wait()、join()、yield()1、sleep()让当前正在执行的线程休眠(暂时)2、wait()执行wait(0后线程会放到等待池中,只有调用了notify()或者notifyAll()后等待池的线程才会去竞争锁notify()是随机抽取线程notifyAll()是把所有等待池中的线程放到锁池中sleep()和wait()常作比较,那么两者有哪些不一样呢?leep()是Thread类的静态本地方法,wait()是Object类的本地方法slee..原创 2021-05-07 23:59:43 · 172 阅读 · 0 评论 -
面试题_ArrayList和LinkedList的区别
ArrayList和LinkedList的区别经典题(不是我说的)ArrayList:基于动态数组适合连续内存存储,适合下标定位访问扩容机制:数组长度固定,超出长度需要新建数组,把老数组复制到新数组中,尾插法能够提高ArrayList性能,甚至超过LinkedList。LinkedList:基于链表存储在分散的内存中适合做数据插入和数据删除操作,不适合做查询操作必须使用迭代器iterator,不能使用for循环,因为for循环体通过get(i)取得某一元素时需要对List重新便利,原创 2021-05-06 21:10:27 · 92 阅读 · 0 评论 -
面试题_List和Set的区别
List和Set的区别List有序的可以重复的允许多个null对象可以使用迭代器Iterator取出所有的元素再便遍历每个元素可以使用get(int index)获取指定下标下的元素Set无序不可重复的最多只允许有一个null对象可以使用迭代器Iterator获取所有的元素,再遍历每个元素...原创 2021-05-06 16:26:40 · 137 阅读 · 0 评论 -
面试题_Java中的异常体系
Java中的异常体系Java中的所有异常都来自于父类ThrowableThrowable下有两个子类,一个是Exception一个是Error。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nUS9RiIm-1619798382138)(C:\Users\d1252\AppData\Roaming\Typora\typora-user-images\image-20210430234958223.png)]Error 错误 是程序无法处理的错误,一旦出现这个错误程序就原创 2021-05-01 00:00:07 · 109 阅读 · 1 评论 -
面试题_字节码是什么?采用字节码有哪些好处呢?
字节码是什么?采用字节码有哪些好处呢?一个Java程序的编译和运行是怎样的呢,简单的说就是:Java源程序(.java)>>>>>编译器 编译->>>>字节码(.class)>>>>JVM>>>>JVM中的解释器>>>>生成不同操作系统的机器码>>>>程序运行开发人员编写代码保存在一个扩展名为.java的文件中,这个文件就是java的源文件源文件编原创 2021-04-29 23:34:08 · 384 阅读 · 0 评论 -
面试题_String、StringBuffer、StringBuilder有什么不同?
String、StringBuffer、StringBuilder三者的有不同String是final修饰的,不可变的,每次操作都会产生新的String对象StringBuffer和StringBuilder和String不同的是,每次操作都是在原对象上修改,不产生新的String对象Demo1:public class StringBuilderDemo1 { public static void main(String[] args) { StringBuilder s原创 2021-04-28 15:40:44 · 68 阅读 · 0 评论 -
面试题_Java中抽象类和接口有什么区别?干货
Java中接口和抽象类有什么区别?回答这个问题之前先回答以下的问题:接口是什么?接口的特点有哪些?接口是对事物动作的抽象,比如猫会跑会吃饭,狗会跑会吃饭,人会跑会吃饭,他们有共同点功能就是跑和吃饭,我们可以把跑和吃饭定义成接口,而人猫狗,只需要实现这个接口中的方法,这就是Java中的一个接口可以多个实现;另外Java中类是单继承的,比如父类和子类,子类只能继承一个父类。接口的特点:接口中只存在public abstract方法接口可以实现多个接口中的成员变量只能是不可变常量final抽象原创 2021-04-27 23:51:58 · 218 阅读 · 3 评论 -
面试题_重载Overload和重写Override有什么不同?
重载Overload和重写Override有什么不同?重载:发生在同一个类中,方法名必须相同,参数类型不同、参数个数不同、参数顺序不同、方法返回值和访问修饰可以不同、发生在编译时。重写:发生在父类子类中,方法名、参数列表必须相同,返回值范围小于等于父类,抛出异常范围小于等于父类,访问修饰符范围大于等于父类;如果父类方法访问修饰符为private则子类不能重写方法。编译时多态:编译期间决定目标方法通过overloading重载实现方法名相同、参数类型不同、参数数目不同/** * 方法重载原创 2021-04-27 15:21:24 · 124 阅读 · 2 评论 -
面试题_简述Java中的final
简述final作用final,中文意思是最终的修饰类:表示类不可以被继承修饰方法:表示方法不可被子类覆盖,但是可以重载修饰变量:表示变量一旦被赋值就不可以改变它的值final修饰的常量必须赋初始值,并且值不能被修改。修饰成员变量(全局变量)如果final修饰的是全局变量,只能在静态初始化中指定初始值或者生命类变量时指定初始值如果final修饰的是成员变量,可以在非静态初始化块,声明该变量或者构造器中执行初始值修饰局部变量系统不会为局部变量进行初始化,局部变量必须由程序员显示初原创 2021-04-23 09:47:17 · 78 阅读 · 0 评论 -
面试题_简述Java程序的编译和运行过程
java是如何运行的?开发人员编写代码保存在一个后缀为.java的文件中,这个文件就是java的源文件源文件编写完毕后,通过java编译器处理,生成对应的编译文件,其后缀为.class,这是与不同平台进行交互的编译文件编译文件生成之后,在JVM中根据不同的运行平台进行翻译完成相对应的指令。...原创 2021-04-22 22:17:15 · 212 阅读 · 0 评论 -
面试题_面向对象编程 面向过程和面向对象的区别
面向对象编程面向过程编程和面向对象编程的区别:面向过程,面向对象是两种不同处理问题的角度面向过程更注重的是事情的每个步骤以及顺序,面向对象更注重事情的参与者以及各自的任务面向过程编程:举个栗子:洗衣机洗衣服面向过程将这个任务解析成一系列的步骤:1、打开洗衣机 2、放入脏衣服 3、放洗衣粉 4、注水 5、开始洗衣服。。。面向对象编程:还是举个栗子:洗衣机洗衣服在这个任务中,面向对象将任务拆分成两个对象:人:1、打开洗衣机 2、放入衣服 3、放入洗衣机粉 4、盖上洗衣机盖子洗衣机:1、启原创 2021-04-20 01:27:08 · 149 阅读 · 0 评论 -
面试题_Java源文件中可以有多个类,为什么只能有一个public类?
3、Java中源文件中可以有多个类,最多只能有一个public类?如果源文件中有多个类,那么只能有一个类是public类;如果有一个类是public类,那么源文件的名字必须和这个类的名字完全相同,扩展名为.javajava程序的入口是main方法,所以public类里面一定含有main方法的类,而且该类名称和文件名一致,因为JVM开始就要通过文件名寻找mian方法。如果源文件中没有public类,那么源文件的名字和含有main()方法的类名字相同,运行时选择主类(包含main方法)运行就可以了。m原创 2021-04-19 21:54:48 · 3026 阅读 · 0 评论 -
面试题_泛型在java 中的用途有哪些?
泛型在java 中的用途有哪些?保证了类型安全泛型的主要目标是提高java程序的类型安全,编译时强类型检查;通过通过知道使用泛型定义的变量的类型限制,编译器可以在一个高得多的程度上验证类型假设消除了强制类型转换消除源代码中的许多强制类型转换。这使得代码更加可读,并且减少了出错机会提高了代码的通用性和重复率在框架设计时候,BaseDao、BaseService、BaseDaoImpl、BaseServiceImpl;通过继承,实现抽象了所有公共方法,避免了每次都要写相同的代码原创 2021-04-15 23:59:56 · 51 阅读 · 0 评论 -
面试题_==和equals的区别在哪儿?
每天一道Java面试题1、==和equals的区别在哪儿?对于不同的数据类型 “==“的作用效果是不同的:基本数据类型:比较的值是否相同引用数据类型:比较的引用是否相同equals是比较两个对象是否一致,这个一致可以由开发人员根据实际业务来制定规则;核心的Object 中的Equals方法,就是直接使用来获取结果,因此,我们如果定义新的对象这个对象的弗雷是Object或者它的父类没有覆盖Object中的Equals方法,那么equals方法执行的结果与执行的结果是一致的。而String就覆盖原创 2021-04-14 15:42:14 · 107 阅读 · 0 评论