文章 2022-02-17 来自:开发者社区

和阿里面试官对线,多亏看完这篇HashSet源码解析

0 前言HashSet 是一个没有重复元素的集合.主要由 HashMap 实现,不保证元素顺序,而允许 null 元素.非线程安全,如果需要安全请自行加锁,或者使用 Collections.synchronizedSet包装.最好在创建时完成这一操作,以防止对该 set 进行意外的不同步访问.1 继承体系HashSet继承自AbstractSet,并且实现了Set接口.HashSet的本质是一个....

和阿里面试官对线,多亏看完这篇HashSet源码解析
文章 2022-02-17 来自:开发者社区

字节面试官问我,HashMap 的源码看过吗?我???(2)

02、HashMap 的 hash 算法Hash,一般译作“散列”,也有直接音译为“哈希”的,这玩意什么意思呢?就是把任意长度的数据通过一种算法映射到固定长度的域上(散列值)。再直观一点,就是对一串数据 wang 进行杂糅,输出另外一段固定长度的数据 er——作为数据 wang 的特征。我们通常用一串指纹来映射某一个人,别小瞧手指头那么大点的指纹,在你所处的范围内很难找出第二个和你相同的(人的散....

字节面试官问我,HashMap 的源码看过吗?我???(2)
文章 2022-02-17 来自:开发者社区

面试官:讲讲Redis的五大数据类型?如何使用?(内含完整测试源码)

关于Redis在正式分析题目的问题之前,我们先来聊聊Redis的基础知识。基于键值对的存储系统 :字典形式。五种数据结构:字符串(String),Hash(字典),列表(List),集合(Set),有序集合(Sorted Set)。Redis大部分时间用来做缓存,因为速度快(内存数据库,单线程,单进程,Redis 6.0支持多线程,后面我们会详细讲Redis 6.0的新特性 )。Redis的使用....

面试官:讲讲Redis的五大数据类型?如何使用?(内含完整测试源码)
文章 2022-02-17 来自:开发者社区

面试官问我:看过sharding-jdbc的源码吗?我吧啦吧啦说了一通!!

sharding-jdbc经典用法Sharding-Jdbc 是一个轻量级的分库分表框架,使用时最关键的是配制分库分表策略,其余的和使用普通的 MySQL 驱动一样,几乎不用改代码。例如下面的代码片段。try(DataSource dataSource = ShardingDataSourceFactory.createDataSource( createDataSourceMap()...

面试官问我:看过sharding-jdbc的源码吗?我吧啦吧啦说了一通!!
文章 2022-02-17 来自:开发者社区

夯实Java基础系列3:一文搞懂String常见面试题,从基础到实战,更有原理分析和源码解析!

目录 string基础 Java String 类 创建字符串 StringDemo.java 文件代码: String基本用法 创建String对象的常用方法 String中常用的方法,用法如图所示,具体问度娘 三个方法的使用: lenth() substring() charAt() 字符串与byte数组间的相互转换 ==运算符和equals之间的区别: 字符串的不可变...

夯实Java基础系列3:一文搞懂String常见面试题,从基础到实战,更有原理分析和源码解析!
文章 2022-02-17 来自:开发者社区

经典面试题SALES TAXES思路分析和源码分享

题目: SALES TAXES Basic sales tax is applicable at a rate of 10% on all goods, except books, food, and medical products that are exempt. Import duty is an additional sales tax 除书籍 食品 药品外其他商品基本税为10%。...

文章 2021-12-23 来自:开发者社区

解决了一个小问题——读源码真的只是为了应付面试?

     大家好,我是解决一个bug,产生三个bug的程序员,所以大家都叫我三bug。前一阵子我又解决了一个bug,看看是什么情况吧!问题现场我正在愉快地写bug,写完之后测bug,结果发现了一个bug:java.sql.SQLException: xxxx : Column 'status' not found in any table 我们的ORM框架使用的是M....

解决了一个小问题——读源码真的只是为了应付面试?
文章 2021-12-21 来自:开发者社区

阿里P8架构师教你Netty源码面试解析实战(二)- 基本组件(下)

3.3 ByteBuf3.4 Pipelinenetty 将其抽象成逻辑链,看看 netty 是怎么把每个 pipeline 加入到客户端连接的3.5 ChannelHandler

阿里P8架构师教你Netty源码面试解析实战(二)- 基本组件(下)
文章 2021-12-21 来自:开发者社区

面试Java后端却问我时间轮算法,面试官没想到我看过Dubbo源码!(下)

HashedWheelTimerTimer 接口的实现,通过时间轮算法实现了一个定时器。职能根据当前时间轮指针选定对应 HashedWheelBucket 槽,从链表头部开始迭代,计算每个 HashedWheelTimeout 定时任务:属于当前时钟周期则取出运行不属于则将其剩余的时钟周期数减一核心域workerState时间轮当前所处状态,三个可选值,由 AtomicIntegerFieldU....

面试Java后端却问我时间轮算法,面试官没想到我看过Dubbo源码!(下)
文章 2021-12-21 来自:开发者社区

面试Java后端却问我时间轮算法,面试官没想到我看过Dubbo源码!(中)

核心字段prev、next。通过双向链表被用来在HashedWheelTimerBucket链timeouts(定时任务),由于只在WorkerThread上行动,没有必要进行同步/volatile。task,实际被调度的任务deadline,定时任务执行的时间。在创建 HashedWheelTimeout 时指定计算公式:currentTime(创建 HashedWheelTimeout 的时....

面试Java后端却问我时间轮算法,面试官没想到我看过Dubbo源码!(中)

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

Java面试那些事儿

手把手带您学习Java,开启编程之路。

+关注