Java高级工程师常见面试题

2017年02月17日 12:46:00

阅读数:17280

一、Java基础

1. String类为什么是final的。

1.线程安全2.支持字符串常量池数据共享,节省资源,提高效率(因为如果已经存在这个常量便不会再创建,直接拿来用)

2. HashMap的源码,实现原理,底层结构。

总的来说,HashMap就是数组+链表(哈希表或者散列函数)的组合实现,每个数组元素存储一个链表的头结点,本质上来说是哈希表“拉链法”的实现。

HashMap的链表元素对应的是一个静态内部类Entry,Entry主要包含key,value,next三个元素

主要有put和get方法,put的原理是,通过hash&length-1计算index,此时记作Entry[index]=该元素。如果index相同

就是新入的元素放置到Entry[index],原先的元素记作Entry[index].next

get就比较简单了,先遍历数组,再遍历链表元素。

null key总是放在Entry数组的第一个元素(允许存放一个空键值对的原因)

解决hash冲突的方法:链地址法

再散列rehash的过程:确定容量超过目前哈希表的容量,重新调整table 的容量大小,当超过容量的最大值时

HashMap的容量size乘以负载因子[默认0.75] = threshold 将会触发扩容

Java高级工程师常见面试题(答案)相关推荐

  1. Java高级工程师常见面试题

    一.Java基础 1. String类为什么是final的. 2. HashMap的源码,实现原理,底层结构. 3. 说说你知道的几个Java集合类:list.set.queue.map实现类咯... ...

  2. Java常见面试题 + 答案

    Java常见面试题 + 答案 一.Java 基础 二.容器 三.多线程 四.反射 五.对象拷贝 六.Java Web 七.异常 八.网络 九.设计模式 十.Spring / Spring MVC 十一 ...

  3. Java开发常见面试题详解(LockSupport,AQS,Spring循环依赖,Redis)_3

    Java开发常见面试题详解(LockSupport,AQS,Spring循环依赖,Redis)_3 总览 问题 详解 String.intern()的作用 link LeetCode的Two Sum题 ...

  4. Java基础常见面试题(一)

    Java基础常见面试题(一) 1. 为什么说 Java 语言"编译与解释并存"? 我们可以将高级编程语言按照程序的执行方式分为两种: 编译型 :编译型语言会通过编译器将源代码一次性 ...

  5. Java工程师常见面试题集锦

    Java工程师常见面试题集锦(一)互联网人必看!(附答案及视频教程,持续更新) 2019年01月02日 14:01:14 CSDNedu 阅读数:653 大牛也怕面试题,尤其是基础题,在面试中如果出现 ...

  6. java陷阱常见面试题_Java常见陷阱

    java陷阱常见面试题 总览 Java是一种极简主义的语言,具有比其他语言故意更少的功能,尽管如此,Java仍然具有产生奇怪效果的边缘情况,甚至具有令人惊讶的效果的一些常见情况也会使您轻而易举. 如果 ...

  7. Java开发常见面试题详解(JVM)_2

    Java开发常见面试题详解(JVM)_2 JVM 问题 详解 JVM垃圾回收的时候如何确定垃圾?是否知道什么是GC Roots link 你说你做过JVM调优和参数配置,请问如何盘点查看JVM系统默认 ...

  8. Java多线程常见面试题及答案汇总1000道(春招+秋招+社招)

    Java多线程面试题以及答案整理[最新版]Java多线程高级面试题大全(2021版),发现网上很多Java多线程面试题都没有答案,所以花了很长时间搜集,本套Java多线程面试题大全,汇总了大量经典的J ...

  9. Java虚拟机常见面试题

    2019独角兽企业重金招聘Python工程师标准>>> 1.java引用的四种状态 强引用.软引用.弱引用.虚引用. 强引用 new一个Object存放在堆内存,然后用一个引用指向它 ...

  10. 合肥Java面试常考题_北大青鸟java 面试--常见面试题(中)

    上一文中,我们总结了java面试的基础,多线程,jvm的常见面试题,本文合肥北大青鸟合工大校区的袁老师继续介绍面试中网络.数据结构和算法.分布式理论和微服务的常见面试题. 一.网络 网络的话,主要集中 ...

最新文章

  1. java aop性能检测_Spring AOP 性能监控器
  2. postgres 显示变量_sql - 如何在PostgreSQL查询中声明变量
  3. 鸡啄米vc++2010系列40(文档、视图和框架:分割窗口)
  4. Vaadin和DukeScript中的Hello World
  5. Stimulsoft reports .net中创建变量
  6. BigDecimal的加减乘除
  7. Javascript:一些基本语法
  8. loop在python中什么意思_在python中使用loop打开多个文件
  9. java中static修饰函数_详解java中static关键词的作用
  10. spring 中事物的说明
  11. Unity 制作艺术字 BMFont
  12. python爬取去哪儿网机票_5元机票?去哪儿网及深航回应:未发现售价5元的机票订单...
  13. 项目经理之项目的投资回报率
  14. UE4 如何解决摄像头移动毛边问题
  15. 微信摇一摇抽奖的H5制作思路
  16. DRILL(Sigcomm'17)阅读笔记
  17. 轻量化后台管理HTML设计页面
  18. 国密算法TF32A09硬件加密芯片
  19. mapreduce填空式编程
  20. Centos设置IP地址方法

热门文章

  1. unity通过服务器地址下载文件
  2. PhpStorm 配置 Git 教程
  3. 基于SSM开发智夫子在线考试系统
  4. java项目新东方在线源码_[VIP源码]【S019】SSM框架开发智夫子在线考试系统项目源码 百度云盘...
  5. Microsoft Dips Its Toe Into The iPhone With Seadragon Mobile
  6. Selenium IDE 下载及安装
  7. Linux Vim编辑器的基本使用
  8. FAST_ICA MTALAB工具包下载/ICA分析/独立成分分析MATLAB安装包/ICA toolbox
  9. android游戏菜鸟教程,菜鸟教程app
  10. Markdown 文档生成 PDF