Java中Unsafe类详解
- 通过Unsafe类可以分配内存,可以释放内存;类中提供的3个本地方法 allocateMemory、reallocateMemory、freeMemory分别用于分配内存,扩充内存和 释放内存,与C语言中的3个方法对应。
- 可以定位对象某字段的内存位置,也可以修改对象的字段值,即使它是私有的;
- 挂起与恢复:将一个线程进行挂起是通过park方法实现的,调用 park后,线程将一直阻 塞直到超时或者中断等条件出现。unpark可以终止一个挂起的线程,使其恢复正常。整 个并发框架中对线程的挂起操作被封装在 LockSupport类中,LockSupport类中有各种 版本pack方法,但最终都调用了Unsafe.park()方法。
- Java中Unsafe类详解