摘要: Lock是java.util.concurrent.locks包下的接口,Lock 实现提供了比使用synchronized 方法和语句可获得的更广泛的锁定操作,它能以更优雅的方式处理线程同步问题,我们拿Java线程(二)中的一个例子简单的实现一下和sychronized一样的效果,代码如下: [j 阅读全文
posted @ 2017-04-03 22:58 WakamiyaShinobu 阅读(826) 评论(0) 推荐(0)
摘要: 前言 早在去年就简单的使用了一下Spring Boot,当时就被其便捷的功能所震惊。但是那是也没有深入的研究,随着其在业界被应用的越来越广泛,因此决定好好地深入学习一下,将自己的学习心得在此记录,本文主要围绕以下几点进行说明: Spring Boot 简介 使用Spring Boot快速搭建一个We 阅读全文
posted @ 2017-04-03 22:48 WakamiyaShinobu 阅读(2240) 评论(1) 推荐(1)
摘要: 转自:http://www.xiaoyaochong.net/wordpress/?p=354 ArrayBlockingQueue是Java并发框架中阻塞队列的最基本的实现,分析这个类就可以知道并发框架中是如何实现阻塞的。 笔者工作了一两年之后,还不知道阻塞是如何实现的,当然有一个原因是前期学习的 阅读全文
posted @ 2017-04-03 22:47 WakamiyaShinobu 阅读(330) 评论(0) 推荐(0)
摘要: Java并发编程:并发容器之CopyOnWriteArrayList(转载) 原文链接: http://ifeve.com/java-copy-on-write/ Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个 阅读全文
posted @ 2017-04-03 22:09 WakamiyaShinobu 阅读(160) 评论(0) 推荐(0)
摘要: 原文 http://blog.csdn.net/chdjj/article/details/38782221 主题 源码分析 红黑树 原文 http://blog.csdn.net/chdjj/article/details/38782221 主题 源码分析 红黑树 注:以下源码基于jdk1.7.0 阅读全文
posted @ 2017-04-03 21:44 WakamiyaShinobu 阅读(316) 评论(0) 推荐(0)
摘要: java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类,分别是HashMap Hashtable LinkedHashMap 和TreeMap. Map主要用于存储健值对,根据键得到值,因此不允许键重复(重复了覆盖了),但允许值重复。 HashMap是一个最常用的Map, 阅读全文
posted @ 2017-04-03 18:49 WakamiyaShinobu 阅读(239) 评论(0) 推荐(0)
摘要: 今天来介绍下HashSet。前面,我们已经系统的对List和Map进行了学习。接下来,我们开始可以学习Set。相信经过Map的了解之后,学习Set会容易很多。毕竟,Set的实现类都是基于Map来实现的(HashSet是通过HashMap实现的)。 构造图如下: 蓝色线条:继承 绿色线条:接口实现 今 阅读全文
posted @ 2017-04-03 18:32 WakamiyaShinobu 阅读(2042) 评论(0) 推荐(1)
摘要: HashSet,TreeSet和LinkedHashSet的区别 Set接口Set不允许包含相同的元素,如果试图把两个相同元素加入同一个集合中,add方法返回false。Set判断两个对象相同不是使用==运算符,而是根据equals方法。也就是说,只要两个对象用equals方法比较返回true,Se 阅读全文
posted @ 2017-04-03 18:25 WakamiyaShinobu 阅读(299) 评论(0) 推荐(0)
摘要: 概要 学完ArrayList和LinkedList之后,我们接着学习Vector。学习方式还是和之前一样,先对Vector有个整体认识,然后再学习它的源码;最后再通过实例来学会使用它。第1部分 Vector介绍第2部分 Vector数据结构第3部分 Vector源码解析(基于JDK1.6.0_45) 阅读全文
posted @ 2017-04-03 16:31 WakamiyaShinobu 阅读(3777) 评论(0) 推荐(1)
摘要: Java集合 LinkedList源码解析 一、源码解析1、 LinkedList类定义2、LinkedList数据结构原理3、私有属性4、构造方法5、元素添加add()及原理6、删除数据remove()7、数据获取get()8、数据复制clone()与toArray()9、遍历数据:Iterato 阅读全文
posted @ 2017-04-03 16:21 WakamiyaShinobu 阅读(232) 评论(0) 推荐(0)
摘要: 写在前面 本文是针对Java 1.8的源代码进行解析的,可能会和其他版本有所出入。 全局变量 1. 默认容量 [java] view plain copy print? private static final int DEFAULT_CAPACITY = 10; [java] view plain 阅读全文
posted @ 2017-04-03 16:18 WakamiyaShinobu 阅读(300) 评论(0) 推荐(0)
摘要: 线程间的通信、同步方式与进程间通信方式 说到线程之间通信方式:依据我的理解 主要是有两种吧 1.是通过共享变量,线程之间通过该变量进行协作通信; 2.通过队列(本质上也是线程间共享同一块内存)来实现消费者和生产者的模式来进行通信; 1.通过线程之间共享变量的方式 这个就有必要说下 wait(),no 阅读全文
posted @ 2017-04-03 15:37 WakamiyaShinobu 阅读(1127) 评论(0) 推荐(0)
摘要: volatile synschonized的区别 synchronized 同步块大家都比较熟悉,通过 synchronized 关键字来实现,所有加上synchronized 和 块语句,在多线程访问的时候,同一时刻只能有一个线程能够用 synchronized 修饰的方法 或者 代码块。 vol 阅读全文
posted @ 2017-04-03 12:27 WakamiyaShinobu 阅读(548) 评论(0) 推荐(0)
摘要: Stringbuffer与Stringbuilder源码学习和对比 String/StringBuffer/StringBuilder的异同 (1)相同点观察源码会发现,三个类都是被final修饰的,是不可被继承的。(2)不同点String的对象是不可变的;而StringBuilder和String 阅读全文
posted @ 2017-04-03 12:02 WakamiyaShinobu 阅读(227) 评论(0) 推荐(0)