你听___

情怀

排序:
默认
按更新时间
按访问量

13篇文章,教你学会ES6知识点

ES6 深入理解ES6》学习笔记 本文用于汇总链接到各个子章节的内容,github 欢迎大家题issues和PR,如果对你有帮助,也可以给 star 支持 :) 目录 第一章 块级绑定 第二章 字符串和正则表达式 第三章 函数 第四章 扩展的对象功能 第五章 解构:更方便的数据访...

2018-05-08 15:46:40

阅读数:102

评论数:0

深入理解ES6--13.用模块封装代码

主要知识点:什么是模块、模块中的导出、模块中的导入 1. 什么是模块? 模块(Modules ) 是使用不同方式加载的 JS 文件(与 JS 原先的脚本加载方式相对) 。这种不同模式很有必要,因为它与脚本(script ) 有大大不同的语义: 模块代码自动运行在严格模式下,...

2018-05-08 14:39:07

阅读数:43

评论数:0

【Java并发专题】27篇文章详细总结Java并发基础知识

努力的意义,就是,在以后的日子里,放眼望去全是自己喜欢的人和事! github:https://github.com/CL0610/Java-concurrency,欢迎题issue和Pull request。所有的文档都是自己亲自码的,如果觉得不错,欢迎给star鼓励支持 :) 整个...

2018-05-07 19:16:00

阅读数:200

评论数:0

深入理解ES6--10.增强的数组功能

主要知识点:创建数组、数组上的新方法、类型化数组 1. 创建数组 在 ES6 之前创建数组主要存在两种方式: Array 构造器与数组字面量写法。这两种方式都需要将数组的项分别列出,并且还要受到其他限制。将“类数组对象”(即:拥有数值类型索引与长度属性的对象) 转换为数组也并不自由...

2018-05-07 19:10:05

阅读数:230

评论数:0

深入理解ES6--6.符号与符号属性

主要知识点:创建符号值、使用符号值、共享符号值、符号值转换。检索符号值属性以及知名符号 1. Symbol基础 1.1 创建符号值 在 JS 已有的基本类型(字符串、数值、布尔类型、 null 与 undefined ) 之外, ES6 引入了一种新的基本类型:符号(Sy...

2018-05-07 19:08:00

阅读数:699

评论数:0

并发容器之ArrayBlockingQueue和LinkedBlockingQueue实现原理详解

1. ArrayBlockingQueue简介 在多线程编程过程中,为了业务解耦和架构设计,经常会使用并发容器用于存储多线程间的共享数据,这样不仅可以保证线程安全,还可以简化各个线程操作。例如在“生产者-消费者”问题中,会使用阻塞队列(BlockingQueue)作为数据容器,关于Blockin...

2018-05-06 16:35:59

阅读数:39

评论数:0

并发容器之BlockingQueue

1. BlockingQueue简介 2. 基本操作 3. 常用的BlockingQueue 1. BlockingQueue简介 在实际编程中,会经常使用到JDK中Collection集合框架中的各种容器类如实现List,Map,Queue接口的容器类,但是这些容器类基本上不是线程...

2018-05-06 16:31:47

阅读数:63

评论数:0

并发容器之CopyOnWriteArrayList

1. CopyOnWriteArrayList的简介 java学习者都清楚ArrayList并不是线程安全的,在读线程在读取ArrayList的时候如果有写线程在写数据的时候,基于fast-fail机制,会抛出ConcurrentModificationException异常,也就是说Array...

2018-05-06 15:58:52

阅读数:27

评论数:0

一篇文章,从源码深入详解ThreadLocal内存泄漏问题

1. 造成内存泄漏的原因? threadLocal是为了解决对象不能被多线程共享访问的问题,通过threadLocal.set方法将对象实例保存在每个线程自己所拥有的threadLocalMap中,这样每个线程使用自己的对象实例,彼此不会影响达到隔离的作用,从而就解决了对象在被共享访问带来线程安...

2018-05-06 15:53:18

阅读数:26

评论数:0

并发容器之ThreadLocal

1. ThreadLocal的简介 2. ThreadLocal的实现原理 3. ThreadLocalMap详解 3.1 Entry数据结构 3.2 set方法 3.3 getEntry方法 3.4 remove 4. ThreadLocal的使用场景 1. ThreadLoca...

2018-05-06 15:43:25

阅读数:26

评论数:0

并发容器之ConcurrentLinkedQueue

1.ConcurrentLinkedQueue简介 在单线程编程中我们会经常用到一些集合类,比如ArrayList,HashMap等,但是这些类都不是线程安全的类。在面试中也经常会有一些考点,比如ArrayList不是线程安全的,Vector是线程安全。而保障Vector线程安全的方式,是非常粗...

2018-05-06 15:30:41

阅读数:251

评论数:1

并发容器之ConcurrentHashMap(JDK 1.8版本)

1.ConcurrentHashmap简介 在使用HashMap时在多线程情况下扩容会出现CPU接近100%的情况,因为hashmap并不是线程安全的,通常我们可以使用在java体系中古老的hashtable类,该类基本上所有的方法都采用synchronized进行线程安全的控制,可想而知,在高...

2018-05-06 15:15:30

阅读数:22

评论数:0

LockSupport工具

1. LockSupport简介 在之前介绍AQS的底层实现,已经在介绍java中的Lock时,比如ReentrantLock,ReentReadWriteLocks,已经在介绍线程间等待/通知机制使用的Condition时都会调用LockSupport.park()方法和LockSupport...

2018-05-06 15:00:36

阅读数:25

评论数:0

详解Condition的await和signal等待/通知机制

1.Condition简介 任何一个java对象都天然继承于Object类,在线程间实现通信的往往会应用到Object的几个方法,比如wait(),wait(long timeout),wait(long timeout, int nanos)与notify(),notifyAll()几个方法实...

2018-05-06 14:54:40

阅读数:540

评论数:0

深入理解ES6--2.字符串与正则表达式

主要知识点:新增的字符串处理方法、模板字面量以及正则表达式上的改动 1. 字符串处理方法 codePointAt()方法 ES6 为全面支持 UTF-16 而新增的方法之一是 codePointAt() ,它可以在给定字符串中按位 置提取 Unicode 代码点。该方法...

2018-05-06 14:43:03

阅读数:40

评论数:0

深入理解ES6--12.代理与反射接口

主要知识点:代理和反射的定义、常用的陷阱函数、可被撤销的代理、将代理对象作为原型使用、将代理作为类的原型 1. 代理和反射 代理是什么? 通过调用 new Proxy() ,你可以创建一个代理用来替代另一个对象(被称之为目目标对象) ,这个代理对目标对象进行了虚拟,因...

2018-05-05 21:17:17

阅读数:32

评论数:0

深入理解读写锁ReentrantReadWriteLock

1.读写锁的介绍 在并发场景中用于解决线程安全的问题,我们几乎会高频率的使用到独占式锁,通常使用java提供的关键字synchronized(关于synchronized可以看这篇文章)或者concurrents包中实现了Lock接口的ReentrantLock。它们都是独占式获取锁,也就是在同...

2018-05-03 21:28:10

阅读数:48

评论数:3

彻底理解ReentrantLock

1. ReentrantLock的介绍 ReentrantLock重入锁,是实现Lock接口的一个类,也是在实际编程中使用频率很高的一个锁,支持重入性,表示能够对共享资源能够重复加锁,即当前线程获取该锁再次获取不会被阻塞。在java关键字synchronized隐式支持重入性(关于synchro...

2018-05-03 21:13:19

阅读数:117

评论数:0

深入理解AbstractQueuedSynchronizer(AQS)

1. AQS简介 在上一篇文章中我们对lock和AbstractQueuedSynchronizer(AQS)有了初步的认识。在同步组件的实现中,AQS是核心部分,同步组件的实现者通过使用AQS提供的模板方法实现同步组件语义,AQS则实现了对同步状态的管理,以及对阻塞线程进行排队,等待通知等等一...

2018-05-03 21:01:39

阅读数:26

评论数:0

初识Lock与AbstractQueuedSynchronizer(AQS)

1. concurrent包的结构层次 在针对并发编程中,Doug Lea大师为我们提供了大量实用,高性能的工具类,针对这些代码进行研究会让我们队并发编程的掌握更加透彻也会大大提升我们队并发编程技术的热爱。这些代码在java.util.concurrent包下。如下图,即为concurrent包...

2018-05-03 20:50:49

阅读数:25

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭