Mar9th 海尔java面试

  • java基本数据类型
  • 抽象类和接口的区别
  • HashMap扩容机制
    • 什么时候触发扩容?
    • jdk7的扩容机制
    • jdk8的扩容机制
  • ArrayList,LinkedList
  • Innodb表锁,行锁
  • Mysql隔离级别
  • B+树,索引类型
  • IOC AOP

java基本数据类型

int short long double float boolean char byte

public class Learn1 {static double d;static long l;static float f;static int i;static short s;static char c;static byte b;static boolean bool;public static void main(String[] args) {//8字节System.out.println(Double.SIZE / 8);//8字节System.out.println(Long.SIZE / 8);//4字节System.out.println(Float.SIZE / 8);//4字节System.out.println(Integer.SIZE / 8);//2字节System.out.println(Short.SIZE / 8);//2字节System.out.println(Character.SIZE / 8);//1字节System.out.println(Byte.SIZE / 8);//1比特System.out.println(Boolean.FALSE);//0.0System.out.println(d);//0LSystem.out.println(l);//0.0fSystem.out.println(f);//0System.out.println(i);//0System.out.println(s);//""System.out.println(c);//0System.out.println(b);//falseSystem.out.println(bool);}
}

抽象类和接口的区别

  1. 抽象类可以有构造方法,接口中不能有构造方法。

  2. 抽象类中可以有普通成员变量,接口中没有普通成员变量

  3. 抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽象的普通方法。

  4. 抽象类中的抽象方法的访问类型可以是public,protected和默认类型,但接口中的抽象方法只能是public类型的,并且默认即为public abstract类型。

  5. 抽象类中可以包含静态方法,接口中不能包含静态方法

  6. 抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static final类型,并且默认即为public static final类型。

  7. 一个类可以实现多个接口,但只能继承一个抽象类。

HashMap扩容机制

  • capacity 即(数组大小)容量,默认16。
  • loadFactor 加载因子,默认是0.75
  • threshold 阈值。阈值=容量*加载因子。默认12。当元素数量超过阈值时便会触发扩容。

什么时候触发扩容?

一般情况下,当元素数量超过阈值时便会触发扩容。每次扩容的容量都是之前容量的2倍。
HashMap的容量是有上限的,必须小于1<<30,即1073741824。如果容量超出了这个数,则不再增长,且阈值会被设置为Integer.MAX_VALUE,即永远不会超出阈值了。

jdk7的扩容机制

JDK7的扩容机制相对简单,有以下特性:

  • 空参数的构造函数:以默认容量、默认负载因子、默认阈值初始化数组。内部数组是空数组。
  • 有参构造函数:根据参数确定容量、负载因子、阈值等。
  • 第一次put时会初始化数组,其容量变为不小于指定容量的2的幂数。然后根据负载因子确定阈值。
  • 如果不是第一次扩容,则 新容量=旧容量*2, 新阈值=新容量*加载因子 。

jdk8的扩容机制

JDK8的扩容做了许多调整。
HashMap的容量变化通常存在以下几种情况:

  • 空参数的构造函数:实例化的HashMap默认内部数组是null,即没有实例化。第一次调用put方法时,则会开始第一次初始化扩容,长度为16。
  • 有参构造函数:用于指定容量。会根据指定的正整数找到不小于指定容量的2的幂数,将这个数设置赋值给阈值(threshold)。第一次调用put方法时,会将阈值赋值给容量,然后让 阈值=负载因子*容量 。(因此并不是我们手动指定了容量就一定不会触发扩容,超过阈值后一样会扩容!!)
  • 如果不是第一次扩容,则容量变为原来的2倍,阈值也变为原来的2倍。(容量和阈值都变为原来的2倍时,负载因子还是不变)
    此外还有几个细节需要注意:

首次put时,先会触发扩容(算是初始化),然后存入数据,然后判断是否需要扩容;
不是首次put,则不再初始化,直接存入数据,然后判断是否需要扩容;

ArrayList,LinkedList

频繁删除用linkedlist

Innodb表锁,行锁

Mysql隔离级别

未提交读(Read uncommitted)

已提交度(Read committed)

可重复读(Repeatable read)

可序列化(Serializable)

B+树,索引类型

IOC AOP

Mar9th 海尔java面试相关推荐

  1. java面试常见问题之Hibernate总结

    1  Hibernate的检索方式 Ø  导航对象图检索(根据已经加载的对象,导航到其他对象.) Ø  OID检索(按照对象的OID来检索对象.) Ø  HQL检索(使用面向对象的HQL查询语言.) ...

  2. 2021年Java面试题目最新总结【90%面试会踩的坑】

    学会java技术之后大家面临的最多的问题就是面试这关,求职面试java岗位是否能够成功是直接影响我们的工作机会的,所以对于Java程序员面试你准备好了吗?今天小编汇总了一下关于Java程序员面试,90 ...

  3. Github 一夜爆火:这份金九银十 Java 面试手册我给跪了

    这几天给筒子们整理了一份<Java面试手册>,106页,目前大约6万字左右,初衷也很简单,就是希望在面试的时候能够帮助到大家,减轻大家的负担和节省时间. 废话不多说,本手册目前为第一版,后 ...

  4. Java面试参考指南(二)

    2019独角兽企业重金招聘Python工程师标准>>> 访问修饰符 对于基本的OOPS(面向对象)概念,请看Java面试参考指南的第一部分.访问修饰符规定了一个类如何访问另一个类及它 ...

  5. 卧槽,又一个Java面试神器!!!

    临近秋招,又到了"金九银十"面试求职高峰期,在金三银四时也参与过不少面试,2020都说工作不好找,也是对开发人员的要求变高.前段时间自己有整理了一些Java后端开发面试常问的高频考 ...

  6. 200 道 Java 面试题解!某阿里 P7 只答上来 70%!

    最近,经常有读者朋友们在后台给我留言,问我有没有什么面试资料可以分享的,因为之前一直比较忙,所以没有时间整理. 最近终于抽出一些时间,整理了一下,一发不可收拾了,一口气整理出好几本电子书出来.其中有一 ...

  7. 美团架构师开源5万字的《Java面试手册》PDF免费下载!

    美团一位架构师利用空余时间在github整理了一份<Java面试手册>,现整理成PDF,初衷也很简单,就是希望在面试的时候能够帮助到大家,减轻大家的负担和节省时间. 前两天,朋友圈分享了这 ...

  8. 5万字的《Java面试手册》V1.0版本,高清PDF免费获取

    利用空余时间整理了一份<Java面试手册>,初衷也很简单,就是希望在面试的时候能够帮助到大家,减轻大家的负担和节省时间. 前两天,朋友圈分享了这份这份面试手册的初稿,再几位同学的提议下,对 ...

  9. JAVA面试解析(有赞二面)

    作者:孤独烟 来自:打杂的ZRJ 本文的题目出自博客 http://www.54tianzhisheng.cn/2018/07/12/youzan/ 但是作者没有给出答案,博主斗胆来制作答案版. 也是 ...

  10. Java 面试,这样拿 Offer!

    (含答案) 所有面试资料及技术好文精选文档都整理到网盘了. Java面试官手册需要加微信免费领取 长按扫码或搜索微信号:gupao666666,免费领取

最新文章

  1. 电脑修改ip地址方法cmd_Mac系统如何创建用户群组?苹果电脑修改用户名方法
  2. 倒排索引统计与 Python 字典
  3. sql中ifnull不生效_数据科学家常见的5个SQL面试问题
  4. Python 图像处理 - 用PIL库提取图片中的颜色并展示为色谱实例演示,RGB颜色排序方法
  5. 得到INSERT和UPDATE中使用的值
  6. hbase 协处理器 部署_hbase中安装和删除observer协处理器
  7. eclipse 运行MapReduce程序错误异常汇总(解决Map not fount)
  8. 《Unity2018入门与实战》笔记(9 / 9):个人总结
  9. 闲置服务器 虚拟服务器,闲置主机搭建服务器
  10. ASP.NET的分页方法(一)
  11. ffmpeg打开音频设备
  12. 纯CSS实现的蓝色竖向导航代码
  13. 《老路用得上的商学课》61-65学习笔记
  14. ucserver admin.php,Discuz!X3.2 升级后【ucenter、uc_server密码正确无法登录后台的解决方法】...
  15. 设置selected选中的多种方法(总结)
  16. 红米k30s 至尊纪念版本看闪存型号 硬盘型号
  17. 在浏览器输入URL,按下回车之后的流程
  18. python编程考试_Python编程练习(一)
  19. Python破解WIFI密码完整源代码,实测可成功破解
  20. html 的函数写法,react中函数的不同写法的区别是什么?

热门文章

  1. 博弈论分析题_博弈论习题及参考答案
  2. 飞机大战php 源码,飞机大战资源素材及完整代码
  3. RS485通信原理图及程序实例详解
  4. 2021年中国无线通信模组企业排名
  5. 基于java+SpringBoot+HTML+Mysql社区管理系统(小区管理系统)
  6. Vue将汉字转为拼音,取出首字母
  7. MATLAB2017安装VLFeat
  8. 震旦adc225打印机连接计算机,震旦ADC225打印机驱动
  9. 人工智能学习思维导图
  10. 个人网页制作 大学生个人网页设计 个人网站模板 简单静态HTML个人网页作品 HTML+CSS+JavaScript