![](https://img-blog.csdnimg.cn/d4b28e5b4d624716b711551b6de1fd50.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java基础面试题
文章平均质量分 63
Java基础面试题
鸣鼓ming
这个作者很懒,什么都没留下…
展开
-
08-wait 和 sleep 的区别
【代码】08-wait 和 sleep 的区别。原创 2023-02-14 19:44:07 · 289 阅读 · 1 评论 -
07-Java异常分类以及处理机制
因为程序可能被运行在各种未知的环境下,而程序员无法干预用户如何使用他编写的程序,于是程序员就应该为这样的异常时刻准备着。例如,Java 虚拟机运行错误(Virtual MachineError),当JVM 不再有继续执行操作所需的内存资源时,将出现 OutOfMemoryError。javac 在编译时,不会提示和发现这样的异常,不要求在程序处理这些异常。可以被Java异常处理机制使用,是异常处理的核心.。:异常和错误的区别:异常能被程序本身可以处理,错误是无法处理。catch语句块来处理。原创 2023-02-14 17:51:00 · 571 阅读 · 0 评论 -
06-Arrays.sort 和 Collections.sort 实现原理和区别
然后还有混排(Shuffling)、反转(Reverse)、替换所有的元素(fill)、拷贝(copy)、返回Collections中最小元素(min)、返回Collections中最大元素(max)、返回指定源列表中最后一次出现指定目标列表的起始位置( lastIndexOfSubList )、返回指定源列表中第一次出现指定目标列表的起始位(IndexOfSubList )、根据指定的距离循环移动指定列表中的元素(Rotate);再来看看Arrays.sort方法。原创 2023-02-06 22:26:37 · 403 阅读 · 0 评论 -
05-Java反射机制
(5) 这3种方式,最终在JVM堆区对应类的java.lang.Class对象都属于同一个,也就是内存地址相同,进行==双等号比较结果为true,原因是JVM类加载过程中使用的是同一个ClassLoader类加载器加载某个类,不论加载多少次,生成到堆区的java.lang.Class对象始终只有一个,除非自定义类加载器,破坏JVM的双亲委派机制,使得同一个类被不同类加载器加载,JVM才会把它当做两个不同的java.lang.Class对象。我们可以通过这个对象看到类的结构。原创 2023-02-06 17:29:23 · 307 阅读 · 0 评论 -
04-String、StringBuffer和 StringBuilder的区别?
简单的来说:String 类中使用 final 关键字字符数组保存字符串,private final char value[],所以String 对象是不可变的。而 StringBuilder 与StringBuffer 都继承自 AbstractStringBuilder 类,在 AbstractStringBuilder 中也是使用字符数组保存字符串 char[]value 但是没有用 final 关键字修饰,所以这两种对象都是可变的。原创 2023-02-03 23:34:35 · 314 阅读 · 0 评论 -
03-为什么局部内部类和匿名内部类只能访问局部final变量?
这里就出现了一个矛盾:内部类对象访问了一个不存在的变量。为了解决这个问题,就将局部变量复制了一份作为内部类的成员变量,这样当局部变量死亡后,内部类仍可以访问它,实际访问的是局部变量的"copy"。这样就好像延长了局部变量的生命周期。就将局部变量设置为final,对它初始化后,我就不让你再去修改这个变量,就保证了内部类的成员变量和方法的局部变量的一致性。3.将局部变量复制为内部类的成员变量时,必须保证这两个变量是一样的,也就是如果我们在内部类中修改了成员变量,方法中的局部变量也得跟着改变,怎么解决问题呢?原创 2023-01-12 22:00:42 · 233 阅读 · 0 评论 -
02-final、finally、finalize的区别?
4.finally是在return后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,无论finally中的代码怎么样,返回的值都不会改变,仍然是之前保存的值),所以函数返回值是在finally执行前确定好的;1.被final修饰的变量不可以被改变,如果修饰引用,那么表示引用不可变,引用指向的内容可变. 被修饰的常量,在编译阶段会存入常量池中.5.垃圾回收和finalize()都是靠不住的,只要JVM还没有快到耗尽内存的地步,它是不会浪费时间进行垃圾回收的;原创 2023-01-12 21:37:34 · 841 阅读 · 0 评论 -
01-JDK、JRE、JVM之间的区别?
JVM不能单独搞定class的执行,解释class的时候JVM需要调用JRE的类库lib。4.其他基础库,包括国际支持、输入/输出 (I/O)、扩展机制、Beans、Java 管理扩展 (JMX)、Java 本机接口 (JNI)、数学、网络、覆盖机制、安全性、序列化和Java XML 处理 (XML JAXP)。JDK(Java SE Development Kit),Java标准开发包,它提供了编译、运⾏Java程序所需的各种⼯具和资源,包括Java编译器、Java运⾏时环境,以及常⽤的Java类库等.原创 2023-01-12 16:57:12 · 750 阅读 · 0 评论