1.promise常用方法 Promise.all() Promise.race() Promise.resolve() Promise.reject() Promise.prototype.catch() Promise.prototype.finally() Promise.prototype.
HashSet是采用哈希算法实现底层实际是用HashMap实现的(HashSet本质就是一个简化版的HashMap),因此,查询效率和增删效率都比较高。我们来看一下HashSet的源码: 我们发现里面有个map属性,这就是HashSet的核心秘密。我们再看add()方法,发现增加一个元素说白了就是 ...
转载 2021-09-21 20:47:00
163阅读
2评论
go:1.16 type hchan struct { qcount uint // chan里的元素数量 dataqsiz uint // chan底层循环数组长度 buf unsafe.Pointer // 指向底层循环数组指针,只针对有缓冲的channel elemsize uint16 // ...
转载 2021-08-31 17:35:00
62阅读
2评论
Synchronized 底层实现涉及到锁升级的概念。由偏向锁,升级为轻量锁(自旋锁/适应性自旋锁),再升级为重量级锁。 Synchronized 的底层实现与用的是什么版本的 HotSpot 有关,这里以 OpenJdk 1.8 为例。 偏向锁 如果当前 Synchronized 修饰的代码,只有 ...
转载 2021-08-10 10:24:00
105阅读
2评论
先放张图: 一、先来回忆下我的面试过程 问:“你用过HashMap,你能跟我说说它吗?” 答:“用过,HashMap是一种<key,value>的存储结构,能够快速将key的数据put方式存储起来,然后很快的通过get取出来”,然后说“HashMap不是线程安全的,HashTable是线程安全的,通
 在JQuery中,可用通过使用$.ajax(),$.get(),$.post()方式实现异步请求,这些方法可以不带任何参数做请求,返回一个xmlhttprequest对象, 传递给回调函数来做处理。但通常情况下,可以通过对一些具体参数的设置来对请求过程的灵活控制和对请求结果进行处理。 详细请求过程和参数设置:   $.ajax({   &
原创 2012-12-25 22:18:36
765阅读
Thinking in Java之Set接口、HashSet源码学习   文章主要讨论Set接口的设计、以及Set接口的一个实现类HashSet的设计细节。对于他们的思考,同样是基于源码学习的。Set接口设计通过阅读API和源码我们可以知道Java中的Set和数学行直观的“集”的概念是相同的。Set的最大特点也就是不允许在其中放入重复的元素。Set集合最多只能包含一个null元素。至于这
转载 精选 2015-05-06 14:12:01
846阅读
1.JVM内存模型先上图,先上图,先上图!!!想必大家都似曾相识的见过,见过,见过这张图,这是JDK体系结构图。都是英文,翻译过来也看不懂,我还是介绍一下吧!!!这里的核心就是JVM,它也是实现JAVA语言跨平台的核心。这里注意,在我们搭建JAVA开发环境的时候,下载JDK的时候,会提供系统版本,下图这是因为不同的JDK搭载的环境系统,会将.class文件由JVM挂载到当前机器能...
原创 2月前
42阅读
当我们点击用户管理的时候。不是像修改密码一样单纯跳转到另一个页面,而是发
原创 5月前
8阅读
底层结构 jdk1.8以下:HashMap的底层是:数组+链表(单向链表) jdk1.8+:HashMap的底层是:数组+[链表(单向链表) / 红黑树 ] 线程不安全(put方法没有加锁) 初始化默认大小:16 【1 << 4】 扩容 扩容触发机制: 当前存储过的键值对的数量【即HashMap中的 ...
转载 2021-08-05 13:53:00
112阅读
2评论
什么是 AOP (1)面向切面编程(方面),利用 AOP 可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。 (2)通俗描述:不通过修改源代码方式,在主干功能里面添加新功能 (3)使用登录例子说明 AOP AOP(底层原理) 1、AO ...
什么是 AOP (1)面向切面编程(方面),利用 AOP 可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。 (2)通俗描述:不通过修改源代码方式,在主干功能里面添加新功能 (3)使用登录例子说明 AOP AOP(底层原理) 1、AO ...
简述 join方法的主要作用就是同步,它可以使得线程之间的并行执行变为串行执行。在A线程中调用了B线程的join()方法时,表示只有当B线程执行完毕时,A线程才能继续执行。 底层 首先我们需要知道join方法底层是用wait方法实现的,所以join方法也会释放锁。 wait方法机制 这里在介绍底层前 ...
转载 2021-08-04 14:52:00
264阅读
2评论
1.HashMap的工作原理 HashMap基于hashing原理,我们通过put()和get()方法储存和获取对象。当我们将键值对传递给put()方法时,它调用键对象的hashCode()方法来计算hashcode,让后找到bucket位置来储存值对象。当获取对象时,通过键对象的equals()方 ...
转载 2021-09-07 14:59:00
211阅读
2评论
HashMap底层实现采用了哈希表,这是一种非常重要的数据结构。对于我们以后理解很多技术都非常有帮助(比如:redis数据库的核心技术和HashMap一样),因此,非常有必要让大家理解。 数据结构中由数组和链表来实现对数据的存储,他们各有特点。 (1) 数组:占用空间连续。 寻址容易,查询速度快。但 ...
转载 2021-09-21 20:43:00
77阅读
2评论
理解HashMap先要理解HashCode HashCode HashCode 为什么使用 31 作为乘数? HashCode源码 // 获取 hashCode "abc".hashCode(); public int hashCode() { int h = hash; if (h == 0 && ...
转载 2021-10-10 00:06:00
51阅读
2评论
概述 以下基于 JDK 1.8 数据结构 HashMap 实际是一种“数组+链表”数据结构。 在put操作中,通过内部定义算法寻止找到数组下标,将数据直接放入此数组元素中,若通过算法得到的该数组元素已经有了元素(俗称hash冲突,链表结构出现的实际意义也就是为了解决hash冲突的问题)。将会把这个数
原创 2022-01-08 15:41:38
147阅读
内存,内存中的变量和指针 http://golangtutorials.blogspot
原创 2022-01-18 15:27:13
166阅读
Q:STL中set底层实现方式? 为什么不用hash? A: 第一个问题:set底层实现方式为RB树(即红黑树)。 第二个问题: 首先set,不像map那样是key-value对,它的key与value是相同的。关于set有两种说法,第一个是STL中的set,用的是红黑树;第二个是hash_set,
原创 2022-03-30 09:45:46
503阅读
  • 1
  • 2
  • 3
  • 4
  • 5