![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java后端
大白人
这个作者很懒,什么都没留下…
展开
-
AQS(三)
原子操作原子(atom)本意是“不能被进一步分割的最小粒子”,而原子操作(atomic operation)意为”不可被中断的一个或一系列操作”。在多处理器上实现原子操作就变得 有点复杂。本文让我们一起来聊一聊在Inter处理器和Java里是如何实现原子操作的。2、处理器如何实现原子操作32位IA-32处理器使用基于对缓存加锁或总线加锁的方式来实现多处理器之间的原子操 作 2.1 处理器自动保证基本内存操作的原子性首先处理器会自动保证基本的内存操作的原子性。处理器保证从系统内存当中读取或原创 2020-07-12 15:36:07 · 196 阅读 · 0 评论 -
AQS(二)
1. Semaphore 是什么? Semaphore 字面意思是信号量的意思,它的作用是控制访问特定资源的线程数目。 2. 怎么使用 Semaphore? 2.1 构造方法 public Semaphore(int permits) public Semaphore(int permits, boolean fair) permits 表示许可线程的数量 fair 表示公平原创 2020-07-12 01:08:26 · 133 阅读 · 0 评论 -
AQS(一)
Java并发编程核心在于java.concurrent.util包而juc当中的大多数同步器实现都是围绕着共同的基础行为,比如等待队列、条件队列、独占获取、共享获取等,而这个行为的抽象就是基于AbstractQueuedSynchronizer简称AQS,AQS定义了一套多线程访问共享资源的同步器框架,是一个依赖状态(state)的同步器。AQS具备的特性:阻塞等待队列,共享/独占, 公平/非公平,可重入,允许中断例如Java.concurrent.util当中同步器的实现如Lock,Latc.原创 2020-07-11 15:23:12 · 216 阅读 · 0 评论 -
锁的升级膨胀过程
锁的升级过程首先我们要明确的是加锁的目的:加锁是为了序列化(也就是按顺序)访问临界资源(临界资源就是一个或多个线程想要竞争并修改的对象),即同一时刻只能有一个线程去访问临界资源(此过程称为同步互斥访问)这章主要是讲锁由无锁升级为重量级锁的过程!在开始讲解锁升级之前,我们先来了解下synchronized的使用与原理:加锁方式:1.同步实例方法,锁是当前实例对象2.同步类方法,锁是当前类对象3.同步代码块,锁是括号里面的对象底层原理:synchronized属于JVM内置锁,也是隐式锁原创 2020-07-11 01:08:40 · 799 阅读 · 2 评论 -
报错Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.
@T报错Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.OC欢迎使用Markdown编辑器首先说下我的情况,今年刚来公司实习,组长让练手个小demo,用的都是公司十年前的框架(你的反应我懂!!!)我是在导出数据到Excel后报的错误,网上百度了三四天,都没解决。最后!!!!!把tomcat7换成tomcat6功能实现!!!!!!新的改变我们对Markdown编辑器进行了一原创 2020-07-01 10:59:14 · 1315 阅读 · 0 评论 -
Cause: java.sql.SQLException: ORA-00904: "PASSWORD": 标识符无效
Cause: java.sql.SQLException: ORA-00904: “PASSWORD”: 标识符无效遇到这个问题上网查了很久还是没解决,最后从根源找起才解决问题。解决方法:oracle 建的表与实体类写的属性是否一致。有没有多一个字母或者少一个字母。千万要注意!!!!...原创 2018-12-17 21:36:13 · 2243 阅读 · 1 评论