![](https://img-blog.csdnimg.cn/20190927151124774.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
不积跬步无以至千里
文章平均质量分 58
面试问题复习
MEME_UP
不积跬步无以至千里
展开
-
面试官:讲讲redis的缓存淘汰策略?
我们都知道Redis速度快,是Redis将数据放在内存中的,通过异步的方式同步磁盘,所以大大减少了磁盘I/O的时间。也就是因为放在内存中,内存大小有限,所以会存在内存满了,需要将Redis的数据删除,也就是缓存淘汰或者说过期的说法。2)被动删除:是指有设置过期时间的key,在对该数据进行读写的时候发现过期了,将其进行删除。但是有个缺点:冷数据无法删除;1)不删除:enviction是Redis默认策略,是指内存达到了限制也不淘汰数据,但也无法写入数据,会命令报错;过期策略可以分为三类。原创 2023-02-28 22:38:13 · 3153 阅读 · 0 评论 -
面试官:int和Integer有什么区别?
int 是8种基本数据类型(byte、boolean、char、short、int、long、float、double)之一,表示整型数据类型,虽然Java是面向对象语言,以对象贯穿整个思维,但是基本数据类型不是对象;Integer是int对应的包装类,它有一个int类型存储数据,并且提供了基本的数学运算、类型转换的操作方法,它是一个Java对象,可以通过new的方式创建;Integer的方法实现和String一样,都是final修饰的不可变,所以线程安全;原创 2023-02-09 23:26:40 · 3386 阅读 · 0 评论 -
面试官:String、StringBuffer、StringBuilder有什么区别?
String是Java中非常常见且基础的类,用于字符串的构造和管理,它是Immutable类的经典实现,是final class,所有的属性也都是final的所以无法对内部数据进行修改,原生的保证了线程安全;JDK8及其以前,底层数据是用char数组进行存储的,JDK9之后是byte数组存储的;String修改操作不当会产生大量的临时字符串,为了避免这样的问题,Java引入了字符串常量(位于JVM的方法区内部有一个运行时常量池,字符串经过.intern()方法放入常量池)。原创 2023-02-08 23:43:38 · 3235 阅读 · 0 评论 -
面试官:强引用、软引用、弱引用、幻象引用有什么区别?
在Java中除了基础数据类型(boolean/byte/char/short/int/float/long/double)以外,其他的都是指向各类对象的引用。Java中根据其生命周期又将其分为了强引用、软引用、弱引用、幻象引用四大类型。从被回收时间和生命周期分别来讲:1. 通过关键字new创建的对象就是强引用对象,代码中最常见。只要强引用指向的对象,哪怕内存满了导致OOM也不会去回收强引用存活的对象用来释放内存,能存活到JVM停止运行时。2.软引用。原创 2023-02-05 16:11:08 · 459 阅读 · 0 评论 -
面试官:谈谈final、finally、 finalize有什么不同?
final可以用来修饰类、方法、变量,分别有不同含义。final修饰类表示该类不可以被继承扩展;final修饰方法表示该方法不可以被重写;final修饰变量表示不可以被修改;finally通常用于保证重点代码一定要被执行,可以用在try后面,也可以用在try...catch之后;finalize是基础类Object的一个方法,用于指定对象在垃圾回收前完成特定的垃圾回收,相当于标记了它的回收方式是特殊的。原创 2023-02-05 14:51:38 · 357 阅读 · 0 评论 -
面试官:Exception和Error有什么区别?
请对比 Exception 和 Error,另外,运行时异常与一般异常有什么区别?原创 2023-02-05 14:17:47 · 1911 阅读 · 0 评论 -
面试官:谈谈你对Java平台的理解?
谈谈你对 Java 平台的理解?“Java 是解释执行”,这句话正确吗?原创 2023-02-05 13:05:09 · 4953 阅读 · 1 评论