MCPcopy Create free account

hub / github.com/DreamOfTheRedChamber/system-design-interviews / types & classes

Types & classes125 in github.com/DreamOfTheRedChamber/system-design-interviews

ClassAbstractStub
@author LiYue Date: 2019/9/27
code/simple-rpc-framework-master/rpc-netty/src/main/java/com/github/liyue2008/rpc/client/stubs/AbstractStub.java:32
ClassAtomicTest
code/multithreads/basics/atomic/AtomicTest.java:9
ClassBlockingCase_CatchInterruptException
Description: No need to check whether it is interrupted each time if sleep/wait is called every time. Citation: Chinese course: https://coding.imooc.c
code/multithreads/StopThreads/BestPractices/BlockingCase_CatchInterruptException.java:7
ClassBlockingCase_InterruptException
Description: Use the interruption pattern will always be able to be picked up by the other threads Citation: Chinese course: https://coding.imooc.com/
code/multithreads/StopThreads/BestPractices/BlockingCase_CheckInterruptFlag.java:7
ClassBlockingQueues
code/multithreads/basics/concurrencyLibrary/BlockingQueues.java:73
ClassCallableReturn
code/multithreads/Future/CallableReturn.java:29
ClassClient
@author LiYue Date: 2019/9/20
code/simple-rpc-framework-master/client/src/main/java/com/github/liyue2008/rpc/client/Client.java:31
EnumCode
@author LiYue Date: 2019/9/23
code/simple-rpc-framework-master/rpc-netty/src/main/java/com/github/liyue2008/rpc/transport/command/Code.java:23
ClassCommand
@author LiYue Date: 2019/9/20
code/simple-rpc-framework-master/rpc-netty/src/main/java/com/github/liyue2008/rpc/transport/command/Command.java:20
ClassCommandDecoder
@author LiYue Date: 2019/9/23
code/simple-rpc-framework-master/rpc-netty/src/main/java/com/github/liyue2008/rpc/transport/netty/CommandDecoder.java:28
ClassCommandEncoder
@author LiYue Date: 2019/9/23
code/simple-rpc-framework-master/rpc-netty/src/main/java/com/github/liyue2008/rpc/transport/netty/CommandEncoder.java:26
ClassConcurrentMaps
code/multithreads/basics/concurrencyLibrary/ConcurrentMaps.java:53
ClassConditionVariableWithReentrantLock
This example demonstrates how to use wait() and notify() to realize the semantics of join() function
code/multithreads/basics/conditionVariable/ConditionVariableWithReentrantLock.java:11
ClassConditionVariableWithSynchronizedKeyWord
This example demonstrates how to use wait() and notify() to realize the semantics of join() function
code/multithreads/basics/conditionVariable/ConditionVariableWithSynchronizedKeyWord.java:8
ClassConsumer
code/multithreads/ObjectMethods/ProducerConsumerWithWaitNotify.java:39
ClassConsumer
code/multithreads/StopThreads/WrongWays/InterruptedAlwaysSucceed.java:60
ClassConsumer
code/multithreads/StopThreads/WrongWays/VolatileUnluckyCase.java:67
ClassCountDownLatches
code/multithreads/basics/concurrencyLibrary/CountDownLatches.java:60
ClassCounterRunnable
use join methods of threads to wait for finishing
code/multithreads/basics/joinThread/WaitForThreadToFinish.java:7
ClassCounterThread
code/multithreads/basics/joinThread/WaitForThreadToFinish.java:29
ClassCyclicBarriers
code/multithreads/basics/concurrencyLibrary/CyclicBarriers.java:77
ClassDownloadRateLimiter
code/multithreads/basics/semaphore/DownloadRateLimiter.java:54
EnumDownloader
code/multithreads/basics/semaphore/DownloadRateLimiter.java:17
ClassDynamicStubFactory
@author LiYue Date: 2019/9/27
code/simple-rpc-framework-master/rpc-netty/src/main/java/com/github/liyue2008/rpc/client/DynamicStubFactory.java:26
ClassEmptyingWorker
code/multithreads/basics/concurrencyLibrary/Exchangers.java:62
ClassEventStorage
code/multithreads/ObjectMethods/ProducerConsumerWithWaitNotify.java:56
ClassExchangers
code/multithreads/basics/concurrencyLibrary/Exchangers.java:112
ClassFillingWorker
code/multithreads/basics/concurrencyLibrary/Exchangers.java:14
ClassFirstWorker
BlockingQueue -> an interface that represents a queue that is thread safe Put items or take items from it ... For example: one thread putting items i
code/multithreads/basics/concurrencyLibrary/BlockingQueues.java:19
ClassFirstWorker2
It implements the BlockingQueue interface - unbounded concurrent queue - it uses the same ordering rules as the java.util.PriorityQueue class -> have
code/multithreads/basics/concurrencyLibrary/PriorityBlockingQueues.java:20
ClassFirstWorker3
code/multithreads/basics/concurrencyLibrary/ConcurrentMaps.java:6
ClassHeader
@author LiYue Date: 2019/9/20
code/simple-rpc-framework-master/rpc-netty/src/main/java/com/github/liyue2008/rpc/transport/command/Header.java:20
InterfaceHelloService
@author LiYue Date: 2019/9/20
code/simple-rpc-framework-master/hello-service-api/src/main/java/com/github/liyue2008/rpc/hello/HelloService.java:20
ClassHelloServiceImpl
@author LiYue Date: 2019/9/20
code/simple-rpc-framework-master/server/src/main/java/com/github/liyue2008/rpc/server/HelloServiceImpl.java:24
ClassInFlightRequests
@author LiYue Date: 2019/9/20
code/simple-rpc-framework-master/rpc-netty/src/main/java/com/github/liyue2008/rpc/transport/InFlightRequests.java:30
ClassInterruptFlagBeingClearedbyTryCatch
Description: Once the interrupt exception is being caught, the interruption thread flag will be cleared. Basically, Thread.currentThread().isInterrupt
code/multithreads/StopThreads/Behaviors/InterruptFlagBeingClearedbyTryCatch.java:8
ClassInterruptedAlwaysSucceed
Description: Use the interruption pattern will always be able to be picked up by the other threads Citation: Chinese course: https://coding.imooc.com/
code/multithreads/StopThreads/WrongWays/InterruptedAlwaysSucceed.java:10
ClassJoinPrinciple
Description: Main thread executes child thread's join is equivalent to: Main thread gets the lock for the child thread and wait on the lock until noti
code/multithreads/ThreadMethods/JoinEquivalent.java:9
ClassLocalFileNameService
@author LiYue Date: 2019/9/20
code/simple-rpc-framework-master/rpc-netty/src/main/java/com/github/liyue2008/rpc/nameservice/LocalFileNameService.java:38
ClassMetadata
@author LiYue Date: 2019/9/20
code/simple-rpc-framework-master/rpc-netty/src/main/java/com/github/liyue2008/rpc/nameservice/Metadata.java:25
ClassMetadataSerializer
Size of the map 2 bytes Map entry: Key string: Length: 2 bytes Serialized k
code/simple-rpc-framework-master/rpc-netty/src/main/java/com/github/liyue2008/rpc/serialize/impl/MetadataSerializer.java:45
ClassMultipleWriters
This class demonstrates where volatile is not suitable when multiple writers exist.
code/multithreads/basics/volatileKeyword/MultipleWriters.java:7
ClassMyBarrierAction
A CyclicBarrier is used in situations where you want to create a group of tasks to perform work in parallel + wait until they are all finished before
code/multithreads/basics/concurrencyLibrary/CyclicBarriers.java:25
InterfaceNameService
注册中心 @author LiYue Date: 2019/9/20
code/simple-rpc-framework-master/rpc-api/src/main/java/com/github/liyue2008/rpc/NameService.java:25
ClassNettyClient
@author LiYue Date: 2019/9/20
code/simple-rpc-framework-master/rpc-netty/src/main/java/com/github/liyue2008/rpc/transport/netty/NettyClient.java:42
ClassNettyRpcAccessPoint
@author LiYue Date: 2019/9/20
code/simple-rpc-framework-master/rpc-netty/src/main/java/com/github/liyue2008/rpc/NettyRpcAccessPoint.java:37
ClassNettyServer
@author LiYue Date: 2019/9/20
code/simple-rpc-framework-master/rpc-netty/src/main/java/com/github/liyue2008/rpc/transport/netty/NettyServer.java:37
ClassNettyTransport
@author LiYue Date: 2019/9/20
code/simple-rpc-framework-master/rpc-netty/src/main/java/com/github/liyue2008/rpc/transport/netty/NettyTransport.java:29
ClassNoBlockingCase_CatchInterruptFlag
Description: There is no sleep or wait method, stop the thread with interrupt method Citation: Chinese course: https://coding.imooc.com/lesson/362.htm
code/multithreads/StopThreads/BestPractices/NoBlockingCase_CheckInterruptFlag.java:7
ClassPriorityBlockingQueues
code/multithreads/basics/concurrencyLibrary/PriorityBlockingQueues.java:79
ClassProcessor
code/multithreads/Future/CallableReturn.java:10
ClassProcessor
code/multithreads/basics/conditionVariable/WaitNotifyHelloWorld.java:3
ClassProducer
code/multithreads/ObjectMethods/ProducerConsumerWithWaitNotify.java:22
ClassProducer
code/multithreads/StopThreads/WrongWays/InterruptedAlwaysSucceed.java:33
ClassProducer
code/multithreads/StopThreads/WrongWays/VolatileUnluckyCase.java:35
ClassProducerConsumerModel
Description: Use wait and notify to implement Producer and Consumer model. Citation: Chinese course: https://coding.imooc.com/lesson/362.html#mid=2772
code/multithreads/ObjectMethods/ProducerConsumerWithWaitNotify.java:12
ClassReentrantLockHelloWorld
Lock interface Advantages over synchronized keyword: - More flexible APIs: tryLock() / lockInterruptibly() / tryLock(10, TimeUnits.SECONDS) tryLo
code/multithreads/basics/reentrantlock/ReentrantLockHelloWorld.java:24
ClassReentrantLockProducerConsumer
code/multithreads/basics/reentrantlock/ReentrantLockProducerConsumer.java:38
ClassRequestDecoder
@author LiYue Date: 2019/9/20
code/simple-rpc-framework-master/rpc-netty/src/main/java/com/github/liyue2008/rpc/transport/netty/RequestDecoder.java:24
ClassRequestEncoder
@author LiYue Date: 2019/9/20
code/simple-rpc-framework-master/rpc-netty/src/main/java/com/github/liyue2008/rpc/transport/netty/RequestEncoder.java:24
InterfaceRequestHandler
请求处理器 @author LiYue Date: 2019/9/20
code/simple-rpc-framework-master/rpc-netty/src/main/java/com/github/liyue2008/rpc/transport/RequestHandler.java:23
ClassRequestHandlerRegistry
@author LiYue Date: 2019/9/23
code/simple-rpc-framework-master/rpc-netty/src/main/java/com/github/liyue2008/rpc/transport/RequestHandlerRegistry.java:28
ClassRequestIdSupport
@author LiYue Date: 2019/9/23
code/simple-rpc-framework-master/rpc-netty/src/main/java/com/github/liyue2008/rpc/client/RequestIdSupport.java:22
ClassRequestInvocation
@author LiYue Date: 2019/9/20
code/simple-rpc-framework-master/rpc-netty/src/main/java/com/github/liyue2008/rpc/transport/netty/RequestInvocation.java:31
ClassResponseDecoder
@author LiYue Date: 2019/9/20
code/simple-rpc-framework-master/rpc-netty/src/main/java/com/github/liyue2008/rpc/transport/netty/ResponseDecoder.java:29
ClassResponseEncoder
@author LiYue Date: 2019/9/20
code/simple-rpc-framework-master/rpc-netty/src/main/java/com/github/liyue2008/rpc/transport/netty/ResponseEncoder.java:28
ClassResponseFuture
@author LiYue Date: 2019/9/20
code/simple-rpc-framework-master/rpc-netty/src/main/java/com/github/liyue2008/rpc/transport/ResponseFuture.java:24
ClassResponseHeader
@author LiYue Date: 2019/9/20
code/simple-rpc-framework-master/rpc-netty/src/main/java/com/github/liyue2008/rpc/transport/command/ResponseHeader.java:22
ClassResponseInvocation
@author LiYue Date: 2019/9/20
code/simple-rpc-framework-master/rpc-netty/src/main/java/com/github/liyue2008/rpc/transport/netty/ResponseInvocation.java:30
ClassRightWayStopThreadInProd
Description: Declare exception on method signature to force handling Citation: Chinese course: https://coding.imooc.com/lesson/362.html#mid=27728
code/multithreads/StopThreads/Behaviors/DeclareInterruptExceptionToForceHandling.java:9
ClassRightWayStopThreadInProd2
Description: Once the interrupt exception is being caught, the interruption thread flag will be cleared. And it could be restored by using Thread.curr
code/multithreads/StopThreads/Behaviors/RestoreInterruptFlagBeingClearedbyTryCatch.java:8
InterfaceRpcAccessPoint
RPC框架对外提供的服务接口 @author LiYue Date: 2019/9/20
code/simple-rpc-framework-master/rpc-api/src/main/java/com/github/liyue2008/rpc/RpcAccessPoint.java:27
ClassRpcRequest
@author LiYue Date: 2019/9/27
code/simple-rpc-framework-master/rpc-netty/src/main/java/com/github/liyue2008/rpc/client/stubs/RpcRequest.java:20
ClassRpcRequestHandler
@author LiYue Date: 2019/9/23
code/simple-rpc-framework-master/rpc-netty/src/main/java/com/github/liyue2008/rpc/server/RpcRequestHandler.java:36
ClassRpcRequestSerializer
@author LiYue Date: 2019/9/27
code/simple-rpc-framework-master/rpc-netty/src/main/java/com/github/liyue2008/rpc/serialize/impl/RpcRequestSerializer.java:26
ClassRunner
code/multithreads/CreateThreads/ThreadExtends.java:3
ClassRunnerRunnable
code/multithreads/CreateThreads/ThreadRunnable.java:3
ClassSecondWorker
code/multithreads/basics/concurrencyLibrary/BlockingQueues.java:47
ClassSecondWorker2
code/multithreads/basics/concurrencyLibrary/PriorityBlockingQueues.java:50
ClassSecondWorker3
code/multithreads/basics/concurrencyLibrary/ConcurrentMaps.java:30
ClassSerializeException
@author LiYue Date: 2019-08-12
code/simple-rpc-framework-master/rpc-netty/src/main/java/com/github/liyue2008/rpc/serialize/SerializeException.java:20
ClassSerializeSupport
@author LiYue Date: 2019/9/20
code/simple-rpc-framework-master/rpc-netty/src/main/java/com/github/liyue2008/rpc/serialize/SerializeSupport.java:27
InterfaceSerializer
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy
code/simple-rpc-framework-master/rpc-netty/src/main/java/com/github/liyue2008/rpc/serialize/Serializer.java:16
ClassServer
@author LiYue Date: 2019/9/20
code/simple-rpc-framework-master/server/src/main/java/com/github/liyue2008/rpc/server/Server.java:31
ClassServiceLoadException
@author LiYue Date: 2019-03-20
code/simple-rpc-framework-master/rpc-api/src/main/java/com/github/liyue2008/rpc/spi/ServiceLoadException.java:20
InterfaceServiceProviderRegistry
@author LiYue Date: 2019/9/29
code/simple-rpc-framework-master/rpc-netty/src/main/java/com/github/liyue2008/rpc/server/ServiceProviderRegistry.java:20
InterfaceServiceStub
@author LiYue Date: 2019/9/27
code/simple-rpc-framework-master/rpc-netty/src/main/java/com/github/liyue2008/rpc/client/ServiceStub.java:22
ClassServiceSupport
SPI类加载器帮助类 @author LiYue Date: 2019-03-26
code/simple-rpc-framework-master/rpc-api/src/main/java/com/github/liyue2008/rpc/spi/ServiceSupport.java:28
ClassServiceTypes
@author LiYue Date: 2019/9/23
code/simple-rpc-framework-master/rpc-netty/src/main/java/com/github/liyue2008/rpc/client/ServiceTypes.java:20
ClassSleepDontReleaseLock
Description: Sleep does not release lock. Citation: Chinese course: https://coding.imooc.com/lesson/362.html#mid=27728
code/multithreads/ThreadMethods/SleepDoesNotReleaseLock.java:10
ClassSleepDontReleaseMonitor
Description: Sleep does not release synchronized monitor. Citation: Chinese course: https://coding.imooc.com/lesson/362.html#mid=27728
code/multithreads/ThreadMethods/SleepDoesNotReleaseMonitor.java:9
ClassStopThread
stop an infinite thread with volatile variables. Each time background thread tries to read stopRequested boolean variable, it will load it again from
code/multithreads/basics/volatileKeyword/StopThread.java:9
ClassStringSerializer
@author LiYue Date: 2019/9/20
code/simple-rpc-framework-master/rpc-netty/src/main/java/com/github/liyue2008/rpc/serialize/impl/StringSerializer.java:24
InterfaceStubFactory
@author LiYue Date: 2019/9/27
code/simple-rpc-framework-master/rpc-netty/src/main/java/com/github/liyue2008/rpc/client/StubFactory.java:22
ClassSynchronizedClassObjectClassLevel
This is a more concise way to realize the same functionality as in SynchronizedObjectsClassLevel.java to achieve class level synchronized methods mute
code/multithreads/basics/mutex/SynchronizedClassObjectClassLevel.java:7
ClassSynchronizedCodeBlocks
code/multithreads/basics/mutex/SynchronizedCodeBlocks.java:7
ClassSynchronizedMethods
when synchronized keyword is applied before a method it means for the current instance, there can be only one thread to visit the synchronized methods
code/multithreads/basics/mutex/SynchronizedMethods.java:18
ClassSynchronizedObjectsClassLevel
when synchronized keyword is applied on static variables, the lock is class level and no longer tied to a thread. this could guarantee that only one t
code/multithreads/basics/mutex/SynchronizedObjectsClassLevel.java:20
ClassSynchronizedObjectsInstanceLevel
when synchronized keyword is applied on instance variables,
code/multithreads/basics/mutex/SynchronizedObjectsInstanceLevel.java:8
ClassSynchronizedReentrant
synchronized method/block is reentrant to the same thread, but will block other threads
code/multithreads/basics/mutex/SynchronizedReentrant.java:7
next →1–100 of 125, ranked by callers