Java
Joel.Wang老王
要坚持~
展开
-
java.nio.DirectByteBuffer的分配与回收源码剖析
直接内存简介java NIO使用直接内存时,可以减少一次堆内内存到对外内存的转换,从而提高效率。在java中,语义上使用DirectByteBuffer对象表示一段直接内存,而本质上DirectByteBuffer对象是位于堆内的,它指向了堆外的直接内存。直接内存不归jvm管理,所以使用时,需要小心。具体如何本文将详细分析。DirectByteBuffer的基本使用如下:public sta...原创 2019-06-24 19:13:31 · 1630 阅读 · 0 评论 -
java中String类型的最大长度
转载自:https://blog.csdn.net/lishushan/article/details/83761036在cpp中为了可移植性,string的长度是string::size_type,突然就想知道java允许的最大字符串长度为多少。看String的源码:public final class String implements java.io.Serializable, ...转载 2019-07-13 07:31:47 · 12208 阅读 · 6 评论 -
为什么在Java中object.wait()/notify()方法必须在持有锁的情况下才能执行?
首先,如果在未持有对象锁的情况下调用object.wait()/notify(),直接会报错,JDK已经做好保护。其次,为什么要这么设计?其实这是一种安全设计,为了防止wait错过notify。请看下面代码: boolean wakeuped = false; void dowait() { if(wakeuped) return; wait(); ...转载 2019-07-11 21:30:52 · 3471 阅读 · 3 评论 -
java并发学习总结
这是一篇学习总结,不会深入到细节,不过好处是:可以快速获得对java并发编程的整体认识,并且会了解到一些核心的原理。一、JAVA并发的主要组件1 线程池2 Future3 锁:ReentrantLock、AbstractQueuedSynchronizer和LockSupport工具类4 队列(阻塞、非阻塞,优先队列、延迟队列)5 并发容器类:ConcurrentHashMap/C...原创 2019-07-31 07:56:46 · 320 阅读 · 1 评论