“你用过HashMap吗?” “什么是HashMap?你为什么用到它?” 几乎每个人都会回答“是的”,然后回答HashMap的一些特性,譬如HashMap可以接受null键值和值,而Hashtable则不能:HashMap是非synchronized;HashMap很快:以及HashMap储存的是键值对等等.这显示出你已经用过HashMap,而且对它相当的熟悉.但是面试官来个急转直下,从此刻开始问出一些刁钻的问题,关于HashMap的更多基础的细节.面试官可能会问出下面的问题:   “你知道Ha…
红色为检查异常,就是eclipse要提示你是try catch 还是throws. 非检查异常,就是/0,nullpointexception,数据越界访问indexOfOutBounds 异常 错误: 最常见的oom错误,还有classnotFoundeError,StackOverflowError : java异常处理面试题归纳 1.error和exception有什么区别 error表示系统级的错误,是java运行环境内部错误或者硬件问题,不能指望程序来处理这样的问题,除了退出运行外别无…
花了三天时间来仔细阅读hashMap的源码,期间补了下不少数据结构的知识,刷了不少相关的面试题并进行了整理 1.谈一下HashMap的特性? 1.HashMap存储键值对实现快速存取,允许为null.key值不可重复,若key值重复则覆盖. 2.非同步,线程不安全. 3.底层是hash表,不保证有序(比如插入的顺序) 2.谈一下HashMap的底层原理是什么? 基于hashing的原理,jdk8后采用数组+链表+红黑树的数据结构.我们通过put和get存储和获取对象.当我们给put()方法传递键…
本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下Star哈 文章首发于我的个人博客: www.how2playlife.com 本文参考 https://www.cnblogs.com/chenssy/p/3495238.html 在编写java程序中,我们最常用的除了八种基本数据类型,String对象外还有一个集合类,在我们的的程序中到处充斥着集合类的身…
1. 判断定义为String类型的s1和s2是否相等 String s1 = "ab"; String s2 = "abc"; String s3 = s1 + "c"; System.out.println(s3 == s2); //true System.out.println(s3.equals(s2)); //true 解答: false //s1是变量,s2与常量"c"相加 true 2. String与String…
1.HashMap底层是通过什么来实现的? 在JDK1.7中是通过数组+链表来实现的: 在JDK1.8中是通过数组+链表+红黑树来实现的 2.HashMap在JDK1.8中为什么使用红黑树? 为了弥补JDK1.7中会出现的单链表过长(默认size超过8即转为红黑树,也可自己设置),导致查询效率低的问题,使用红黑树替代长链表,优化了插入和查询的效率 3.HasMap中如果哈希值冲突怎么办? (1).再散列法:再次进行计算哈希值: (2).链表法:使当前entry<k,v>.next指向冲突的值:…
作为一名前端开发人员,HTML,HTML5以及网站优化都是必须掌握的技术,下面列举一下HTML, HTML5, 网站优化等常见的面试题: HTML常见面试题: 1. 什么是Semantic HTML(语义HTML)? Semantic HTML是一种编码风格, 它通过添加能够被计算器所理解的语义(Meta data),从而使HTML成为一个通用的信息交换媒介.在语义HTML中,<b></b>,<i></i>这类其中的内容不具有实际意义的标签是不应该被使用的,…
java常见面试题及答案 来源 https://blog.csdn.net/hsk256/article/details/49052293 来源 https://blog.csdn.net/hsk256/article/details/49104955 来源 https://blog.csdn.net/hsk256/article/details/49363271 java常见面试题及答案 1.什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”? Java 虚拟机是一个可以执行…
本文为 SnailClimb 的原创,目前已经收录自我开源的 JavaGuide 中(61.5 k Star![Java学习+面试指南] 一份涵盖大部分Java程序员所需要掌握的核心知识.觉得内容不错再 Star!). 另外推荐一篇原创:终极推荐!可能是最适合你的Java学习路线+方法+网站+书籍推荐! Java 并发进阶常见面试题总结 1. synchronized 关键字 1.1. 说一说自己对于 synchronized 关键字的了解 synchronized关键字解决的是多个线程之间访问…
Java面试炼金系列 (1) | 关于String类的常见面试题剖析 文章以及源代码已被收录到:https://github.com/mio4/Java-Gold 0x0 基础知识 1. '==' 运算符 Java中的数据类型分为基本数据类型和引用数据类型: 基本类型:编程语言中内置的最小粒度的数据类型.它包括四大类八种类型 4种整数类型:byte.short.int.long 2种浮点数类型:float.double 1种字符类型:char 1种布尔类型:boolean 引用类型:引用也叫句柄…