java
文章平均质量分 93
zhenyutu
这个作者很懒,什么都没留下…
展开
-
设计模式学习(一) — 概述
设计模式学习(一) — 概述 设计模式是一套编码经验总结,在编码过程中不是一定要用上,而是在特定情况下使用特定的设计模式会增强代码的可用性和可读性;(0) 基本概念什么是设计模式设计模式是一套被反复使用,经过了实践检验的的代码设计经验总结,是为了保证代码的可用性,同时也让代码更容易被人理解;设计模式的分类创建型模式:对象实例化的模式,侧重于对象实例化的过程;结构型模式:把类或者对象结合在原创 2017-12-14 20:42:41 · 468 阅读 · 0 评论 -
Java多线程系列(十)—Semaphore源码分析
Java多线程系列(十)—Semaphore源码分析 Semaphore是计数信号量,用来控制并发数量,允许n个任务同时访问某个资源,可以将信号量看做是在向外分发使用资源的许可,只有成功获取许可才能使用资源; 个人主页:tuzhenyu’s page 原文地址:Java多线程系列(十)—Semaphore源码分析 (0) Semaphore信号量的使用三个线原创 2017-10-23 15:41:06 · 308 阅读 · 0 评论 -
Java多线程系列(九)—CountDownLatch源码分析
Java多线程系列(九)—CountDownLatch源码分析 CountDownLatch是多线程辅助类,主要用作栅栏功能,也就是让一个线程等待其他线程完成之后再执行; 个人主页:tuzhenyu’s page 原文地址:Java多线程系列(九)—CountDownLatch源码分析 (0) CountDownLatch的实例class MyThrea原创 2017-10-22 20:49:01 · 289 阅读 · 0 评论 -
Java多线程系列(八)—CyclicBarrier源码分析
Java多线程系列(八)—CyclicBarrier源码分析 CyclicBarrier是一个同步辅助类,允许一组相关线程相互等待,直到所有线程都到达某个公共屏障点;因为该屏障点在释放后可以循环重用,所以称为循环屏障; 个人主页:tuzhenyu’s page 原文地址:Java多线程系列(八)—CyclicBarrier源码分析(0) CyclicBarrier循环原创 2017-10-22 15:37:40 · 285 阅读 · 0 评论 -
Java多线程系列(七)—ReentrantLock源码分析
Java多线程系列(七)—ReentrantLock源码分析 ReentrantLock是一个可重入的互斥锁,在一个时间点只能被被一个线程持有,同时可重入的特性又异味着一把锁能够被同一个线程多次获取;同时ReentrantLock又分为公平锁和非公平锁,公平锁下线程排队依次获取锁,非公平锁机制下在锁是可获取的情况下不管自己是否在队列头都会获取锁; 个人主页:tuzhenyu’s原创 2017-10-21 20:20:26 · 226 阅读 · 0 评论 -
Java多线程系列(六)—AQS源码分析
Java多线程系列(六)—AQS源码分析 AbstractQueuedSynchronizer同步器是基于LockSupport和CAS实现的同步器,是实现锁机制和其他同步类的基础; 个人主页:tuzhenyu’s page 原文地址:Java多线程系列(六)—AQS源码分析1. AbstractQueuedSynchronizer内部数据结构AQS同步器内部维护原创 2017-10-18 21:03:12 · 684 阅读 · 0 评论 -
Java多线程系列(五)—LockSupport源码分析
Java多线程系列(五)—LockSupport源码分析 LockSupport类是实现锁机制和其他同步类的基础,提供了基本线程阻塞和恢复的原语; LockSupport中的park() 和 unpark() 的作用分别是阻塞线程和解除阻塞线程,而且park()和unpark()不会遇到“Thread.suspend 和 Thread.resume所可能引发的死锁”问题原创 2017-10-17 15:16:42 · 362 阅读 · 0 评论 -
Java多线程系列(四)—CAS操作和Automic原子类
Java多线程系列(四)—CAS操作和Automic原子类 由于线程安全需要保证原子性和可见性,而volatile关键字修饰的变量仅能保证可见性不能保证原子性,因此像i++这种非原子操作就是非线程安全的;为了保证原子性,JDK引入了原子操作类,放在在java.util.concurrent.automic包下; Automic原子类底层是通过CAS实现,线程的重试会造成效率较低,原创 2017-10-17 10:31:56 · 2479 阅读 · 0 评论 -
Java多线程系列(三)—生产者消费者模型
Java多线程系列(三)—生产者消费者模型 生产者消费者模型是一种基于等待/通知模式的经典多线程模型; 个人主页:tuzhenyu’s page 原文地址:Java多线程系列(三)—生产者消费者模型(1) 生产者消费者模型生产者消费者模型关注以下几点:生产者在存储未满的时候生产,消费者在存储未空的时候消费;生产者执行生产任务之后会唤醒消费者进行消费,消原创 2017-10-16 15:00:58 · 469 阅读 · 1 评论 -
Java多线程系列(二)—线程安全
Java多线程系列(二)—线程安全 多线程下对共享的(多个线程可以访问相同的资源)可变的(没有final关键词修饰)容易出现非线程安全情况,因此对象的线程安全性与其共享性和可变性有关; 个人主页:tuzhenyu’s page 原文地址:Java多线程系列(二)—线程安全1.线程安全的定义线程安全的定义:如果你的代码在多线程下执行和在单线程下执行永远都能获得一样原创 2017-10-15 15:25:36 · 314 阅读 · 0 评论 -
Java多线程系列(一)—多线程基础
Java多线程系列(一)—多线程基础 线程是CPU调度的最小单元,单核时代多线程可以在IO密集型操作时有更高的效率,在如今这个多核为主的时代,多线程更能有效的发挥多核的优势,充分利用CPU资源; 个人主页:tuzhenyu’s page 原文地址:Java多线程系列(一)—多线程基础1. 线程基础(1) 线程和进程进程是系统资源分配的基本单位,线程是CP原创 2017-10-13 18:13:24 · 457 阅读 · 3 评论 -
设计模式学习(四) — 行为模式
设计模式学习(四) — 行为模式 行为模式主要侧重与类与类或对象与对象之间的交互过程 个人主页:tuzhenyu’s page 原文地址:设计模式学习(四) — 行为模式 (0) 基本概念行为模式是类与类或者对象与对象之间交互方式的设计总结行为模式主要包括责任链模式,观察者模式,状态模式(1) 责任链模式责任链模式主要是使多个对象有机会处理请求从而避免请求的发送者原创 2017-12-14 20:57:13 · 630 阅读 · 0 评论 -
设计模式学习(三) — 结构型模式
设计模式学习(三) — 结构型模式 结构型模式主要是侧重于类之间结构构建的设计经验总结 个人主页:tuzhenyu’s page 原文地址:设计模式学习(三) — 结构型模式 (0) 基本概念结构型设计模式侧重于类之间的结构构建,用来解决模块之间的耦合问题;结构型设计模式主要包括装饰器模式,适配器模式,代理模式等;(1) 装饰器模式装饰器模式是动态地给一个对象添加一些原创 2017-12-14 20:56:11 · 2449 阅读 · 0 评论 -
设计模式学习(二) — 创建型模式
设计模式学习(二) — 创建型模式 创建型设计模式主要是用来构建对象实例,是在对象实例创建过程中的一些经验总结; 个人主页:tuzhenyu’s page 原文地址:设计模式学习(二) — 创建型模式 ](http://www.tuzhenyu.top/article/66)(0)基本概念创建型模式隐藏了类对象实例创建的细节,在创建什么(What),由谁创建(Who),原创 2017-12-14 20:51:54 · 461 阅读 · 0 评论 -
Java多线程系列(十一)—ReentrantReadWriteLock源码分析
Java多线程系列(十一)—ReentrantReadWriteLock源码分析 ReentrantReadWriteLock读写锁是基于AQS的独占模式和共享模式实现的,是为了优化ReentrantLock互斥锁的并发性能; 个人主页:tuzhenyu’s page 原文地址:Java多线程系列(十一)—ReentrantReadWriteLock源码分析 (原创 2017-10-24 13:28:29 · 514 阅读 · 0 评论