- 博客(7)
- 收藏
- 关注
原创 BlockingQueue阻塞队列实现消费者生产者模型
BlockingQueue阻塞队列实现消费者生产者模型 阻塞队列提供了可阻塞的put和take方法,以及支持定时的offer和poll方法。这一结构非常适合用于实现生产者——消费者这种设计模式。示例: 下面给出的例子实现一个给定路径的桌面搜索的功能(扫描给定路径上的文件并建立索引)。生产者import java.io.File;import java....
2018-05-31 23:36:35 289
原创 深入理解JVM(四)
深入理解JVM(四)第6章 类文件结构1. 任何一个Class文件都对应唯一一个类或者接口。但反之不一定成立。(类和接口也可以通过类加载器直接生成)。2.Class中文件字节序为大端。(大端:高低低高)(Intel的x86是小端)3.每个Class文件开头4个字节叫魔数,Class是0xCAFEBABE。(恶心心。 话说当年看廖雪峰讲Win创建txt开头的4个...
2018-05-31 23:29:21 176
原创 Java中的闭锁
闭锁1.定义: 闭锁是一种同步工具,可以延迟线程直到其达到其终止状态。例如:DOTA2中匹配等待点确定界面的设计,需要等待所有十个玩家都点就绪才能继续进行。其实也有些类似于之前CUDA编程中用到的 __syncthreads()方法去同步同一个块内的线程。2.实现CountDownLatch是一种灵活的闭锁实现。一般会把StartGate设置1,EndGate...
2018-05-21 14:32:12 4765 1
原创 深入理解JVM(三)
深入理解JVM(三)第3章 垃圾收集器与内存分配策略 Java和C++之间有一堵内存动态分配和垃圾回收的高墙,墙外面的人想进来,墙里面的人却想出来。1.判断对象是否死亡a)引用计数法(c++中smart pointer & python)有人引用我,我就还有价值不会被GC,直到计数为0,我就真的完蛋了。(CoCo中的RememberMe)...
2018-05-10 13:58:35 203
转载 CentOS7下编译OpenJDK8源码
转载From: MR.HE ,博客链接为 https://blog.csdn.net/hxm_Code/article/details/77417709本来想自己编译openJDK10的,结果编译的时候遇到了一些问题,可能是机子的GCC版本问题吧(我猜要升级到5+),后来参考这篇文章完成了openJDK8的编译。 ...
2018-05-08 22:02:36 644
原创 深入理解JVM(二)
深入理解JVM(二)第2章 Java内存区和内存溢出异常1.Java运行时数据区1.1程序计数器 PCRa)通过改变PCR的数值来选取下一条需要执行的字节码指令。b)一个内核只会执行一条线程中的指令。所以单核多线程是SBc)PCR区域是线程私有的。1.2 Java虚拟机栈a)他有一个局部变量表存放编译期已知的各种基本数据类...
2018-05-01 21:26:08 133
原创 深入理解JVM(一)
深入理解JVM(一)第1章 走进Java1.Java语言、JavaAPI、JVM合称JDK2.JavaSE API和JVM合称JRE3.Java只提供了相对安全的内存管理和访问机制,避免了大部分的内存泄漏和指针越界(比如new出来的东西)。...
2018-05-01 21:25:39 126
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人