readonly: 此标记说明属性是只读的,默认的标记是读写,如果你指定了只读,在@implementation中只需要一个读取器。或者如果你使用@synthesize关键字,也是有读取器方法被解析。而且如果你试图使用点操作符为属性赋值,你将得到一个编译错误。 readwrite: 此标记说明属性会 ...
分类:
移动开发 时间:
2018-12-14 10:54:17
阅读次数:
199
之前讲了《AQS源码阅读》和《ReentrantLock源码阅读》,本次将延续阅读下ReentrantReadWriteLock,建议没看过之前两篇文章的,先大概了解下,有些内容会基于之前的基础上阅读。这个并不是ReentrantLock简单的升级,而是落地场景的优化,我们来详细了解下吧。背景JUC包里面已经有一个ReentrantLock了,为何还需要一个ReentrantReadWriteLo
分类:
编程语言 时间:
2018-11-16 20:41:44
阅读次数:
192
概述 ReentrantReadWriteLock是Lock的另一种实现方式,ReentrantLock是一个排他锁,同一时间只允许一个线程访问,而ReentrantReadWriteLock允许多个读线程同时访问,但不允许写线程和读线程、写线程和写线程同时访问。相对于排他锁,提高了并发性。在实际应 ...
分类:
编程语言 时间:
2018-11-15 13:34:58
阅读次数:
244
切换到要加密的数据库use diary 创建有 readWrite 权限的用户db.createUser({ user: "youruser", pwd: "yourpassword", roles: [{ role: "readWrite", db: "diary" }] }) 启用权限验证./m ...
分类:
数据库 时间:
2018-11-03 19:19:22
阅读次数:
204
1,Netty简述 2,Netty原理 3,Netty应用场景 ...
分类:
Web程序 时间:
2018-10-22 10:21:10
阅读次数:
185
使用线程池的好处 引用自 http://ifeve.com/java-threadpool/ 的说明: 降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行。 提高线程的可管理性。线程是稀缺资源,如果无限制的创建, ...
分类:
编程语言 时间:
2018-09-30 18:13:50
阅读次数:
172
锁的分类大致如下:公平锁/非公平锁可重入锁/不可重入锁独享锁/共享锁乐观锁/悲观锁分段锁 1、公平锁/非公平锁公平锁就是严格按照线程启动的顺序来执行的,不允许其他线程插队执行的;而非公平锁是允许插队的。 默认情况下 ReentrantLock 和 synchronized 都是非公平锁。Reentr ...
分类:
编程语言 时间:
2018-09-26 22:09:08
阅读次数:
200
Mongodb enable authentication MongoDB 默认直接连接,无须身份验证,如果当前机器可以公网访问,且不注意Mongodb 端口(默认 27017)的开放状态,那么Mongodb就会产生安全风险,被利用此配置漏洞,入侵数据库。 容易遭受入侵的环境 使用默认 mongod ...
分类:
数据库 时间:
2018-09-24 19:30:54
阅读次数:
218
FileAccess.Read指定文件为Read,FileShare.ReadWrite指定其他进程可以读写该文件。如不加FileShare.ReadWrite只加FileAccess.Read则只能同时读,不加FileAccess.Read则同时读也不行。 ...
同一进程 重入锁 使用ReentrantLock获取锁的时候回判断当前线程是否为获取锁的线程,如果是则将同步的状态+1,释放锁的时候则将状态-1,只有将同步状态的次数置为0的时候才会是最终释放锁。 读写锁 使用ReentrantReadWriteLock,同时维护一对锁:读锁和写锁。当写线程访问时则 ...
分类:
编程语言 时间:
2018-09-18 22:42:05
阅读次数:
239