实例介绍
【实例简介】
Agrona提供了一组在Java构建高性能应用程序时常用的数据结构和实用方法。其中包括缓存、定时器、并发服务等,同时还提供了支持Simple Binary Encoding消息编解码的高性能缓冲区实现。本文介绍了Agrona提供的实用工具,使用Gradle构建项目,需要使用Java 8版本以上。
【实例截图】
【核心代码】
文件清单
└── agrona-5cbbd60d9141ab18c12baade9da2c4610abd0233
├── agrona
│ └── src
│ ├── main
│ │ └── java
│ │ └── org
│ │ └── agrona
│ │ ├── AbstractMutableDirectBuffer.java
│ │ ├── AsciiEncoding.java
│ │ ├── AsciiNumberFormatException.java
│ │ ├── AsciiSequenceView.java
│ │ ├── BitUtil.java
│ │ ├── BufferUtil.java
│ │ ├── CloseHelper.java
│ │ ├── collections
│ │ │ ├── ArrayListUtil.java
│ │ │ ├── ArrayUtil.java
│ │ │ ├── BiInt2NullableObjectMap.java
│ │ │ ├── BiInt2ObjectMap.java
│ │ │ ├── CollectionUtil.java
│ │ │ ├── Hashing.java
│ │ │ ├── Int2IntCounterMap.java
│ │ │ ├── Int2IntHashMap.java
│ │ │ ├── Int2NullableObjectHashMap.java
│ │ │ ├── Int2ObjectCache.java
│ │ │ ├── Int2ObjectHashMap.java
│ │ │ ├── IntArrayList.java
│ │ │ ├── IntArrayQueue.java
│ │ │ ├── IntHashSet.java
│ │ │ ├── IntIntConsumer.java
│ │ │ ├── IntIntFunction.java
│ │ │ ├── IntIntPredicate.java
│ │ │ ├── IntLruCache.java
│ │ │ ├── IntObjConsumer.java
│ │ │ ├── IntObjectToObjectFunction.java
│ │ │ ├── IntObjPredicate.java
│ │ │ ├── MutableBoolean.java
│ │ │ ├── MutableInteger.java
│ │ │ ├── MutableLong.java
│ │ │ ├── MutableReference.java
│ │ │ ├── NullReference.java
│ │ │ ├── Object2IntCounterMap.java
│ │ │ ├── Object2IntHashMap.java
│ │ │ ├── Object2NullableObjectHashMap.java
│ │ │ ├── Object2ObjectHashMap.java
│ │ │ ├── ObjectHashSet.java
│ │ │ ├── ObjectIntToIntFunction.java
│ │ │ ├── ObjIntConsumer.java
│ │ │ ├── ObjIntPredicate.java
│ │ │ ├── package-info.java
│ │ │ └── UnmodifiableCollectionView.java
│ │ ├── concurrent
│ │ │ ├── AbstractConcurrentArrayQueue.java
│ │ │ ├── AgentInvoker.java
│ │ │ ├── Agent.java
│ │ │ ├── AgentRunner.java
│ │ │ ├── AgentTerminationException.java
│ │ │ ├── AtomicBuffer.java
│ │ │ ├── BackoffIdleStrategy.java
│ │ │ ├── broadcast
│ │ │ │ ├── BroadcastBufferDescriptor.java
│ │ │ │ ├── BroadcastReceiver.java
│ │ │ │ ├── BroadcastTransmitter.java
│ │ │ │ ├── CopyBroadcastReceiver.java
│ │ │ │ ├── package-info.java
│ │ │ │ └── RecordDescriptor.java
│ │ │ ├── BusySpinIdleStrategy.java
│ │ │ ├── CachedEpochClock.java
│ │ │ ├── CachedNanoClock.java
│ │ │ ├── CompositeAgent.java
│ │ │ ├── ControllableIdleStrategy.java
│ │ │ ├── ControlledMessageHandler.java
│ │ │ ├── CountedErrorHandler.java
│ │ │ ├── DynamicCompositeAgent.java
│ │ │ ├── EpochClock.java
│ │ │ ├── EpochMicroClock.java
│ │ │ ├── EpochNanoClock.java
│ │ │ ├── errors
│ │ │ │ ├── DistinctErrorLog.java
│ │ │ │ ├── ErrorConsumer.java
│ │ │ │ ├── ErrorLogReader.java
│ │ │ │ ├── LoggingErrorHandler.java
│ │ │ │ └── package-info.java
│ │ │ ├── HighResolutionClock.java
│ │ │ ├── HighResolutionTimer.java
│ │ │ ├── IdGenerator.java
│ │ │ ├── IdleStrategy.java
│ │ │ ├── ManyToManyConcurrentArrayQueue.java
│ │ │ ├── ManyToOneConcurrentArrayQueue.java
│ │ │ ├── ManyToOneConcurrentLinkedQueue.java
│ │ │ ├── MappedResizeableBuffer.java
│ │ │ ├── MemoryAccess.java
│ │ │ ├── MessageHandler.java
│ │ │ ├── NanoClock.java
│ │ │ ├── NoOpIdleStrategy.java
│ │ │ ├── NoOpLock.java
│ │ │ ├── OffsetEpochNanoClock.java
│ │ │ ├── OneToOneConcurrentArrayQueue.java
│ │ │ ├── package-info.java
│ │ │ ├── Pipe.java
│ │ │ ├── QueuedPipe.java
│ │ │ ├── RecordBuffer.java
│ │ │ ├── ringbuffer
│ │ │ │ ├── ManyToOneRingBuffer.java
│ │ │ │ ├── OneToOneRingBuffer.java
│ │ │ │ ├── package-info.java
│ │ │ │ ├── RecordDescriptor.java
│ │ │ │ ├── RingBufferDescriptor.java
│ │ │ │ └── RingBuffer.java
│ │ │ ├── ShutdownSignalBarrier.java
│ │ │ ├── SigIntBarrier.java
│ │ │ ├── SigInt.java
│ │ │ ├── SleepingIdleStrategy.java
│ │ │ ├── SleepingMillisIdleStrategy.java
│ │ │ ├── SnowflakeIdGenerator.java
│ │ │ ├── status
│ │ │ │ ├── AtomicCounter.java
│ │ │ │ ├── AtomicLongPosition.java
│ │ │ │ ├── ConcurrentCountersManager.java
│ │ │ │ ├── CountersManager.java
│ │ │ │ ├── CountersReader.java
│ │ │ │ ├── package-info.java
│ │ │ │ ├── Position.java
│ │ │ │ ├── ReadablePosition.java
│ │ │ │ ├── StatusIndicator.java
│ │ │ │ ├── StatusIndicatorReader.java
│ │ │ │ ├── UnsafeBufferPosition.java
│ │ │ │ └── UnsafeBufferStatusIndicator.java
│ │ │ ├── SystemEpochClock.java
│ │ │ ├── SystemEpochMicroClock.java
│ │ │ ├── SystemEpochNanoClock.java
│ │ │ ├── SystemNanoClock.java
│ │ │ ├── UnsafeBuffer.java
│ │ │ └── YieldingIdleStrategy.java
│ │ ├── console
│ │ │ ├── ContinueBarrier.java
│ │ │ └── package-info.java
│ │ ├── DeadlineTimerWheel.java
│ │ ├── DelegatingErrorHandler.java
│ │ ├── DirectBuffer.java
│ │ ├── ErrorHandler.java
│ │ ├── ExpandableArrayBuffer.java
│ │ ├── ExpandableDirectByteBuffer.java
│ │ ├── ExpandableRingBuffer.java
│ │ ├── generation
│ │ │ ├── CharSequenceJavaFileObject.java
│ │ │ ├── ClassFileManager.java
│ │ │ ├── CompilerUtil.java
│ │ │ ├── DoNotSub.java
│ │ │ ├── DynamicPackageOutputManager.java
│ │ │ ├── JavaClassObject.java
│ │ │ ├── OutputManager.java
│ │ │ ├── package-info.java
│ │ │ ├── PackageOutputManager.java
│ │ │ ├── ResourceConsumer.java
│ │ │ ├── SpecialisationGenerator.java
│ │ │ └── StringWriterOutputManager.java
│ │ ├── hints
│ │ │ ├── package-info.java
│ │ │ └── ThreadHints.java
│ │ ├── io
│ │ │ ├── DirectBufferDataInput.java
│ │ │ ├── DirectBufferInputStream.java
│ │ │ ├── DirectBufferOutputStream.java
│ │ │ ├── ExpandableDirectBufferOutputStream.java
│ │ │ └── package-info.java
│ │ ├── IoUtil.java
│ │ ├── LangUtil.java
│ │ ├── ManagedResource.java
│ │ ├── MarkFile.java
│ │ ├── MutableDirectBuffer.java
│ │ ├── nio
│ │ │ ├── NioSelectedKeySet.java
│ │ │ ├── package-info.java
│ │ │ └── TransportPoller.java
│ │ ├── package-info.java
│ │ ├── PrintBufferUtil.java
│ │ ├── PropertyAction.java
│ │ ├── References.java
│ │ ├── sbe
│ │ │ ├── CompositeDecoderFlyweight.java
│ │ │ ├── CompositeEncoderFlyweight.java
│ │ │ ├── DecoderFlyweight.java
│ │ │ ├── EncoderFlyweight.java
│ │ │ ├── Flyweight.java
│ │ │ ├── MessageDecoderFlyweight.java
│ │ │ ├── MessageEncoderFlyweight.java
│ │ │ ├── MessageFlyweight.java
│ │ │ └── package-info.java
│ │ ├── SemanticVersion.java
│ │ ├── Strings.java
│ │ ├── SystemUtil.java
│ │ ├── UnsafeAccess.java
│ │ └── Verify.java
│ └── test
│ ├── java
│ │ └── org
│ │ └── agrona
│ │ ├── AsciiEncodingTest.java
│ │ ├── AsciiSequenceViewTest.java
│ │ ├── BitUtilTest.java
│ │ ├── BufferCharSequenceOperationsTest.java
│ │ ├── BufferCompareTest.java
│ │ ├── BufferExpansionTest.java
│ │ ├── BufferStringOperationsTest.java
│ │ ├── BufferUtilTest.java
│ │ ├── collections
│ │ │ ├── ArrayUtilTest.java
│ │ │ ├── BiInt2NullableObjectHashMapTest.java
│ │ │ ├── BiInt2ObjectMapTest.java
│ │ │ ├── CharSequenceKey.java
│ │ │ ├── CharSequenceKeyTest.java
│ │ │ ├── CollectionUtilTest.java
│ │ │ ├── ConformanceTestsSuite.java
│ │ │ ├── Int2IntCounterMapTest.java
│ │ │ ├── Int2IntHashMapConformanceTest.java
│ │ │ ├── Int2IntHashMapNotAvoidingAllocationTest.java
│ │ │ ├── Int2IntHashMapTest.java
│ │ │ ├── Int2NullableObjectHashMapConformanceTest.java
│ │ │ ├── Int2NullableObjectHashMapTest.java
│ │ │ ├── Int2ObjectCacheTest.java
│ │ │ ├── Int2ObjectHashMapConformanceTest.java
│ │ │ ├── Int2ObjectHashMapNotAvoidingAllocationTest.java
│ │ │ ├── Int2ObjectHashMapTest.java
│ │ │ ├── IntArrayListTest.java
│ │ │ ├── IntArrayQueueTest.java
│ │ │ ├── IntHashSetTest.java
│ │ │ ├── IntLruCacheTest.java
│ │ │ ├── Long2LongHashMapConformanceTest.java
│ │ │ ├── Long2LongHashMapTest.java
│ │ │ ├── Long2NullableObjectHashMapConformanceTest.java
│ │ │ ├── Long2ObjectHashMapConformanceTest.java
│ │ │ ├── MapKeyEqualityTests.java
│ │ │ ├── Object2IntCounterMapTest.java
│ │ │ ├── Object2IntHashMapConformanceTest.java
│ │ │ ├── Object2IntHashMapKeyEqualityTests.java
│ │ │ ├── Object2IntHashMapNotAvoidingAllocationTest.java
│ │ │ ├── Object2IntHashMapTest.java
│ │ │ ├── Object2LongHashMapConformanceTest.java
│ │ │ ├── Object2LongHashMapKeyEqualityTests.java
│ │ │ ├── Object2NullableObjectHashMapConformanceTest.java
│ │ │ ├── Object2ObjectHashMapConformanceTest.java
│ │ │ ├── Object2ObjectHashMapKeyEqualityTests.java
│ │ │ ├── Object2ObjectHashMapTest.java
│ │ │ ├── Object2ObjectNullableHashMapKeyEqualityTests.java
│ │ │ ├── ObjectHashSetConformanceTest.java
│ │ │ ├── ObjectHashSetIntegerTest.java
│ │ │ └── ObjectHashSetStringTest.java
│ │ ├── concurrent
│ │ │ ├── AgentInvokerTest.java
│ │ │ ├── AgentRunnerTest.java
│ │ │ ├── ArrayQueuePeekTest.java
│ │ │ ├── ArrayQueueSizeTest.java
│ │ │ ├── AtomicBufferTest.java
│ │ │ ├── broadcast
│ │ │ │ ├── BroadcastReceiverTest.java
│ │ │ │ └── BroadcastTransmitterTest.java
│ │ │ ├── CachedClockTest.java
│ │ │ ├── CompositeAgentTest.java
│ │ │ ├── DynamicCompositeAgentTest.java
│ │ │ ├── errors
│ │ │ │ ├── DistinctErrorLogTest.java
│ │ │ │ └── ErrorLogReaderTest.java
│ │ │ ├── HighResolutionTimerTest.java
│ │ │ ├── ManyToOneConcurrentLinkedQueueTest.java
│ │ │ ├── MappedResizeableBufferTest.java
│ │ │ ├── MemoryAccessTest.java
│ │ │ ├── OffsetEpochNanoClockTest.java
│ │ │ ├── QueuedPipeTest.java
│ │ │ ├── ringbuffer
│ │ │ │ ├── ManyToOneRingBufferTest.java
│ │ │ │ └── OneToOneRingBufferTest.java
│ │ │ ├── SigIntTest.java
│ │ │ ├── SnowflakeIdGeneratorTest.java
│ │ │ ├── status
│ │ │ │ ├── AtomicCounterTest.java
│ │ │ │ ├── CountersManagerTest.java
│ │ │ │ ├── UnsafeBufferPositionTest.java
│ │ │ │ └── UnsafeBufferStatusIndicatorTest.java
│ │ │ └── UnsafeBufferTest.java
│ │ ├── DeadlineTimerWheelTest.java
│ │ ├── ExpandableArrayBufferTest.java
│ │ ├── ExpandableDirectByteBufferTest.java
│ │ ├── ExpandableRingBufferTest.java
│ │ ├── hints
│ │ │ └── ThreadHintsTest.java
│ │ ├── io
│ │ │ ├── DirectBufferDataInputAgronaTest.java
│ │ │ ├── DirectBufferDataInputJDKTest.java
│ │ │ ├── DirectBufferDataInputTest.java
│ │ │ ├── DirectBufferInputStreamTest.java
│ │ │ └── DirectBufferOutputStreamTest.java
│ │ ├── IoUtilTest.java
│ │ ├── LangUtilTest.java
│ │ ├── MarkFileTest.java
│ │ ├── MutableDirectBufferTests.java
│ │ ├── nio
│ │ │ └── NioSelectedKeySetTest.java
│ │ ├── PrintBufferUtilTest.java
│ │ ├── ReferencesTest.java
│ │ ├── SemanticVersionTest.java
│ │ ├── StringNumbersLengthsTest.java
│ │ ├── SystemUtilTest.java
│ │ └── UnsafeAccessTest.java
│ └── resources
│ ├── TestFileA.properties
│ └── TestFileB.properties
├── agrona-agent
│ └── src
│ ├── main
│ │ └── java
│ │ └── org
│ │ └── agrona
│ │ └── agent
│ │ ├── BufferAlignmentAgent.java
│ │ ├── BufferAlignmentException.java
│ │ ├── BufferAlignmentInterceptor.java
│ │ └── package-info.java
│ └── test
│ └── java
│ └── org
│ └── agrona
│ └── agent
│ └── BufferAlignmentAgentTest.java
├── agrona-benchmarks
│ └── src
│ └── main
│ └── java
│ └── org
│ └── agrona
│ └── concurrent
│ ├── MutableDirectBufferParseIntAsciiBenchmark.java
│ ├── MutableDirectBufferParseLongAsciiBenchmark.java
│ ├── MutableDirectBufferPutIntAsciiBenchmark.java
│ ├── MutableDirectBufferPutLongAsciiBenchmark.java
│ ├── MutableDirectBufferPutStringAsciiBenchmark.java
│ └── SetMemoryBenchmark.java
├── agrona-concurrency-tests
│ └── src
│ └── main
│ └── java
│ └── org
│ └── agrona
│ └── concurrent
│ ├── ringbuffer
│ │ ├── ManyToOneRingBufferTests.java
│ │ └── OneToOneRingBufferTests.java
│ ├── SnowflakeIdGeneratorTests.java
│ └── UnsafeBufferTests.java
├── build.gradle
├── config
│ └── checkstyle
│ ├── checkstyle.xml
│ └── suppressions.xml
├── CONTRIBUTING.md
├── gradle
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
├── LICENSE
├── publish_artifacts.sh
├── README.md
└── settings.gradle
64 directories, 302 files
Agrona提供了一组在Java构建高性能应用程序时常用的数据结构和实用方法。其中包括缓存、定时器、并发服务等,同时还提供了支持Simple Binary Encoding消息编解码的高性能缓冲区实现。本文介绍了Agrona提供的实用工具,使用Gradle构建项目,需要使用Java 8版本以上。
【实例截图】
【核心代码】
文件清单
└── agrona-5cbbd60d9141ab18c12baade9da2c4610abd0233
├── agrona
│ └── src
│ ├── main
│ │ └── java
│ │ └── org
│ │ └── agrona
│ │ ├── AbstractMutableDirectBuffer.java
│ │ ├── AsciiEncoding.java
│ │ ├── AsciiNumberFormatException.java
│ │ ├── AsciiSequenceView.java
│ │ ├── BitUtil.java
│ │ ├── BufferUtil.java
│ │ ├── CloseHelper.java
│ │ ├── collections
│ │ │ ├── ArrayListUtil.java
│ │ │ ├── ArrayUtil.java
│ │ │ ├── BiInt2NullableObjectMap.java
│ │ │ ├── BiInt2ObjectMap.java
│ │ │ ├── CollectionUtil.java
│ │ │ ├── Hashing.java
│ │ │ ├── Int2IntCounterMap.java
│ │ │ ├── Int2IntHashMap.java
│ │ │ ├── Int2NullableObjectHashMap.java
│ │ │ ├── Int2ObjectCache.java
│ │ │ ├── Int2ObjectHashMap.java
│ │ │ ├── IntArrayList.java
│ │ │ ├── IntArrayQueue.java
│ │ │ ├── IntHashSet.java
│ │ │ ├── IntIntConsumer.java
│ │ │ ├── IntIntFunction.java
│ │ │ ├── IntIntPredicate.java
│ │ │ ├── IntLruCache.java
│ │ │ ├── IntObjConsumer.java
│ │ │ ├── IntObjectToObjectFunction.java
│ │ │ ├── IntObjPredicate.java
│ │ │ ├── MutableBoolean.java
│ │ │ ├── MutableInteger.java
│ │ │ ├── MutableLong.java
│ │ │ ├── MutableReference.java
│ │ │ ├── NullReference.java
│ │ │ ├── Object2IntCounterMap.java
│ │ │ ├── Object2IntHashMap.java
│ │ │ ├── Object2NullableObjectHashMap.java
│ │ │ ├── Object2ObjectHashMap.java
│ │ │ ├── ObjectHashSet.java
│ │ │ ├── ObjectIntToIntFunction.java
│ │ │ ├── ObjIntConsumer.java
│ │ │ ├── ObjIntPredicate.java
│ │ │ ├── package-info.java
│ │ │ └── UnmodifiableCollectionView.java
│ │ ├── concurrent
│ │ │ ├── AbstractConcurrentArrayQueue.java
│ │ │ ├── AgentInvoker.java
│ │ │ ├── Agent.java
│ │ │ ├── AgentRunner.java
│ │ │ ├── AgentTerminationException.java
│ │ │ ├── AtomicBuffer.java
│ │ │ ├── BackoffIdleStrategy.java
│ │ │ ├── broadcast
│ │ │ │ ├── BroadcastBufferDescriptor.java
│ │ │ │ ├── BroadcastReceiver.java
│ │ │ │ ├── BroadcastTransmitter.java
│ │ │ │ ├── CopyBroadcastReceiver.java
│ │ │ │ ├── package-info.java
│ │ │ │ └── RecordDescriptor.java
│ │ │ ├── BusySpinIdleStrategy.java
│ │ │ ├── CachedEpochClock.java
│ │ │ ├── CachedNanoClock.java
│ │ │ ├── CompositeAgent.java
│ │ │ ├── ControllableIdleStrategy.java
│ │ │ ├── ControlledMessageHandler.java
│ │ │ ├── CountedErrorHandler.java
│ │ │ ├── DynamicCompositeAgent.java
│ │ │ ├── EpochClock.java
│ │ │ ├── EpochMicroClock.java
│ │ │ ├── EpochNanoClock.java
│ │ │ ├── errors
│ │ │ │ ├── DistinctErrorLog.java
│ │ │ │ ├── ErrorConsumer.java
│ │ │ │ ├── ErrorLogReader.java
│ │ │ │ ├── LoggingErrorHandler.java
│ │ │ │ └── package-info.java
│ │ │ ├── HighResolutionClock.java
│ │ │ ├── HighResolutionTimer.java
│ │ │ ├── IdGenerator.java
│ │ │ ├── IdleStrategy.java
│ │ │ ├── ManyToManyConcurrentArrayQueue.java
│ │ │ ├── ManyToOneConcurrentArrayQueue.java
│ │ │ ├── ManyToOneConcurrentLinkedQueue.java
│ │ │ ├── MappedResizeableBuffer.java
│ │ │ ├── MemoryAccess.java
│ │ │ ├── MessageHandler.java
│ │ │ ├── NanoClock.java
│ │ │ ├── NoOpIdleStrategy.java
│ │ │ ├── NoOpLock.java
│ │ │ ├── OffsetEpochNanoClock.java
│ │ │ ├── OneToOneConcurrentArrayQueue.java
│ │ │ ├── package-info.java
│ │ │ ├── Pipe.java
│ │ │ ├── QueuedPipe.java
│ │ │ ├── RecordBuffer.java
│ │ │ ├── ringbuffer
│ │ │ │ ├── ManyToOneRingBuffer.java
│ │ │ │ ├── OneToOneRingBuffer.java
│ │ │ │ ├── package-info.java
│ │ │ │ ├── RecordDescriptor.java
│ │ │ │ ├── RingBufferDescriptor.java
│ │ │ │ └── RingBuffer.java
│ │ │ ├── ShutdownSignalBarrier.java
│ │ │ ├── SigIntBarrier.java
│ │ │ ├── SigInt.java
│ │ │ ├── SleepingIdleStrategy.java
│ │ │ ├── SleepingMillisIdleStrategy.java
│ │ │ ├── SnowflakeIdGenerator.java
│ │ │ ├── status
│ │ │ │ ├── AtomicCounter.java
│ │ │ │ ├── AtomicLongPosition.java
│ │ │ │ ├── ConcurrentCountersManager.java
│ │ │ │ ├── CountersManager.java
│ │ │ │ ├── CountersReader.java
│ │ │ │ ├── package-info.java
│ │ │ │ ├── Position.java
│ │ │ │ ├── ReadablePosition.java
│ │ │ │ ├── StatusIndicator.java
│ │ │ │ ├── StatusIndicatorReader.java
│ │ │ │ ├── UnsafeBufferPosition.java
│ │ │ │ └── UnsafeBufferStatusIndicator.java
│ │ │ ├── SystemEpochClock.java
│ │ │ ├── SystemEpochMicroClock.java
│ │ │ ├── SystemEpochNanoClock.java
│ │ │ ├── SystemNanoClock.java
│ │ │ ├── UnsafeBuffer.java
│ │ │ └── YieldingIdleStrategy.java
│ │ ├── console
│ │ │ ├── ContinueBarrier.java
│ │ │ └── package-info.java
│ │ ├── DeadlineTimerWheel.java
│ │ ├── DelegatingErrorHandler.java
│ │ ├── DirectBuffer.java
│ │ ├── ErrorHandler.java
│ │ ├── ExpandableArrayBuffer.java
│ │ ├── ExpandableDirectByteBuffer.java
│ │ ├── ExpandableRingBuffer.java
│ │ ├── generation
│ │ │ ├── CharSequenceJavaFileObject.java
│ │ │ ├── ClassFileManager.java
│ │ │ ├── CompilerUtil.java
│ │ │ ├── DoNotSub.java
│ │ │ ├── DynamicPackageOutputManager.java
│ │ │ ├── JavaClassObject.java
│ │ │ ├── OutputManager.java
│ │ │ ├── package-info.java
│ │ │ ├── PackageOutputManager.java
│ │ │ ├── ResourceConsumer.java
│ │ │ ├── SpecialisationGenerator.java
│ │ │ └── StringWriterOutputManager.java
│ │ ├── hints
│ │ │ ├── package-info.java
│ │ │ └── ThreadHints.java
│ │ ├── io
│ │ │ ├── DirectBufferDataInput.java
│ │ │ ├── DirectBufferInputStream.java
│ │ │ ├── DirectBufferOutputStream.java
│ │ │ ├── ExpandableDirectBufferOutputStream.java
│ │ │ └── package-info.java
│ │ ├── IoUtil.java
│ │ ├── LangUtil.java
│ │ ├── ManagedResource.java
│ │ ├── MarkFile.java
│ │ ├── MutableDirectBuffer.java
│ │ ├── nio
│ │ │ ├── NioSelectedKeySet.java
│ │ │ ├── package-info.java
│ │ │ └── TransportPoller.java
│ │ ├── package-info.java
│ │ ├── PrintBufferUtil.java
│ │ ├── PropertyAction.java
│ │ ├── References.java
│ │ ├── sbe
│ │ │ ├── CompositeDecoderFlyweight.java
│ │ │ ├── CompositeEncoderFlyweight.java
│ │ │ ├── DecoderFlyweight.java
│ │ │ ├── EncoderFlyweight.java
│ │ │ ├── Flyweight.java
│ │ │ ├── MessageDecoderFlyweight.java
│ │ │ ├── MessageEncoderFlyweight.java
│ │ │ ├── MessageFlyweight.java
│ │ │ └── package-info.java
│ │ ├── SemanticVersion.java
│ │ ├── Strings.java
│ │ ├── SystemUtil.java
│ │ ├── UnsafeAccess.java
│ │ └── Verify.java
│ └── test
│ ├── java
│ │ └── org
│ │ └── agrona
│ │ ├── AsciiEncodingTest.java
│ │ ├── AsciiSequenceViewTest.java
│ │ ├── BitUtilTest.java
│ │ ├── BufferCharSequenceOperationsTest.java
│ │ ├── BufferCompareTest.java
│ │ ├── BufferExpansionTest.java
│ │ ├── BufferStringOperationsTest.java
│ │ ├── BufferUtilTest.java
│ │ ├── collections
│ │ │ ├── ArrayUtilTest.java
│ │ │ ├── BiInt2NullableObjectHashMapTest.java
│ │ │ ├── BiInt2ObjectMapTest.java
│ │ │ ├── CharSequenceKey.java
│ │ │ ├── CharSequenceKeyTest.java
│ │ │ ├── CollectionUtilTest.java
│ │ │ ├── ConformanceTestsSuite.java
│ │ │ ├── Int2IntCounterMapTest.java
│ │ │ ├── Int2IntHashMapConformanceTest.java
│ │ │ ├── Int2IntHashMapNotAvoidingAllocationTest.java
│ │ │ ├── Int2IntHashMapTest.java
│ │ │ ├── Int2NullableObjectHashMapConformanceTest.java
│ │ │ ├── Int2NullableObjectHashMapTest.java
│ │ │ ├── Int2ObjectCacheTest.java
│ │ │ ├── Int2ObjectHashMapConformanceTest.java
│ │ │ ├── Int2ObjectHashMapNotAvoidingAllocationTest.java
│ │ │ ├── Int2ObjectHashMapTest.java
│ │ │ ├── IntArrayListTest.java
│ │ │ ├── IntArrayQueueTest.java
│ │ │ ├── IntHashSetTest.java
│ │ │ ├── IntLruCacheTest.java
│ │ │ ├── Long2LongHashMapConformanceTest.java
│ │ │ ├── Long2LongHashMapTest.java
│ │ │ ├── Long2NullableObjectHashMapConformanceTest.java
│ │ │ ├── Long2ObjectHashMapConformanceTest.java
│ │ │ ├── MapKeyEqualityTests.java
│ │ │ ├── Object2IntCounterMapTest.java
│ │ │ ├── Object2IntHashMapConformanceTest.java
│ │ │ ├── Object2IntHashMapKeyEqualityTests.java
│ │ │ ├── Object2IntHashMapNotAvoidingAllocationTest.java
│ │ │ ├── Object2IntHashMapTest.java
│ │ │ ├── Object2LongHashMapConformanceTest.java
│ │ │ ├── Object2LongHashMapKeyEqualityTests.java
│ │ │ ├── Object2NullableObjectHashMapConformanceTest.java
│ │ │ ├── Object2ObjectHashMapConformanceTest.java
│ │ │ ├── Object2ObjectHashMapKeyEqualityTests.java
│ │ │ ├── Object2ObjectHashMapTest.java
│ │ │ ├── Object2ObjectNullableHashMapKeyEqualityTests.java
│ │ │ ├── ObjectHashSetConformanceTest.java
│ │ │ ├── ObjectHashSetIntegerTest.java
│ │ │ └── ObjectHashSetStringTest.java
│ │ ├── concurrent
│ │ │ ├── AgentInvokerTest.java
│ │ │ ├── AgentRunnerTest.java
│ │ │ ├── ArrayQueuePeekTest.java
│ │ │ ├── ArrayQueueSizeTest.java
│ │ │ ├── AtomicBufferTest.java
│ │ │ ├── broadcast
│ │ │ │ ├── BroadcastReceiverTest.java
│ │ │ │ └── BroadcastTransmitterTest.java
│ │ │ ├── CachedClockTest.java
│ │ │ ├── CompositeAgentTest.java
│ │ │ ├── DynamicCompositeAgentTest.java
│ │ │ ├── errors
│ │ │ │ ├── DistinctErrorLogTest.java
│ │ │ │ └── ErrorLogReaderTest.java
│ │ │ ├── HighResolutionTimerTest.java
│ │ │ ├── ManyToOneConcurrentLinkedQueueTest.java
│ │ │ ├── MappedResizeableBufferTest.java
│ │ │ ├── MemoryAccessTest.java
│ │ │ ├── OffsetEpochNanoClockTest.java
│ │ │ ├── QueuedPipeTest.java
│ │ │ ├── ringbuffer
│ │ │ │ ├── ManyToOneRingBufferTest.java
│ │ │ │ └── OneToOneRingBufferTest.java
│ │ │ ├── SigIntTest.java
│ │ │ ├── SnowflakeIdGeneratorTest.java
│ │ │ ├── status
│ │ │ │ ├── AtomicCounterTest.java
│ │ │ │ ├── CountersManagerTest.java
│ │ │ │ ├── UnsafeBufferPositionTest.java
│ │ │ │ └── UnsafeBufferStatusIndicatorTest.java
│ │ │ └── UnsafeBufferTest.java
│ │ ├── DeadlineTimerWheelTest.java
│ │ ├── ExpandableArrayBufferTest.java
│ │ ├── ExpandableDirectByteBufferTest.java
│ │ ├── ExpandableRingBufferTest.java
│ │ ├── hints
│ │ │ └── ThreadHintsTest.java
│ │ ├── io
│ │ │ ├── DirectBufferDataInputAgronaTest.java
│ │ │ ├── DirectBufferDataInputJDKTest.java
│ │ │ ├── DirectBufferDataInputTest.java
│ │ │ ├── DirectBufferInputStreamTest.java
│ │ │ └── DirectBufferOutputStreamTest.java
│ │ ├── IoUtilTest.java
│ │ ├── LangUtilTest.java
│ │ ├── MarkFileTest.java
│ │ ├── MutableDirectBufferTests.java
│ │ ├── nio
│ │ │ └── NioSelectedKeySetTest.java
│ │ ├── PrintBufferUtilTest.java
│ │ ├── ReferencesTest.java
│ │ ├── SemanticVersionTest.java
│ │ ├── StringNumbersLengthsTest.java
│ │ ├── SystemUtilTest.java
│ │ └── UnsafeAccessTest.java
│ └── resources
│ ├── TestFileA.properties
│ └── TestFileB.properties
├── agrona-agent
│ └── src
│ ├── main
│ │ └── java
│ │ └── org
│ │ └── agrona
│ │ └── agent
│ │ ├── BufferAlignmentAgent.java
│ │ ├── BufferAlignmentException.java
│ │ ├── BufferAlignmentInterceptor.java
│ │ └── package-info.java
│ └── test
│ └── java
│ └── org
│ └── agrona
│ └── agent
│ └── BufferAlignmentAgentTest.java
├── agrona-benchmarks
│ └── src
│ └── main
│ └── java
│ └── org
│ └── agrona
│ └── concurrent
│ ├── MutableDirectBufferParseIntAsciiBenchmark.java
│ ├── MutableDirectBufferParseLongAsciiBenchmark.java
│ ├── MutableDirectBufferPutIntAsciiBenchmark.java
│ ├── MutableDirectBufferPutLongAsciiBenchmark.java
│ ├── MutableDirectBufferPutStringAsciiBenchmark.java
│ └── SetMemoryBenchmark.java
├── agrona-concurrency-tests
│ └── src
│ └── main
│ └── java
│ └── org
│ └── agrona
│ └── concurrent
│ ├── ringbuffer
│ │ ├── ManyToOneRingBufferTests.java
│ │ └── OneToOneRingBufferTests.java
│ ├── SnowflakeIdGeneratorTests.java
│ └── UnsafeBufferTests.java
├── build.gradle
├── config
│ └── checkstyle
│ ├── checkstyle.xml
│ └── suppressions.xml
├── CONTRIBUTING.md
├── gradle
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
├── LICENSE
├── publish_artifacts.sh
├── README.md
└── settings.gradle
64 directories, 302 files
好例子网口号:伸出你的我的手 — 分享!
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论