Java面试题笔记
文章平均质量分 90
分享部分课程读书笔记,如有雷同,敬请谅解!
Thomas.Sir
优秀的作品无论你怎样去探测它,都是探不到底的!
展开
-
JavaIO 面试题
1. Java字节流与字符流2. 字节流和字符流哪个好?怎么选择?大多数情况下使用字节流会更好,因为大多数时候 IO 操作都是直接操作磁盘文件,所以这些流在传输时都是以字节的方式进行的(图片等都是按字节存储的)如果对于操作需要通过 IO 在内存中频繁处理字符串的情况使用字符流会好些,因为字符流具备缓冲区,提高了性能。3. 什么是缓冲区?有什么作用?缓冲区就是一段特殊的内存区域,很多情况下当程序需要频繁地操作一个资源(如文件或数据库)则性能会很低,所以为了提升性能就可以将一原创 2022-04-22 11:46:11 · 5040 阅读 · 0 评论 -
08:对比Vector、ArrayList、LinkedList有何区别?
我们在日常的工作中,能够高效地管理和操作数据是非常重要的。由于每个编程语言支持的数据结构不尽相同,比如我最早学习的 C 语言,需要自己实现很多基础数据结构,管理和操作会比较麻烦。相比之下,Java 则要方便的多,针对通用场景的需求,Java 提供了强大的集合框架,大大提高了开发者的生产力。今天我要问你的是有关集合框架方面的问题,对比 Vector、ArrayList、LinkedList 有何区别?典型回答这三者都是实现集合框架中的 List,也就是所谓的有序集合,因此具体功能也比较近似原创 2022-03-30 22:24:05 · 219 阅读 · 0 评论 -
07:int和Integer有什么区别?
典型回答int 是我们常说的整形数字,是 Java 的 8 个原始数据类型(Primitive Types,boolean、byte 、short、char、int、float、double、long)之一。Java 语言虽然号称一切都是对象,但原始数据类型是例外。Integer 是 int 对应的包装类,它有一个 int 类型的字段存储数据,并且提供了基本操作,比如数学运算、int 和字符串之间转换等。在 Java 5 中,引入了自动装箱和自动拆箱功能(boxing/unboxing),Java原创 2022-03-30 07:15:03 · 210 阅读 · 0 评论 -
Spring Boot如何使用内嵌式的Tomcat和Jetty?
Spring Boot 中 Web 容器相关的接口既然要支持多种 Web 容器,Spring Boot 对内嵌式 Web 容器进行了抽象,定义了 WebServer 接口:public interface WebServer { void start() throws WebServerException; void stop() throws WebServerException; int getPort();}各种 Web 容器比如 Tomcat 和 Jetty原创 2022-03-15 08:25:30 · 447 阅读 · 0 评论 -
Java 中单例模式的正确用法?
单例模式指的是,保证一个类只有一个实例,并且提供一个全局可以访问的入口。那么我们为什么需要单例呢,其中一个理由,那就是为了节省内存、节省计算。很多情况下,我们只需要一个实例就够了,如果出现了更多的实例,反而属于浪费。举个例子:public class ExpensiveResource { public ExpensiveResource() { field1 = // 查询数据库 field2 = // 然后对查到的数据做大量计算 fiel原创 2022-03-14 03:47:52 · 712 阅读 · 0 评论 -
String、StringBuffer、StringBuilder有什么区别?
回答(1)String 是 Java 语言非常基础和重要的类,提供了构造和管理字符串的各种基本逻辑。它是典型的 Immutable 类,被声明成为 final class,所有属性也都是 final 的。也由于它的不可变性,类似拼接、裁剪字符串等动作,都会产生新的 String 对象。由于字符串操作的普遍性,所以相关操作的效率往往对应用性能有明显影响。(2)StringBuffer 是为解决上面提到拼接产生太多中间对象的问题而提供的一个类,我们可以用 append 或者 add 方法,把字符串添原创 2022-03-13 11:53:50 · 220 阅读 · 0 评论 -
强引用、软引用、弱引用、幻象引用有什么区别?
回答不同的引用类型,主要体现的是对象不同的可达性(reachable)状态和对垃圾收集的影响。所谓强引用(“Strong” Reference),就是我们最常见的普通对象引用,只要还有强引用指向一个对象,就能表明对象还“活着”,垃圾收集器不会碰这种对象。对于一个普通的对象,如果没有其他的引用关系,只要超过了引用的作用域或者显式地将相应(强)引用赋值为 null,就是可以被垃圾收集的了,当然具体回收时机还是要看垃圾收集策略。软引用(SoftReference),是一种相对强引用弱化一些的引用,可以原创 2022-03-12 00:14:24 · 197 阅读 · 0 评论 -
final、finally、 finalize 不同之处?
回答final 可以用来修饰类、方法、变量,分别有不同的意义,final 修饰的 class 代表不可以继承扩展,final 的变量是不可以修改的,而 final 的方法也是不可以重写的(override)。finally 则是 Java 保证重点代码一定要被执行的一种机制。我们可以使用 try-finally 或者 try-catch-finally 来进行类似关闭 JDBC 连接、保证 unlock 锁等动作。finalize 是基础类 java.lang.Object 的一个方法,它的设计原创 2022-03-12 00:00:25 · 134 阅读 · 0 评论 -
Exception和Error的区别?
对比 Exception 和 Error,另外,运行时异常与一般异常有什么区别?回答Exception 和 Error 都是继承了 Throwable 类,在 Java 中只有 Throwable 类型的实例才可以被抛出(throw)或者捕获(catch),它是异常处理机制的基本组成类型。Exception 和 Error 体现了 Java 平台设计者对不同异常情况的分类。Exception 是程序正常运行中,可以预料的意外情况,可能并且应该被捕获,进行相应处理。Error 是指在正常情原创 2022-03-11 23:31:16 · 136 阅读 · 0 评论 -
谈谈您对Java平台的理解?
“Write once, run anywhere”,这句话您是怎么理解的?“Java 是解释执行”,这句话是否正确?一些经典的回答是这样的1. Java 本身是一种面向对象的语言,最显著的特性有两个方面,一是所谓的“书写一次,到处运行”(Write once, run anywhere),能够非常容易地获得跨平台能力;另外就是垃圾收集(GC, Garbage Collection),Java 通过垃圾收集器(Garbage Collector)回收分配内存,大部分情况下,程序员不需要自己操原创 2022-03-11 21:59:48 · 132 阅读 · 0 评论