首页
学习
活动
专区
工具
TVP
发布

会呼吸的Coder

专栏作者
146
文章
149016
阅读量
27
订阅数
HashMap详解之Put源码解析
当我们put的时候,首先计算Key的hash值,这里调用了hash方法,hash方法实际是让key.hashCode()与key.hashCode()>>>16进行异或操作,高16bit补0,一个数和0异或不变,所以hash函数的一个作用是,高16位不变,低16位和高16位做一个异或,目的是减少碰撞,按照源码中的注释,因为bucket数据大小是2的幂,计算index=(table.length-1)&hash,如果不做hash处理,相当于散列生效的只有几个低bit位,为了减少散列的碰撞,所以使用高16bit和低16bit异或处理来减少碰撞。
会呼吸的Coder
2023-03-03
3190
十分钟搞懂Java限流及常见方案
上面两个维度结合起来看,限流就是在某个时间窗口对资源访问做限制,比如设定每秒最多100个访问请求。但在真正的场景里,我们不止设置一种限流规则,而是会设置多个限流规则共同作用,主要的几种限流规则如下:
会呼吸的Coder
2023-03-03
8840
一文详解JMM(Java 内存模型)
要想要理解透彻JMM(Java内存模型),首先我们要从CPU缓存模型和指令重排序讲起!
会呼吸的Coder
2022-12-02
5360
怒怼面试官|你真的懂Redis吗?
Redis的复制功能是支持多个数据库之间的数据同步。主数据库可以进行读写操作,当主数据库的数据发生变化时会自动将数据同步到从数据库。从数据库一般是只读的,它会接收主数据库同步过来的数据。 下面是主从复制的原理:
会呼吸的Coder
2022-12-02
3640
怒怼面试官|别在问我JAVA List了
可以看到,在graw方法里面进行扩容,将数组容量扩大为原来的1.5倍。 举个例子,如果初始化的值是8,当添加第9个元素的时候,发现数组空间不够,就会进行扩容,扩容之后容量为12. 扩容之后,会调用Arrays.copyOf()方法对数组进行copy。
会呼吸的Coder
2022-12-02
1930
详解ConcurrentHashMap
concurrentHashMap是一个支持高并发更新与查询的哈希表(基于HashMap)。
会呼吸的Coder
2022-12-02
6350
从JDK源码级别彻底刨析JVM类加载机制
“ 当我们用java命令运行某个类的main函数启动程序时,大家有没有想过是怎样加载的,本文将带着大家一起探讨JVM类的加载机制”
会呼吸的Coder
2022-06-13
2280
Intellij IDEA 高效使用教程
实体类中的get/set/构造/toString/hashCode等方法,都不需要我们再手动写了
会呼吸的Coder
2021-12-09
3300
SpringMVC:如何保证Controller的并发安全?
单例模式(Singleton)是程序设计中一种非常重要的设计模式,设计模式也是Java面试重点考察的一个方面。面试经常会问到的一个问题是:SpringMVC中的Controller是单例还是多例,很多同学可能会想当然认为Controller是多例,其实不然。
会呼吸的Coder
2021-10-14
1.4K0
微软低调发布Visual Studio Code for the Web预览
根据外媒 The Register 的报道,微软在一篇已删除(估计是发布早了)的文章中宣布了 Visual Studio Code for the Web 的公共预览版本。
会呼吸的Coder
2021-09-24
8500
HashMap 的7种遍历方式
除了 Stream 的并行循环,其他几种遍历方法的性能差别不大,但从简洁性和优雅性上来看,Lambda 和 Stream 无疑是最适合的遍历方式。
会呼吸的Coder
2021-04-07
3420
第4天:核心概念之广播与累加器
广播类型变量用于跨所有节点保存数据副本。此变量缓存在所有Spark节点的机器上,而不仅仅是在执行任务的节点上保存。以下示例代码是PySpark中广播类的结构:
会呼吸的Coder
2021-03-16
5360
Spring高频面试题:如何解决循环依赖问题!
那Spring到底是如何解决的setter方法依赖注入引起的循环依赖问题呢?请看下图(其实主要是通过两个缓存来解决的):
会呼吸的Coder
2020-11-26
3.9K0
什么情况用ArrayList or LinkedList呢?
ArrayList 和 LinkedList 是 Java 集合框架中用来存储对象引用列表的两个类。ArrayList 和 LinkedList 都实现 List 接口。先对List做一个简单的了解:
会呼吸的Coder
2020-08-19
5130
mybatis面试题总结
1、#{}和${}的区别是什么? 在mybatis配置中,我们经常使用#{}和{}就是这种情况,这种可能会造成sql注入,#{}对应着就是预处理的"?",所以两种都可以使用的时候推荐#{}。 2、My
会呼吸的Coder
2020-07-14
8960
深度分析:Java类加载机制和类加载器
所谓类加载机制就是JVM虚拟机把Class文件加载到内存,并对数据进行校验,转换解析和初始化,形成虚拟机可以直接使用的Jav类型,即Java.lang.Class。
会呼吸的Coder
2020-07-03
6410
spring相关面试题
是基本的Spring模块,提供spring框架的基本功能。BeanFactory是任何以spring为基础的应用的核心。Spring框架建立在此模块之上,它使Spring成为一个容器
会呼吸的Coder
2020-06-19
6450
一个案例掌握深度学习
人工智能越来越火,甚至成了日常生活无处不在的要素。人工智能是什么?深度学习、机器学习又与人工智能有什么关系?作为开发者如何进入人工智能领域?
会呼吸的Coder
2020-02-19
5660
几百万数据放入内存不会把系统撑爆吗?
在公司有一个需求是要核对一批数据,之前的做法是直接用SQL各种复杂操作给怼出来的,不仅时间慢,而且后期也不好维护,就算原作者来了过一个月估计也忘了SQL什么意思了,于是有一次我就想着问一下之前做这个需求的人为什么不将这些数据查出来后在内存里面做筛选呢?直接说了你不怕把内存给撑爆吗?此核算服务器是单独的服务器,配置是四核八G的,配置堆的大小是4G。本着怀疑的精神,就想要弄清楚几百万条数据真的放入内存的话会占用多少内存呢?
会呼吸的Coder
2020-02-17
7370
Go教程第八篇:Array和Slice
数组是同一类型的元素的集合,比如,5,8,9,79,76是一组整型,他们就可以组成一个数组。在Go中不同类型的值不允许放入到同一个数组中。
会呼吸的Coder
2020-02-17
6440
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档