自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Dason_yu的博客

从此,我遇见青山,遇见白雾。

  • 博客(15)
  • 资源 (3)
  • 收藏
  • 关注

原创 java并发编程(十一)之线程交换器Exchanger<V>

线程变量交换器Exchanger

2018-03-30 23:11:35 475

原创 java并发编程(十)之线程倒计数锁存器CountDownLatch

一、定义一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。用给定的计数 初始化 CountDownLatch。由于调用了 countDown() 方法,所以在当前计数到达零之前,await 方法会一直受阻塞。之后,会释放所有等待的线程,await 的所有后续调用都将立即返回。这种现象只出现一次——计数无法被重置。如果需要重置计数,请考虑使用 CyclicBarr...

2018-03-30 22:38:02 486

原创 java并发编程(九)之线程篱栅CyclicBarrier

一、定义它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarrier 很有用。因为该 barrier 在释放等待线程后可以重用,所以称它为循环 的 barrier。二、用法package cn.itcast.heima2;import java.util.concurr...

2018-03-29 23:17:14 264

原创 java并发编程(八)之线程信号量Semaphore

一、信号量一个计数信号量。从概念上讲,信号量维护了一个许可集。Semaphore经常用于限制获取某种资源的线程数量。在java并发中,即Semaphore维护指定数量许可,当Semaphore中有额外(空闲)的许可时,线程获取到许可信号后(调用acquire()),线程才允许被执行,否则将被阻塞。当线程执行完毕,就会将占用的许可释放(调用release())。此类的构造方法可选地接受一个公平 参数...

2018-03-28 21:53:04 355

原创 java并发编程(七)之线程通信Condition

一、conditionCondition 将 Object 监视器方法(wait、notify 和 notifyAll)分解成截然不同的对象,以便通过将这些对象与任意 Lock 实现组合使用,为每个对象提供多个等待 set(wait-set)。其中,Lock 替代了 synchronized 方法和语句的使用,Condition 替代了 Object 监视器方法的使用。条件(也称为条件队列 或条件...

2018-03-26 23:50:35 253

原创 java并发编程(六)之读写锁

一、读写锁我们知道在多个线程访问同一个数据的时候是存在线程安全问题的,而在仅仅是读取数据的时候,是没有安全问题的,那么多个线程同时读取数据我们就可以让其不互斥;而多个线程都在修改(写)数据或有的在读取有的在写入的时候再让其互斥,这样不但保证线程安全而且提高性能。ReadWriteLock 维护了一对相关的锁,一个用于只读操作,另一个用于写入操作。只要没有 writer,读取锁可以由多个 reade...

2018-03-26 00:06:46 246

原创 java并发编程(五)之 jdk5 的锁

一、锁介绍(出处:参照原文博客)1.可重入锁如果锁具备可重入性,则称作为可重入锁。像synchronized和ReentrantLock都是可重入锁,可重入性在我看来实际上表明了锁的分配机制:基于线程的分配,而不是基于方法调用的分配。举个简单的例子,当一个线程执行到某个synchronized方法时,比如说method1,而在method1中会调用另外一个synchronized方法method2...

2018-03-25 21:53:43 227

原创 java并发编程(四)之 ThreadLocal实现线程局部变量

一、ThreadLocal 介绍在并发的情况下,多个线程会同时访问同一个变量,这会引起线程安全问题。而ThreadLocal 针对这种情况就被提了出来。他的思想从他的名字就可以看出来,线程局部(变量),即当多个线程访问同一个变量时,每个线程都会拿到这个变量的一个副本,各个线程操作的各自副本,互不干扰。二、思想的具体实现Thread类有一个类型为ThreadLocal.ThreadLocalMap的...

2018-03-24 23:38:39 313

原创 java并发编程(三)之 传统线程思想与细节

一、构造方法与匿名内部类/** * new Thread(){}:在构造方法 new Thread() 后面加上{},表示创建一个匿名内部类的对象. * (父类:Thread;子类:内部类),在{} 实现run()后,调用时会覆盖父类方法. * new Thread(Runnable runnable): 带参构造.调用时则会执行 runnable 的run().【参见Thread类源码】...

2018-03-21 23:15:10 192

原创 java并发编程(二)之 传统线程

一.创建线程方式1.继承Thread类package com.dason.javaThread;/** * 需求:子线程打印1-50,主线程打印51-100 * * @author Dason * */public class TestThread { public static void main(String[] args) { SubThread subTh...

2018-03-18 17:12:05 233

原创 JAVA NIO(五)Files 与 Paths 工具类

package com.dason.nio2;import java.io.IOException;import java.nio.ByteBuffer;import java.nio.channels.FileChannel;import java.nio.channels.SeekableByteChannel;import java.nio.file.DirectoryStrea...

2018-03-18 11:44:04 824

原创 JAVA NIO(四)阻塞式IO与非阻塞式IO

1.阻塞与非阻塞IO模型:由于进程是不可直接访问外部设备的,所以只能调用内核去调用外部的设备(上下文切换),然后外部设备比如磁盘,读出存储在设备自身的数据传送给内核缓冲区,内核缓冲区在copy数据到用户进程的缓冲区。包含两个步骤:一将数据读到内核,二将数据从内核copy用户地址空间(即应用程序)。① 阻塞与非阻塞:是针对于网络通讯而言。应用程序在获取网络数据的时候,根据IO操作的就绪状态来采取的不...

2018-03-18 11:39:03 384

原创 JAVA NIO(三)通道Channel & 直接与非直接缓冲区

1. 通道负责目标节点与源节点的连接;传输数据。在 Java NIO 中负责缓冲区中数据的传输。Channel 本身不存储数据,因此需要配合缓冲区进行传输。2.通道的主要实现类  java.nio.channels.Channel 接口:   |--FileChannel   |--SocketChannel   |--ServerSocketChannel   |--DatagramChanne...

2018-03-12 22:54:44 607

原创 JAVA NIO(二)缓冲区Buffer

1.Buffer介绍缓冲区是一个用于特定基本类型数据的容器。说白了就是对byte数组的封装。缓冲区是特定基本类型元素的线性有限序列。已知子类:ByteBuffer, CharBuffer,ShortBuffer,IntBuffer,LongBuffer, DoubleBuffer, FloatBuffer。Buffer 的作用是用于数据的存储。非直接缓冲区:通过 allocate() ...

2018-03-11 18:50:17 248

原创 JAVA NIO(一)概述

1.简介Java NIO(New IO | NON-Blocking IO)是一个可以替代标准Java IO API的IO API(从Java 1.4开始),NIO与原来的IO有同样的作用和目的,但Java NIO提供了与标准IO不同的IO工作方式。    Java NIO系统的核心在于:通道(Channel)和缓冲区(Buffer)。通道表示打开到 IO 设备(例如:文件、套接字)的连接...

2018-03-10 23:05:18 290

mybatisplus 生成代码

mybatisplus 生成代码

2022-11-15

CH340驱动(USB串口驱动)_XP_WIN7共用

CH340驱动(USB串口驱动)

2021-12-17

shirodemo.zip

springboot+mybatisplus+shiro

2021-01-06

MyGenerator.java

mybatisplus代码生成器

2020-09-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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