2018第22周回顾

Posted 时间的朋友

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2018第22周回顾相关的知识,希望对你有一定的参考价值。

原子属性更新器AtomicReferenceFieldUpdater的使用,AtomicReferenceFieldUpdater是Java原子属性更新器,它能让普通对象的get、set操作变为原子操作,从而避免多线程环境下同步操作,提高程序运行效率。原子属性更新器常用的方法是compareAndSet比较并设置属性值,getAndSet返回当前属性值并设置新值。

自旋锁、排队自旋锁、MCS锁、CLH锁讲了自旋锁的几种实现,最简单的用AtomicReference<Thread>对象实现一个自旋锁,用它的compareAndSet方法循环判断当前对象是否持有锁来实现加锁、解锁操作。但这种实现是非公平的,若要实现公平自旋锁,可借用服务号、排队号概念,用两个AtomicInteger变量实现加锁解锁操作。为进一步提升性能,让申请线程只在本地变量上自旋,又有人发明了MCS锁和CLH锁,它们都是基于AtomicReferenceFieldUpdater实现。

Java并发之synchronized讲了Java同步关键词的实现原理,以及优化过程,从Java6开始,默认开启偏向锁,当不同线程申请锁导致偏向锁失败后升级为轻量级锁,当在短时间有不同线程同时争抢锁导致轻量级锁失败后尝试自旋操作,如果超出自旋次数则升级为重量级锁。在对象头中有对象锁类型标志。

HTTP基本知识回顾了它的基本原理,请求报文、响应报文的格式要求以及常见响应头作用。

HTTP大文件上传要考虑很多问题,比如同时支持上传文件数、最大上传文件大小,上传文件服务器内存占用,多线程分片上传,断点续传,文件检验失败重传等。

 

以上是关于2018第22周回顾的主要内容,如果未能解决你的问题,请参考以下文章

Spring一周回顾(2019年3月22日)

自动驾驶风波不断全球领袖讨论如何监管科技企业...一周热点新闻回顾

2017第35周回顾

知识点回顾及委托(2018/10/22)

一周回顾:5个C语言实例

一周回顾:10个C语言实例