首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
java
订阅
hahalog
更多收藏集
微信扫码分享
微信
新浪微博
QQ
10篇文章 · 0订阅
Java HashMap原理及内部存储结构
本文将通过如下简单的代码来分析HashMap的内部数据结构的变化过程。 可以发现,Node其实是一个链表,通过next指向下一个元素。 记录了HashMap在结构上更改的次数,包括可以更改键值对数量的操作,例如put、remove,还有可以修改内部结构的操作,例如rehash。…
解读Java8中ConcurrentHashMap是如何保证线程安全的
HashMap是工作中使用频度非常高的一个K-V存储容器。在多线程环境下,使用HashMap是不安全的,可能产生各种非期望的结果。 针对HashMap在多线程环境下不安全这个问题,HashMap的作者认为这并不是bug,而是应该使用线程安全的HashMap。 其中,前两种方式由…
为什么接口里面的值必须是常量final且静态static
final:final修饰就是保证接口定义的常量不能被实现类去修改,如果没有final的话,由子类随意去修改的话,接口建立这个常量就没有意义了。 因为类可以被实例化,实例化的类的对象里面的变量就会被赋初始值。比如String是null, int是0,double是0.0。但是接…
面试:原来Redis常用的五种数据类型底层结构是这样的
在Redis中会涉及很多数据结构,比如SDS,双向链表、字典、压缩列表、整数集合等等。Redis会基于这些数据结构自定义一个对象系统,而且自定义的对象系统有很多好处。 通过对以下的Redis对象系统的学习,可以了解Redis设计原理以及初衷,为了我们在使用Redis的时候,更加…
探究final在java中的作用
一. final修饰变量 1. 基础: final修饰基本数据类型变量和引用数据类型变量. 相信大家都具备基本的常识: 被final修饰的变量是不能够被改变的. 但是这里的"不能够被改变"对于不同的数据类型是有不同的含义的. 当final修饰的是一个基本数据类型数据时, 这个数…
Java8 新特性——StreamAPI(一)
Java8 新特性——StreamAPI
Java几种常用JSON库性能比较
上一篇介绍了Java性能测试框架JMH的使用方法,本篇通过JMH来测试一下Java中几种常见的JSON解析库的性能。 每次都在网上看到别人说什么某某库性能是如何如何的好,碾压其他的库。但是百闻不如一见,只有自己亲手测试过的才是最值得相信的。 JSON不管是在Web开发还是服务器…
从jackson的使用和源码看程序设计
每隔一段时间,我会梳理一些平时经常用的类库源码。这次和大多数时候一样,我又选了一个简单的来看点源码。这次选的Jackson的ObjectMapper类源码。 为什么我要选简单的来看呢?因为提高技术知识只是问题的表面,根本是要提高自己认知问题、分析问题、解决问题的思想高度。研究的…
fastjson到底做错了什么?为什么会被频繁爆出漏洞?
fastjson大家一定都不陌生,这是阿里巴巴的开源一个JSON解析库,通常被用于将Java Bean和JSON 字符串之间进行转换。 前段时间,fastjson被爆出过多次存在漏洞,很多文章报道了这件事儿,并且给出了升级建议。 但是作为一个开发者,我更关注的是他为什么会频繁被…
Jackson使用详解
Jackson 是当前用的比较广泛的,用来序列化和反序列化 json 的 Java 的开源框架。Jackson 社区相对比较活跃,更新速度也比较快, 从 Github 中的统计来看,Jackson 是最流行的 json 解析器之一 。 Spring MVC 的默认 json 解…