当前位置: 首页 > news >正文

面试小结(一)

1、hashmap的底层设计原理以及扩容规则,是否线程安全,如何线程安全。

  • 底层原理:数组 + 链表 + 红黑树。HashMap 的底层实现是一个数组,数组中的每个元素是一个链表或红黑树(JDK 1.8 以后,当链表长度超过一定阈值时,链表会转换成红黑树)。
  • 扩容规则:HashMap 默认的初始容量是 16,扩容时,HashMap 的容量会扩大到原来的两倍。
  • 是否线程安全:HashMap 是非线程安全的。在多线程环境下,如果多个线程同时对 HashMap 进行操作,可能会导致不可预知的行为,比如数据丢失、数据不一致等。
  • 如何实现线程安全:使用 ConcurrentHashMap、使用读写锁、手动同步

2、八大基本数据类型以及长度

  1. byte:字节类型,用于表示有符号的8位整数。范围是 -128 到 127,默认值为 0,占用1个字节。

  2. short:短整型,用于表示有符号的16位整数。范围是 -2^15 到 2^15-1,默认值为 0,占用2个字节。

  3. int:整型,用于表示有符号的32位整数。范围是-2^31到 2^31-1,默认值为 0,占用4个字节。

  4. long:长整型,用于表示有符号的64位整数。范围是 -2^63 到 2^63 ,默认值为 0L,占用8个字节。

  5. float:浮点型,用于表示符合IEEE 754标准的单精度浮点数。占用4个字节。

  6. double:双精度浮点型,用于表示符合IEEE 754标准的双精度浮点数。占用8个字节。

  7. char:字符型,用于表示单个16位Unicode字符。范围是 '\u0000' 到 '\uffff',默认值为 '\u0000',占用2个字节。

  8. boolean:布尔型,用于表示逻辑上的真或假。在JVM内部,boolean类型通常使用int类型来实现,因此占用4个字节,但boolean数组在内存中是以位的形式存储的,每个boolean值占用1位。

3、多线程创建四种方式,以及callable和runnable的区别,如何获取返回值

多线程创建四种方式:继承 Thread 类、实现 Runnable 接口、实现callable接口、使用线程池

callable和runnable的区别:前者有返回值还可以抛异常,后者没有;落地方法不一样,一个是run,一个是call

如何获取 Callable 任务的返回值:Callable 实例包装在 FutureTask 中,然后将 FutureTask 对象作为线程的任务执行。通过调用 FutureTaskget 方法,可以获取 Callable 任务的返回值。

http://www.lryc.cn/news/490072.html

相关文章:

  • 笔试-笔记2
  • html5复习二
  • 大模型呼入机器人系统如何建设?
  • docker 部署 kvm 图形化管理工具 WebVirtMgr
  • 【Unity How】Unity中如何实现物体的匀速往返移动
  • Block Successive Upper Bound Minimization Method(BSUM)算法
  • 力扣2388. 将表中的空值更改为前一个值
  • 【从零开始的LeetCode-算法】3233. 统计不是特殊数字的数字数量
  • Redis配置主从架构、集群架构模式 redis主从架构配置 redis主从配置 redis主从架构 redis集群配置
  • 2024 APMCM亚太数学建模C题 - 宠物行业及相关产业的发展分析和策略 完整参考论文(2)
  • HTML实现 扫雷游戏
  • day03(单片机高级)RTOS
  • 【mongodb】社区版8:改变配置bindip和授权
  • 泥石流灾害风险评估与模拟丨AI与R语言、ArcGIS、HECRAS融合,提升泥石流灾害风险预测的精度和准确性
  • 一线大厂面试集锦
  • 界面控件DevExpress Blazor UI v24.1新版亮点:发布全新文件输入等组件
  • ssm面向品牌会员的在线商城小程序
  • Vue 3 自定义插件开发
  • 使用最小花费爬楼梯(DP)
  • 【Ubuntu】如何在Ubuntu系统中查看端口是否可用
  • Hive基础面试-如何理解复用率的
  • Go 常量为什么只支持基本数据类型?
  • DatePicker 日期选择器的使用(当日、近一周、近一月...)
  • 【H2O2|全栈】JS进阶知识(六)ES6(2)
  • 聊聊主流几个JDK版本:JDK 8、JDK 11、JDK 17 和 JDK 21 的区别
  • MFC工控项目实例三十二模拟量校正值添加修改删除
  • 力扣第 60 题 “第 k 个排列”
  • 国际环境和背景下的云计算领域
  • logstash 解析数组格式json数据:split, json
  • Linux的开发工具(二)