Wesley13 Wesley13
3年前
java集合系列之HashMap源码
java集合系列之HashMap源码HashMap的源码可真不好消化!!!首先简单介绍一下HashMap集合的特点。HashMap存放键值对,键值对封装在Node(代码如下,比较简单,不再介绍)节点中,Node节点实现了Map.Entry。存放的键值对的键不可重复。jdk1.8后,HashMap底层采用的是数组加链表、红黑树的数据结构,因此实现起
Wesley13 Wesley13
3年前
Java 泛型
命名类型参数推荐的命名约定是使用大写的单个字母名称作为类型参数。这与C约定有所不同(参阅附录A:与C模板的比较),并反映了大多数泛型类将具有少量类型参数的假定。对于常见的泛型模式,推荐的名称是:K——键,比如映射的键。V——值,比如List和Set的内容,或者Map中的值。E
Easter79 Easter79
3年前
SpringBoot中Redis的set、map、list、value、实体类等基本操作介绍
今天给大家介绍一下SpringBoot中Redis的set、map、list、value等基本操作的具体使用方法想学习分布式、微服务、JVM、多线程、架构、java、python的童鞋,千万不要扫码,否则后果自负~上一节中给大家介绍了如何在SpringBoot中搭建Redis缓存数据库,这一节就针对于Redis的具体操作进行介绍
可莉 可莉
3年前
10亿个数中找出最大的10000个数(top K问题)
这个问题还是建立最小堆比较好一些。    先拿10000个数建堆,然后一次添加剩余元素,如果大于堆顶的数(10000中最小的),将这个数替换堆顶,并调整结构使之仍然是一个最小堆,这样,遍历完后,堆中的10000个数就是所需的最大的10000个。建堆时间复杂度是O(mlogm),算法(https://www.oschina.net/action
Stella981 Stella981
3年前
Android Looper,Handler,Message分析
LooperLooper的构造方法是private的,不可以在外部生成Looper的实例.最重要的几个变量:ThreadLocal :静态的,保存所有线程及其所关联的Looper实例.可以理解为这是一个Map,保存了线程\Looper的所有键值对.这里可以获取到所有的线程及其关联的Looper对象.当我们需要生成一个支持消息循环特性的
Stella981 Stella981
3年前
SpringBoot中Redis的set、map、list、value、实体类等基本操作介绍
今天给大家介绍一下SpringBoot中Redis的set、map、list、value等基本操作的具体使用方法想学习分布式、微服务、JVM、多线程、架构、java、python的童鞋,千万不要扫码,否则后果自负~上一节中给大家介绍了如何在SpringBoot中搭建Redis缓存数据库,这一节就针对于Redis的具体操作进行介绍
Stella981 Stella981
3年前
Linux远程ssh设置expect自动填写密码验证
我们需要远程登录服务器,登陆的同时呢执行find命令获取一个时间段内的文件名,并将他们通过rsync下载到本地。因为要跳过已经下载好的目录,scp命令就不够用了,这里用了rsync。因为这里find命令只是获取文件名方便后续下载而已,所以设置find的参数maxdepth1来设置扫描深度,防止遍历子文件夹。同时为了防止根目录也输出,我们设置f
Stella981 Stella981
3年前
HashMap 源码阅读
前言  之前读过一些类的源码,近来发现都忘了,再读一遍整理记录一下。这次读的是JDK11的代码,贴上来的源码会去掉大部分的注释,也会加上一些自己的理解。Map接口  !(https://oscimg.oschina.net/oscnet/88f72cb45832ae45bcf0f56828ead245e60.pn
Stella981 Stella981
3年前
Linux中mmap函数使用
一、前言除了标准的文件IO,例如open,read,write,内核还提供接口运行应用将文件map到内存,使得内存中的一个字节与文件中的一个字节一一对应。这就是今天要说的mmap,它在android中的用处非常多,比如binder,还有腾讯的开源的IO框架MMKV(https://www.oschina.net/actio
Wesley13 Wesley13
3年前
Java 中 10 大坑爹功能!
今天我们就来聊一下Java中的10大坑爹功能,它们分别是:1.switch必须加上break才结束2.逻辑运算符的“短路”现象3.数组下标从零开始4.ArrayList遍历删除时报错5.字符转成数字的坑6.while循环体的“障眼法”7.Integer类有缓存8.空方法体导致死循环9.神奇的10.Java注