目录导引: 一、简介 二、源码解析(JDK8) 三、运用示例 一、简介 AQS(AbstractQueuedSynchronizer)的核心思想是基于volatile int state变量,配合Unsafe工具对其原子性的操作来实现对当前state状态值进行修改。 同步器内部依赖一个FIFO的双向 ...
分类:
其他好文 时间:
2019-10-13 22:16:12
阅读次数:
110
在iOS9.0之前,通知中心对观察者对象进行unsafe_unretained 引用,当被引用的对象释放时不会自动置为nil,,也就是成了野指针。 iOS9.0之后通知中心对观察者做了弱引用。 参考:https://blog.csdn.net/sinat_28585351/article/detai ...
分类:
移动开发 时间:
2019-10-12 15:52:46
阅读次数:
230
CAS的原理 CAS(compareAndSwap),比较交换,是一种无锁的原子算法。 Cas(value,expect,newValue),如果vaule和ecpect一样,就更新为newValue,否则什么也不做,返回false 实现原理 通过调用unsafe.compareAndSwapInt ...
分类:
其他好文 时间:
2019-10-11 12:41:27
阅读次数:
61
问题channel 是如何处理发送一半中断后继续重发的channel 具体作用是什么概述这一节我们将介绍 Channel 和内部接口 Unsafe .其中Unsafe 是内部接口,聚合在Channel 中协助网络读写操作相关的操作,设计初衷就是 Channel 的内部辅助类,不应该被用户使用。 继承... ...
分类:
Web程序 时间:
2019-10-08 14:01:38
阅读次数:
80
任意文件下载漏洞 很多网站都会提供文件下载功能,即用户可以通过点击下载链接,下载到链接所对应的文件。 但是,如果文件下载功能设计不当,则可能导致攻击者可以通过构造文件路径,从而获取到后台服务器上的其他的敏感文件。(任意文件下载) 在靶场的unsafe filedownload栏目可以看到 这些球星 ...
分类:
其他好文 时间:
2019-10-08 12:41:45
阅读次数:
202
一、CAS概念 1. 悲观锁:一个线程加锁后其他线程会挂起,直到持有锁的线程释放锁,悲观锁从最坏的情况考虑问题。独占锁是一种悲观锁,例如synchronized关键字加锁,例如可重入锁ReentrantLock 2. 乐观锁:不加锁,多个线程共同执行,如果发生了冲突,就去重试(do...while. ...
分类:
其他好文 时间:
2019-10-05 18:18:43
阅读次数:
81
在使用sprintf()函数的程序中,经常会出现警告;warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation ...
分类:
其他好文 时间:
2019-10-04 20:58:05
阅读次数:
81
1.结构 1.7 segment+HashEntity+Unsafe 1.8 移除Segment,使锁的粒度更小,Synchronized+CAS+Node+Unsafe 2. put() 1.7 先定位 Segment,再定位桶, put 全程加锁,没有获取锁的线程提前找桶的位置,并最多自旋64次 ...
分类:
其他好文 时间:
2019-09-29 22:13:19
阅读次数:
118
Chrome,你这坑人的默认非安全端口 https://www.cnblogs.com/soyxiaobi/p/9507798.html 之前遇到过 这个总结的比之前那篇要好呢. 今天用chrome打开页面的发现一个错误:ERR_UNSAFE_PORT字面意思是error:不安全端口。 一、什么是默 ...
分类:
其他好文 时间:
2019-09-29 09:55:54
阅读次数:
110
1.什么是XMLHttpRequest? 首先XMLHttpRequest是一个构造函数,是位于Window对象上的一个构造函数。 所以要使用需要通过new命令创建一个实例。 由于位于Window对象,所以实例化的xhr对象其实就是一个浏览器内置的对象。 它提供了对http协议的完全的访问,用于JS ...
分类:
Web程序 时间:
2019-09-27 01:29:32
阅读次数:
130