public class MyObject {
// ...
}
ObjectPool<MyObject> objectPool = new ObjectPool<>(MyObject::new);
MyObject object = objectPool.acquire();
// ...
objectPool.release(object);
MirageBuffer buffer = MirageBuffer.allocateDirect(1024);
buffer.putInt(123);
buffer.putDouble(3.14);
buffer.putLong(987654321);
int intValue = buffer.getInt();
double doubleValue = buffer.getDouble();
long longValue = buffer.getLong();
buffer.release();
FiberScheduler scheduler = FiberScheduler.createDefault();
Fiber<Long> fiber = Fiber.schedule(scheduler, () -> {
// ...
return result;
});
Long result = fiber.join();
scheduler.shutdown();
<dependencies>
<dependency>
<groupId>org.mirageframework</groupId>
<artifactId>mirage-core</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>