自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

chenssy 的技术博客

专注 Java 技术分享,死磕 Java 系列博主,个人网站:https://www.skjava.com

  • 博客(7)
  • 资源 (16)
  • 收藏
  • 关注

原创 【死磕Java并发】-----J.U.C之读写锁:ReentrantReadWriteLock

此篇博客所有源码均来自JDK 1.8重入锁ReentrantLock是排他锁,排他锁在同一时刻仅有一个线程可以进行访问,但是在大多数场景下,大部分时间都是提供读服务,而写服务占有的时间较少。然而读服务不存在数据竞争问题,如果一个线程在读时禁止其他线程读势必会导致性能降低。所以就提供了读写锁。读写锁维护着一对锁,一个读锁和一个写锁。通过分离读锁和写锁,使得并发性比一般的排他锁有了较大的提升:在同一时

2017-03-29 09:21:31 7060 1

原创 【死磕Java并发】-----J.U.C之重入锁:ReentrantLock

此篇博客所有源码均来自JDK 1.8ReentrantLock,可重入锁,是一种递归无阻塞的同步机制。它可以等同于synchronized的使用,但是ReentrantLock提供了比synchronized更强大、灵活的锁机制,可以减少死锁发生的概率。 API介绍如下: 一个可重入的互斥锁定 Lock,它具有与使用 synchronized 方法和语句所访问的隐式监视器锁定相同的一些基本行

2017-03-26 21:19:18 6292

原创 【死磕Java并发】-----J.U.C之AQS:阻塞和唤醒线程

此篇博客所有源码均来自JDK 1.8在线程获取同步状态时如果获取失败,则加入CLH同步队列,通过通过自旋的方式不断获取同步状态,但是在自旋的过程中则需要判断当前线程是否需要阻塞,其主要方法在acquireQueued():if (shouldParkAfterFailedAcquire(p, node) && parkAndCheckInterrupt())

2017-03-23 21:41:19 8869 2

原创 【死磕Java并发】-----J.U.C之AQS:同步状态的获取与释放

此篇博客所有源码均来自JDK 1.8在前面提到过,AQS是构建Java同步组件的基础,我们期待它能够成为实现大部分同步需求的基础。AQS的设计模式采用的模板方法模式,子类通过继承的方式,实现它的抽象方法来管理同步状态,对于子类而言它并没有太多的活要做,AQS提供了大量的模板方法来实现同步,主要是分为三类:独占式获取和释放同步状态、共享式获取和释放同步状态、查询同步队列中的等待线程情况。自定义子类使

2017-03-13 17:30:00 5913 4

原创 【死磕Java并发】-----J.U.C之AQS:CLH同步队列

此篇博客所有源码均来自JDK 1.8在上篇博客【死磕Java并发】—–J.U.C之AQS:AQS简介中提到了AQS内部维护着一个FIFO队列,该队列就是CLH同步队列。CLH同步队列是一个FIFO双向队列,AQS依赖它来完成同步状态的管理,当前线程如果获取同步状态失败时,AQS则会将当前线程已经等待状态等信息构造成一个节点(Node)并将其加入到CLH同步队列,同时会阻塞当前线程,当同步状态释放时

2017-03-07 22:11:14 12197

原创 【死磕Java并发】-----J.U.C之AQS:AQS简介

Java的内置锁一直都是备受争议的,在JDK 1.6之前,synchronized这个重量级锁其性能一直都是较为低下,虽然在1.6后,进行大量的锁优化策略(【死磕Java并发】—–深入分析synchronized的实现原理),但是与Lock相比synchronized还是存在一些缺陷的:虽然synchronized提供了便捷性的隐式获取锁释放锁机制(基于JVM机制),但是它却缺少了获取锁与释放锁的可

2017-03-05 22:26:36 16442 2

原创 【死磕Java并发】-----Java内存模型之总结

经过四篇博客阐述,我相信各位对Java内存模型有了最基本认识了,下面LZ就做一个比较简单的总结。总结JMM规定了线程的工作内存和主内存的交互关系,以及线程之间的可见性和程序的执行顺序。一方面,要为程序员提供足够强的内存可见性保证;另一方面,对编译器和处理器的限制要尽可能地放松。JMM对程序员屏蔽了CPU以及OS内存的使用问题,能够使程序在不同的CPU和OS内存上都能够达到预期的效果。Java采用内存

2017-03-03 12:58:24 7069 6

老干爹/Cloud-Admin

Cloud-Admin是国内首个基于Spring Cloud微服务化开发平台,核心技术采用Spring Boot2以及Spring Cloud Gateway相关核心组件,前端采用vue-element-admin组件。具有统一授权、认证后台管理系统,其中包含具备用户管理、资源权限管理、网关API管理等多个模块,支持多业务系统并行开发,可以作为后端服务的开发脚手架。代码简洁,架构清晰,适合学习和直接项目中使用。

2018-08-26

Spring-frame源码-mater

Spring-frame源码,已经编译完成,可以直接使用!!!!!

2018-05-25

Spring源码

Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!Sprig源码!!

2018-05-23

Edraw Max for mac 亿图图示 8.4 中文破解版

Edraw Max for mac 亿图图示 8.4 中文破解版 Edraw Max for mac 亿图图示 8.4 中文破解版 Edraw Max for mac 亿图图示 8.4 中文破解版 Edraw Max for mac 亿图图示 8.4 中文破解版

2018-04-23

基于J2EE购物网站的设计与实现---素材

这是基于J2EE购物完整的设计与实现的素材。包含商品和品牌图片

2013-06-16

基于J2EE购物网站的设计与实现--源码

基于J2EE购物的设计与实现,包括前台和后台两个部分。实现了购物网站的全部功能,同时应用了搜索引擎功能和邮件发送功能。 里面的readme.txt有使用说明。 由于素材比较多,所以上传分为两个文件,一个源代码、一个素材。

2013-06-16

基于JSP的博客系统

基于JSP/SERVLET的博客系统。主要功能包括:用户注册、用户登录。发表、修改、删除博客。博客分类管理....等等功能

2013-06-11

超市管理系统

使用java实现的超市管理系统。主要功能包括:商品信息管理、发货、进货处理。会员管理、用户购买商品、供应商管理.....等等

2013-06-11

TortoiseSVN

TortoiseSVN-1.7.6.22632-win32-svn-1.7.4.msi

2013-01-13

Setup-Subversion-1.7.5.msi

Setup-Subversion-1.7.5.msi

2013-01-13

jspSmartUpload组件,文件上传、下载

jspSmartUpload组件。。。。。。。。。 jspSmartUpload组件。。。。。。。。。 jspSmartUpload组件。。。。。。。。。

2011-10-09

Spring API

spring-API............. spring-API.............

2011-07-16

数据结构(c语言版)

有最全的数据结构算法(源代码)。 其中的注解很清晰

2010-04-18

c语言经典实例105例

c语言实战:包括基本的c语言程序设计,和数字计算。还有经典的游戏,课程开发。图形。。

2010-03-20

空空如也

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

TA关注的人

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