2020最新Java面试题
- 创业
- 2025-09-12 22:27:02

2020最新Java面试题 序Java基础JVMRedis 序
研发了这么多年,每天都在搬砖,斗转星移,从一个被面试者,成为了一个面试者。总感觉自己在面试的时候提出的问题没有一个由浅入深的感觉,总是东一个问题,西一个问题的,所以整理一些面试问题,首先是给自己扫盲,丰富自己的技术栈。其次作为一个下次被面试的准备。 如果文章有错误,希望指正。
将围绕下图进行面试题总结和整理:
Java基础1.基本数据类型,占用字节? 2. Integer c =128 , Integer d =128,c==d,输出的是什么? 输出的是false,因为128大于IntegerCache的最大值,所以需要重新创建对象。 在Integer内部有一个静态类
private static class IntegerCache { static final int low = -128; static final int high; static final Integer cache[]; static { // high value may be configured by property int h = 127; String integerCacheHighPropValue = sun.misc.VM.getSavedProperty("java.lang.Integer.IntegerCache.high"); if (integerCacheHighPropValue != null) { try { int i = parseInt(integerCacheHighPropValue); i = Math.max(i, 127); // Maximum array size is Integer.MAX_VALUE h = Math.min(i, Integer.MAX_VALUE - (-low) -1); } catch( NumberFormatException nfe) { // If the property cannot be parsed into an int, ignore it. } } high = h; cache = new Integer[(high - low) + 1]; int j = low; for(int k = 0; k < cache.length; k++) cache[k] = new Integer(j++); // range [-128, 127] must be interned (JLS7 5.1.7) assert IntegerCache.high >= 127; } private IntegerCache() {} }参考资料: Integer缓存池(IntegerCache)及整型缓存池.
3.String能被继承吗?为什么? 不能被继承,因为被final修饰,主要目的就是保证String是不可变(immutable)。不可变就是第二次给一个String 变量赋值的时候,不是在原内存地址上修改数据,而是重新指向一个新对象,新地址。下面看String类源码如何保证是不可变的:
public final class String implements java.io.Serializable, Comparable<String>, CharSequence { /** The value is used for character storage. */ private final char value[];参考资料: 【JAVA基础】String类为什么是final的.
4.谈谈你对final的理解? 修饰类,修饰方法,修饰变量。
5.接口可以有方法体吗? 可以有方法体,前提是使用default修饰,这个是1.8的新特性。
6.JDK的新特性? 自己去看吧 参考资料: 【JAVA基础】String类为什么是final的.
7.Java 的反射机制? 通过反射,该类对我们来说是完全透明的,想要获取任何东西都可以。
……未完待续
JVMJVM 主要从 内存划分,垃圾回收,JMM模型几个方面
1.JVM内存划分?
Redis1.redis的数据类型 字符串,有序集合,无需集合,Hash,列表
2.redis的数据结构 注意两者的区别,一个是类型,一个是结构;底层的数据结构大概有: SDS(Simple Dynamic String),链表,字典,跳跃表,整数集合,压缩列表。 3.redis持久化方案 RDB和AOF,这里简单说一下,目前的redis支持RDB和AOF混合的方式,4.0以后的版本,开启如下的配置,会生成一个混合的文件,
aof-use-rdb-preamble <vaule>4.redis的高可用实现 这样的问题无非就是几个回答,主从,哨兵,集群。这里的选择使用,结合自己公司的实际情况去考虑。 5.reids的主从 一个主服务器可以拥有多个从服务器,但是一个从服务器只能有一个主服务器。
2020最新Java面试题由讯客互联创业栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“2020最新Java面试题”