- 博客(33)
- 收藏
- 关注
原创 简单说说synchronized
由于同一时间只能有一个线程执行,因此,在进入代码块的时候,会去主存中读取共享变量,在操作完成后刷回到主内存中。代码块执行过程是串行的,因此可以保证操作的原子性,同时操作完成后,会将数据回刷到主存,后续线程肯定可以拿到最新值,因此可以保证可见性。在jdk1.6以后的版本中,对synchronized关键字进行了优化,引入了偏向锁和轻量级锁,锁的升级顺序为 无锁-->偏向锁-->轻量级锁-->重量级锁。锁只能升级,不能降级。在一般的描述中,编发编程有两个重要的概念,分别是可见性和原子性。
2024-10-06 22:07:52
252
原创 多线程系列-synchronized
多线程系列-synchronizedsynchronized什么是synchronizedsynchronized的应用场景是在多线程的环境下实现方法的同步或者代码块的同步,就是说,如果你的一段代码被synchronized修饰,那么你这一段代码就只能串行package com.luban.syn;import java.util.concurrent.TimeUnit;/**...
2020-02-01 22:02:40
111
原创 什么是java代理
什么是java代理代理是设计模式的一种,其原理就是通过代理对象去访问目标对象,而外部只能访问到代理对象在编程中有这么一种思想,你不要随便的去修改已经写好的代码,如需修改,那么可以通过代理来扩展类的功能。静态代理什么是静态代理,静态代理就是你定义一个接口或者是父类,然后代理类与被代理类都需要继承这个接口,在代理类中实现一个方法,需要注入被代理类,这样就能通过代理类去访问被代理类,同时,...
2019-09-30 17:35:00
2551
3
原创 Docker系列之docker安装以及docker安装nginx
Docker是一个go语言编写的开源项目,是一种,打包,输送,运行任何应用容器解决方案。 docker当前适用于linux平台,而且其非常容易上手,可以说是专门为开发人员,运维以及测试人员准备的一个开发工具首先要查看你的系统中是否有curl命令,如果要知道当前系统中是否安装了curl命令,可以使用 which curl 来查看是否安装了命令,如果没有安装则可以使用 以上结果说明...
2018-08-31 17:14:17
1329
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人