2020最新Java面试题
2020最新Java面试题
- 序
- Java基础
- JVM
- Redis
序
研发了这么多年,每天都在搬砖,斗转星移,从一个被面试者,成为了一个面试者。总感觉自己在面试的时候提出的问题没有一个由浅入深的感觉,总是东一个问题,西一个问题的,所以整理一些面试问题,首先是给自己扫盲,丰富自己的技术栈。其次作为一个下次被面试的准备。
如果文章有错误,希望指正。
将围绕下图进行面试题总结和整理:
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 propertyint 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_VALUEh = 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 Stringimplements 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 的反射机制?
通过反射,该类对我们来说是完全透明的,想要获取任何东西都可以。
……未完待续
JVM
JVM 主要从 内存划分,垃圾回收,JMM模型几个方面
1.JVM内存划分?
Redis
1.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面试题大全,赶紧收藏吧!
发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~ 本套Java面试题大全,全的不能再全,哈哈~ 一.Java 基础 1. JDK 和 J ...
- [转载] 2020最新Java面试题,常见面试题及答案汇总
参考链接: Java程序的输出| 18(重写Override) 发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~ 博主已将以下这些面试题 ...
- 2020最新java面试题库(杭州)
目 录 1.常见的集合有哪些?都有什么区别: 1 2.HashMap的底层原理: 1 3.sleep和wait的区别 1 4.run方法和start方法的区别: 1 5.Threadlocad的作用: ...
- 2020最新Java面试题总结
前言 这篇文章是想记录自己看到的面试题,然后做个总结.不仅仅帮助到我,也希望可以帮助到大家.有疑问可以联系我. Java基础 1.八种基本数据类型的大小,以及他们的封装类 基本类型 大小(字节) 默认 ...
- 2020最新Java面试题(java,JavaWeb,数据库,框架),常见面试题及答案汇总
1.面试题模块汇总 面试题包括以下十九个模块:Java 基础.容器.多线程.反射.对象拷贝.Java Web 模块.异常.网络.设计模式.Spring/Spring MVC.Spring Boot/S ...
- 2020 最新java面试题附答案
以下面试题为个人在面试过程中所遇到的,仅供参考!如有错误,望指出. 1.servlet执行流程 客户端发出http请求,web服务器将请求转发到servlet容器,servlet容器解析url并根据w ...
- 肝了一个月,整理了一万道2020年最新Java面试题,阿里offer有了
肝了一个月的面试题终于来啦,大家开心不. 2020年最新Java面试题整理,全网最全一份,包含各个技术栈,Java基础,Java集合,多线程,Java异常,spring,spring MVC,spri ...
- 2020最新Java集合面试题
2020最新Java集合面试题 1.ArrayList和linkedList的区别 Array(数组)是基于索引**(index)**的数据结构,它使用索引在数组中搜索和读取数据是很快的. Array ...
- 最新Java面试题2021年,常见面试题及答案汇总
2021最新Java面试题[附答案解析]java面试题及答案2021,java2021最新面试题及答案汇总,2021最Java面试题新答案已经全部更新完了,有些答案是自己总结的,也有些答案是在网上搜集 ...
最新文章
- 别上当!这些都是5G假项目!
- python布尔类型运算_Python中与或非运算(布尔运算)
- App推荐 | Google Tasks
- [poj] 2749 building roads
- python使用ffmpeg截取视频段
- 2.JAVA-基础语法以及String的介绍
- python演化博弈仿真_基于matlab的演化博弈模型求解代码?
- EasyCVR调用Ehome协议接入的硬盘录像机设备录像无法播放,如何处理?
- 机器人系统常用仿真软件工具介绍、效果与评价指标(2018年更新)
- 龙芯计算机价格,龙芯电脑目标售价有望逼近1000元
- 正则表达式系列:匹配正数、负数和小数 (正负整数)
- 自学python一年开发, 最后还是转型成为java工程师!
- 基于单片机的6位电子时钟
- Python 最近两条好消息:①TIOBE排名超过C和Java②新版本发布3.10.0,还有今天刚发布的《What’s New in Python(2021.10.15)》
- 解决package jdk1.8-2000:1.8.0_171-fcs.x86_64 is already installed问题
- java 线程池技术_JAVA36计之---线程池技术
- PDM与MRPII应用原理[转]
- V8引擎-js执行原理
- Wedding Implementation Guide Document
- 下拉选框样式html,超酷select选择下拉框美化jQuery插件