自定义博客皮肤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

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

原创 【死磕Java并发】-----Java内存模型之从JMM角度分析DCL

DCL,即Double Check Lock,中卫双重检查锁定。其实DCL很多人在单例模式中用过,LZ面试人的时候也要他们写过,但是有很多人都会写错。他们为什么会写错呢?其错误根源在哪里?有什么解决方案?下面就随LZ一起来分析问题分析我们先看单例模式里面的懒汉式:public class Singleton { private static Singleton singleton; p

2017-02-28 18:45:36 2991 9

原创 【死磕Java并发】-----Java内存模型之分析volatile

前篇博客【死磕Java并发】—–深入分析volatile的实现原理 中已经阐述了volatile的特性了:volatile可见性;对一个volatile的读,总可以看到对这个变量最终的写;volatile原子性;volatile对单个读/写具有原子性(32位Long、Double),但是复合操作除外,例如i++;JVM底层采用“内存屏障”来实现volatile语义下面LZ就通过happens

2017-02-23 20:27:42 4746 2

原创 【死磕Java并发】-----Java内存模型之重排序

在执行程序时,为了提供性能,处理器和编译器常常会对指令进行重排序,但是不能随意重排序,不是你想怎么排序就怎么排序,它需要满足以下两个条件: 1. 在单线程环境下不能改变程序运行的结果; 2. 存在数据依赖关系的不允许重排序如果看过LZ上篇博客的就会知道,其实这两点可以归结于一点:无法通过happens-before原则推导出来的,JMM允许任意的排序。as-if-serial语义as-if-se

2017-02-20 08:44:36 9152 5

原创 【死磕Java并发】-----Java内存模型之happens-before

在上篇博客(【死磕Java并发】—–深入分析volatile的实现原理)LZ提到过由于存在线程本地内存和主内存的原因,再加上重排序,会导致多线程环境下存在可见性的问题。那么我们正确使用同步、锁的情况下,线程A修改了变量a何时对线程B可见?我们无法就所有场景来规定某个线程修改的变量何时对其他线程可见,但是我们可以指定某些规则,这规则就是happens-before,从JDK 5 开始,JMM就使用ha

2017-02-13 12:02:47 4158 5

原创 【死磕Java并发】-----深入分析volatile的实现原理

通过前面一章我们了解了synchronized是一个重量级的锁,虽然JVM对它做了很多优化,而下面介绍的volatile则是轻量级的synchronized。如果一个变量使用volatile,则它比使用synchronized的成本更加低,因为它不会引起线程上下文的切换和调度。Java语言规范对volatile的定义如下: Java编程语言允许线程访问共享变量,为了确保共享变量能被准确和一致地更

2017-02-08 17:51:54 5449 6

原创 【死磕Java并发】-----深入分析synchronized的实现原理

记得刚刚开始学习Java的时候,一遇到多线程情况就是synchronized,相对于当时的我们来说synchronized是这么的神奇而又强大,那个时候我们赋予它一个名字“同步”,也成为了我们解决多线程情况的百试不爽的良药。但是,随着我们学习的进行我们知道synchronized是一个重量级锁,相对于Lock,它会显得那么笨重,以至于我们认为它不是那么的高效而慢慢摒弃它。 诚然,随着Javs SE

2017-02-05 21:48:08 44582 49

老干爹/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关注的人

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