摘要: 返回主目录 深入理解Java内存模型(四)——volatile 我这么理解对不对,在a=2时,ready内存已经是true 了。ready 没有上锁缓存,也就是说,另外一个线程读取的是,缓存数据。当判断a!=2 时 a进行了读取,load load 屏障 ready进行内存的加载。 所以这是打印re 阅读全文
posted @ 2018-07-21 22:41 yunchong1019 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 返回主目录 final修饰变量 final成员变量表示常量,只能被赋值一次,赋值后值不再改变。 当final修饰一个原生数据类型时,表示该原生数据类型的值不能发生变化; 如果final修饰一个引用类型时,表示该引用类型不能再指向其他对象了,但该引用所指向的对象的内容是可以发生变化的。 本质上是一回事 阅读全文
posted @ 2018-07-20 09:16 yunchong1019 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 什么是资源限制 资源限制是指在并发编程时,程序的执行速度受限于计算机硬件资源和软件资源。 如硬件: 上传和下载的速度。磁盘读写速度。CPU的处理速度。软件:有数据库的连接、socket连接数。 资源限制的引发的问题 并发编程中,将代码执行速度加快的原则是将代码中串行执行的部分变成并发执行,但是如果将 阅读全文
posted @ 2018-07-20 00:18 yunchong1019 阅读(445) 评论(0) 推荐(0) 编辑
摘要: 核心 阅读全文
posted @ 2018-07-20 00:02 yunchong1019 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 返回主目录 com.qdb.thinkv.thread 避免死锁的几种方式 1.避免一个线程同时获取多个锁。 2.避免一个线程在锁内同时占用多个资源,尽量保证每个锁只占用一个资源。 3.尝试使用定时锁。使用lock.tryLock(time out)来替换使用内部锁机制。 4.对于数据库,加锁和解锁 阅读全文
posted @ 2018-06-03 14:37 yunchong1019 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 返回主目录 并行和串行执行 总结:线程有创建和上下文切换的开销。 减少上下文切换的方法有无锁并发编程、CAS算法、使用最少线程和使用协程。 1.无锁并发编程。 多线程竞争锁时,会引起上下文切换,多线程处理数据时,可以用一些办法来避免使用锁。如数据的ID按照Hash算法取模分段,不同的线程处理不同段的 阅读全文
posted @ 2018-06-03 11:40 yunchong1019 阅读(175) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2018-06-03 01:07 yunchong1019 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 1.“==” 和 “equeal” 的区别 阅读全文
posted @ 2017-05-08 11:00 yunchong1019 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 作为一个专业技术人员,专业的名词必须掌握。 要求: 理解含义 知道怎么读 1.散列函数(hash function)又称哈希函数是将任意长度的输入转化为定长输出的算法。MD5就是散列函数的一种。 官方解释:一般的线性表,树中,记录在结构中的相对位置是随机的,即和记录的关键字之间不存在确定的关系,因此 阅读全文
posted @ 2017-04-29 10:49 yunchong1019 阅读(124) 评论(0) 推荐(0) 编辑
摘要: java内存回收机制与对象close() 在对文件的操作、数据库的操作、通信的操作,都有一个方法是close 为什么需要调用close呢? close释放的是资源,而不是持有资源的对象 java可以自动回收的是对象,表现为回收对象分配的内存 但不能回收资源,如果不执行close,可能会造成资源耗尽。 阅读全文
posted @ 2017-04-13 22:06 yunchong1019 阅读(200) 评论(0) 推荐(0) 编辑