gitextract__3rwbfmy/ ├── .editorconfig ├── .gitignore ├── .mvn/ │ ├── jvm.config │ └── wrapper/ │ └── maven-wrapper.properties ├── .travis.yml ├── README.md ├── concurrency.md ├── jvm/ │ └── jvm8 all parameters.txt ├── mvnw ├── mvnw.cmd ├── pom.xml ├── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ ├── annotation/ │ │ │ ├── README.md │ │ │ ├── jdk/ │ │ │ │ ├── Child.java │ │ │ │ ├── ParseAnnotation.java │ │ │ │ ├── Person.java │ │ │ │ └── Test.java │ │ │ ├── own/ │ │ │ │ └── Description.java │ │ │ └── project/ │ │ │ ├── Column.java │ │ │ ├── Department.java │ │ │ ├── Table.java │ │ │ ├── Test.java │ │ │ └── User.java │ │ ├── art/ │ │ │ └── concurrency/ │ │ │ ├── ch01/ │ │ │ │ ├── ConcurrencyTest.java │ │ │ │ └── DeadLockDemo.java │ │ │ ├── ch04/ │ │ │ │ ├── Daemon.java │ │ │ │ ├── Deprecated.java │ │ │ │ ├── Interrupted.java │ │ │ │ ├── MultiThread.java │ │ │ │ ├── Priority.java │ │ │ │ ├── Shutdown.java │ │ │ │ └── ThreadState.java │ │ │ ├── ch08/ │ │ │ │ ├── BankWaterService.java │ │ │ │ ├── CountDownLatchTest.java │ │ │ │ ├── CyclicBarrierTest.java │ │ │ │ ├── CyclicBarrierTest02.java │ │ │ │ ├── CyclicBarrierTest03.java │ │ │ │ ├── ExchangerTest.java │ │ │ │ └── SemaphoreTest.java │ │ │ └── utils/ │ │ │ └── SleepUtils.java │ │ ├── basic/ │ │ │ ├── alibaba/ │ │ │ │ ├── BigDecimalTest.java │ │ │ │ ├── CollectionTest.java │ │ │ │ ├── ConfusingName.java │ │ │ │ ├── DateTest.java │ │ │ │ ├── FloatPrimitiveTest.java │ │ │ │ ├── FloatWrapTest.java │ │ │ │ ├── IntegerCacheTest.java │ │ │ │ ├── LockTest.java │ │ │ │ ├── PrimitiveTypeArrayMaxSizeTest.java │ │ │ │ ├── SwitchTest.java │ │ │ │ └── package-info.java │ │ │ ├── chapter0100/ │ │ │ │ ├── Chapter0100Introduction.java │ │ │ │ ├── Chapter0101Identifier.java │ │ │ │ ├── Chapter0102JavaKeyWord.java │ │ │ │ ├── Chapter0103ConstantAndVariable.java │ │ │ │ ├── Chapter0104TestVar.java │ │ │ │ ├── Chapter0104TestVar2.java │ │ │ │ ├── Chapter0104VariableType.java │ │ │ │ ├── Chapter0105DataType.java │ │ │ │ ├── Chapter0106BasicDataTypeConvertPrinciple.java │ │ │ │ ├── Chapter0106TestConvert.java │ │ │ │ ├── Chapter0106TestConvert2.java │ │ │ │ ├── Chapter0107TestIF.java │ │ │ │ ├── Chapter0108For.java │ │ │ │ ├── Chapter0109TestWhile.java │ │ │ │ ├── Chapter0110TestBreakAndContinue.java │ │ │ │ ├── Chapter0111TestSwitch.java │ │ │ │ ├── Chapter0112TestMethod.java │ │ │ │ ├── Chapter0113TestMethod2.java │ │ │ │ ├── Chapter0114Fab.java │ │ │ │ ├── Test01.java │ │ │ │ └── Test02.java │ │ │ ├── chapter0200/ │ │ │ │ ├── Chapter0200Introduction.java │ │ │ │ ├── Chapter0201OO.java │ │ │ │ ├── Chapter0202ValueTransferAndReferenceTransfer.java │ │ │ │ ├── Chapter0203Point.java │ │ │ │ ├── Chapter0204MethodOverload.java │ │ │ │ ├── Chapter0205TestOverLoad.java │ │ │ │ ├── Chapter0206TestCircle.java │ │ │ │ ├── Chapter0207this.java │ │ │ │ ├── Chapter0208static.java │ │ │ │ ├── Chapter0209TestInherit.java │ │ │ │ ├── Chapter0210TestEquals.java │ │ │ │ ├── Chapter0211TestFinal.java │ │ │ │ ├── Chapter0212TestInterface.java │ │ │ │ ├── Chapter0213DoubleBraceInitializationModel.java │ │ │ │ ├── MessageFormatTest.java │ │ │ │ └── TestSuperSub.java │ │ │ ├── chapter0300/ │ │ │ │ ├── Chapter0300ExceptionIntroduction.java │ │ │ │ ├── Chapter0301TestEx.java │ │ │ │ ├── Chapter0302MethodException.java │ │ │ │ └── Chapter0303Junk.java │ │ │ ├── chapter0400/ │ │ │ │ ├── Chapter0401ArrayIntroduction.java │ │ │ │ ├── Chapter0402TestArgs.java │ │ │ │ ├── Chapter0403SortAlgorithm.java │ │ │ │ ├── Chapter0404TestDateSort.java │ │ │ │ ├── Chapter0405TestSearch.java │ │ │ │ ├── Chapter0406TestArrayCopy.java │ │ │ │ ├── Count3Quit.java │ │ │ │ └── Count3Quit2.java │ │ │ ├── chapter0500/ │ │ │ │ ├── Chapter0501CommonUseClass.java │ │ │ │ ├── Chapter0502TestString2.java │ │ │ │ ├── Chapter0503TestString3.java │ │ │ │ ├── Chapter0504TestString.java │ │ │ │ ├── Chapter0505StringBuffer.java │ │ │ │ ├── Chapter0506BasicTypeWrap.java │ │ │ │ ├── Chapter0507ArrayParser.java │ │ │ │ ├── Chapter0508TestMath.java │ │ │ │ ├── Chapter0509TestFile.java │ │ │ │ ├── Chapter0510FileList.java │ │ │ │ └── Chapter0511TestEnum.java │ │ │ ├── chapter0600/ │ │ │ │ ├── BasicContainer.java │ │ │ │ ├── BasicGeneric.java │ │ │ │ ├── CollectionsTest.java │ │ │ │ ├── DataStructureSelection.java │ │ │ │ ├── EnhancedFor.java │ │ │ │ ├── IteratorTest.java │ │ │ │ ├── SetTest.java │ │ │ │ ├── TestArgsWords.java │ │ │ │ ├── TestArgsWords2.java │ │ │ │ ├── TestMap.java │ │ │ │ └── TestMap2.java │ │ │ ├── chapter0700/ │ │ │ │ ├── FileCopy.java │ │ │ │ ├── HelloWorld.java │ │ │ │ ├── TestBufferStream1.java │ │ │ │ ├── TestBufferStream2.java │ │ │ │ ├── TestDataStream.java │ │ │ │ ├── TestFileInputStream.java │ │ │ │ ├── TestFileOutputStream.java │ │ │ │ ├── TestFileReader.java │ │ │ │ ├── TestFileWriter.java │ │ │ │ ├── TestFileWriter2.java │ │ │ │ ├── TestObjectIO.java │ │ │ │ ├── TestPrintStream1.java │ │ │ │ ├── TestPrintStream2.java │ │ │ │ ├── TestPrintStream3.java │ │ │ │ ├── TestTransForm1.java │ │ │ │ ├── TestTransForm2.java │ │ │ │ └── TreeDir.java │ │ │ ├── chapter0800/ │ │ │ │ ├── 111.txt │ │ │ │ ├── ProducerConsumer.java │ │ │ │ ├── ProducerConsumer2.java │ │ │ │ ├── RecursiveFile.java │ │ │ │ ├── T.java │ │ │ │ ├── TT.java │ │ │ │ ├── Test.java │ │ │ │ ├── TestDeadLock.java │ │ │ │ ├── TestInterrupt.java │ │ │ │ ├── TestJoin.java │ │ │ │ ├── TestPriority.java │ │ │ │ ├── TestSync.java │ │ │ │ ├── TestThread1.java │ │ │ │ ├── TestThread2.java │ │ │ │ ├── TestThread3.java │ │ │ │ ├── TestThread4.java │ │ │ │ ├── TestThread5.java │ │ │ │ ├── TestThread6.java │ │ │ │ └── TestYield.java │ │ │ ├── chapter0900/ │ │ │ │ ├── Chapter0901TestUDPClient.java │ │ │ │ ├── Chapter0901TestUDPServer.java │ │ │ │ ├── Chat/ │ │ │ │ │ ├── Chat03/ │ │ │ │ │ │ ├── ChatClient.java │ │ │ │ │ │ └── ChatServer.java │ │ │ │ │ ├── Chat05/ │ │ │ │ │ │ ├── ChatClient.java │ │ │ │ │ │ └── ChatServer.java │ │ │ │ │ ├── Chat07/ │ │ │ │ │ │ ├── ChatClient.java │ │ │ │ │ │ └── ChatServer.java │ │ │ │ │ └── Chat10/ │ │ │ │ │ ├── ChatClient.java │ │ │ │ │ └── ChatServer.java │ │ │ │ ├── TCPClient.java │ │ │ │ ├── TCPServer.java │ │ │ │ ├── TalkClient.java │ │ │ │ ├── TalkServer.java │ │ │ │ ├── TestClient.java │ │ │ │ ├── TestServer.java │ │ │ │ ├── TestSockClient.java │ │ │ │ ├── TestSockServer.java │ │ │ │ ├── TestUDPClient.java │ │ │ │ ├── TestUDPServer.java │ │ │ │ └── zerocopy/ │ │ │ │ ├── traditonal/ │ │ │ │ │ ├── TraditionalClient.java │ │ │ │ │ └── TraditionalServer.java │ │ │ │ └── transfer/ │ │ │ │ ├── TransferToClient.java │ │ │ │ └── TransferToServer.java │ │ │ ├── chapter1000/ │ │ │ │ ├── AWTDrawing.java │ │ │ │ ├── AWTDrawing2.java │ │ │ │ ├── CenterPanel.java │ │ │ │ ├── MyMouseAdapter.java │ │ │ │ ├── MyMouseAdapterGeneric.java │ │ │ │ ├── NestedContainer.java │ │ │ │ ├── TFActionEvent.java │ │ │ │ ├── TFMath.java │ │ │ │ ├── TFMathTest.java │ │ │ │ ├── TFMathTest2.java │ │ │ │ ├── TFPassword.java │ │ │ │ ├── TenButtons.java │ │ │ │ ├── Test.java │ │ │ │ ├── TestActionEvent.java │ │ │ │ ├── TestActionEvent2.java │ │ │ │ ├── TestAnonymous.java │ │ │ │ ├── TestAnonymous2.java │ │ │ │ ├── TestBorderLayout.java │ │ │ │ ├── TestFlowLayout.java │ │ │ │ ├── TestFlowLayout2.java │ │ │ │ ├── TestFrame.java │ │ │ │ ├── TestFrameWithPanel.java │ │ │ │ ├── TestGridLayout.java │ │ │ │ ├── TestInner.java │ │ │ │ ├── TestKey.java │ │ │ │ ├── TestMouseMotion.java │ │ │ │ ├── TestMouseMotionGeneric.java │ │ │ │ ├── TestMultiFrame.java │ │ │ │ ├── TestMultiPanel.java │ │ │ │ ├── TestPaint.java │ │ │ │ ├── TestPanel.java │ │ │ │ └── TestWindowClose.java │ │ │ ├── chapter1100/ │ │ │ │ └── TestReflect.java │ │ │ └── chapter1200/ │ │ │ ├── QQClient.java │ │ │ └── QQServer.java │ │ ├── geo/ │ │ │ ├── GeoLite2-City.mmdb │ │ │ └── GeoTest.java │ │ ├── java10/ │ │ │ └── NewFeatures.java │ │ ├── java11/ │ │ │ └── NewFeatures.java │ │ ├── java12/ │ │ │ └── NewFeatures.java │ │ ├── java13/ │ │ │ └── NewFeatures.java │ │ ├── java14/ │ │ │ └── Java14NewFeatures.java │ │ ├── java15/ │ │ │ └── NewFeatures.java │ │ ├── java16/ │ │ │ └── Java16NewFeatures.java │ │ ├── java17/ │ │ │ └── Java17NewFeatures.java │ │ ├── java18/ │ │ │ └── Java18Features.java │ │ ├── java19/ │ │ │ └── Java19Features.java │ │ ├── java5/ │ │ │ └── NewFeatures.java │ │ ├── java6/ │ │ │ └── NewFeatures.java │ │ ├── java7/ │ │ │ └── NewFeatures.java │ │ ├── java8/ │ │ │ ├── Demo0100_LambdaRunnable.java │ │ │ ├── Demo0200_LambdaIterator.java │ │ │ ├── Demo0300_LambdaPredicate.java │ │ │ ├── Demo0400_LambdaMapReduce.java │ │ │ ├── Demo0500_LambdaSimpleDemo.java │ │ │ ├── Demo0600_Stream.java │ │ │ ├── Demo0700_Stream.java │ │ │ ├── Demo0800_Stream.java │ │ │ ├── NewFeatures.java │ │ │ └── Person.java │ │ ├── java9/ │ │ │ └── NewFeatures.java │ │ ├── jvm/ │ │ │ └── OutOfMemoryException.java │ │ ├── mark/ │ │ │ ├── concurrent01/ │ │ │ │ └── T.java │ │ │ ├── concurrent02/ │ │ │ │ ├── T.java │ │ │ │ └── T2.java │ │ │ ├── concurrent03/ │ │ │ │ └── T.java │ │ │ ├── concurrent04/ │ │ │ │ └── T.java │ │ │ ├── concurrent05/ │ │ │ │ └── T.java │ │ │ ├── concurrent06/ │ │ │ │ ├── T.java │ │ │ │ └── T2.java │ │ │ ├── concurrent07/ │ │ │ │ └── T.java │ │ │ ├── concurrent08/ │ │ │ │ └── Account.java │ │ │ ├── concurrent09/ │ │ │ │ └── T.java │ │ │ ├── concurrent10/ │ │ │ │ └── T.java │ │ │ ├── concurrent11/ │ │ │ │ └── T.java │ │ │ ├── concurrent12/ │ │ │ │ └── T.java │ │ │ ├── concurrent13/ │ │ │ │ └── T.java │ │ │ ├── concurrent14/ │ │ │ │ └── T.java │ │ │ ├── concurrent15/ │ │ │ │ └── T.java │ │ │ ├── concurrent16/ │ │ │ │ └── T.java │ │ │ ├── concurrent17/ │ │ │ │ └── T.java │ │ │ ├── concurrent18/ │ │ │ │ └── T.java │ │ │ ├── concurrent19/ │ │ │ │ ├── MyContainer1.java │ │ │ │ ├── MyContainer2.java │ │ │ │ ├── MyContainer3.java │ │ │ │ ├── MyContainer4.java │ │ │ │ └── MyContainer5.java │ │ │ ├── concurrent20/ │ │ │ │ ├── ReentrantLock1.java │ │ │ │ ├── ReentrantLock2.java │ │ │ │ ├── ReentrantLock3.java │ │ │ │ ├── ReentrantLock4.java │ │ │ │ └── ReentrantLock5.java │ │ │ ├── concurrent21/ │ │ │ │ ├── MyContainer1.java │ │ │ │ └── MyContainer2.java │ │ │ ├── concurrent22/ │ │ │ │ ├── ThreadLocal1.java │ │ │ │ └── ThreadLocal2.java │ │ │ ├── concurrent23/ │ │ │ │ └── Singleton.java │ │ │ ├── concurrent24/ │ │ │ │ ├── TicketSeller1.java │ │ │ │ ├── TicketSeller2.java │ │ │ │ ├── TicketSeller3.java │ │ │ │ └── TicketSeller4.java │ │ │ ├── concurrent25/ │ │ │ │ ├── T01_ConcurrentMap.java │ │ │ │ ├── T02_CopyOnWriteList.java │ │ │ │ ├── T03_SynchronizedList.java │ │ │ │ ├── T04_ConcurrentQueue.java │ │ │ │ ├── T05_LinkedBlockingQueue.java │ │ │ │ ├── T06_ArrayBlockingQueue.java │ │ │ │ ├── T07_DelayQueue.java │ │ │ │ ├── T08_TransferQueue.java │ │ │ │ └── T09_SynchronousQueue.java │ │ │ ├── concurrent26/ │ │ │ │ ├── T01_MyExecutor.java │ │ │ │ ├── T02_ExecutorService.java │ │ │ │ ├── T03_Callable.java │ │ │ │ ├── T04_Executors.java │ │ │ │ ├── T05_ThreadPool.java │ │ │ │ ├── T06_Future.java │ │ │ │ ├── T07_ParallelComputing.java │ │ │ │ ├── T08_CachedThreadPool.java │ │ │ │ ├── T09_SingleThreadPool.java │ │ │ │ ├── T10_ScheduleThreadPool.java │ │ │ │ ├── T11_WorkStealingPool.java │ │ │ │ ├── T12_ForkJoinPool.java │ │ │ │ ├── T13_ThreadPoolExecutor.java │ │ │ │ ├── T14_ParallelStreamAPI.java │ │ │ │ ├── T15_SelfDefinitionThreadPool.java │ │ │ │ └── readme.txt │ │ │ └── note/ │ │ │ └── question.md │ │ ├── mmap/ │ │ │ ├── MemoryBufferTest.java │ │ │ └── MmapWriteReadTest.java │ │ ├── program/ │ │ │ ├── CodeGenerator.java │ │ │ ├── CollectionIterate.java │ │ │ ├── ConstructTree.java │ │ │ ├── FizzBuzzDemo.java │ │ │ ├── ULIDTest.java │ │ │ └── WechatCircleLikeDisplay.java │ │ ├── snake/ │ │ │ ├── Direction.java │ │ │ ├── Egg.java │ │ │ ├── Node.java │ │ │ ├── Snake.java │ │ │ └── Yard.java │ │ └── thread/ │ │ ├── AnimalBehavior.java │ │ ├── Cat.java │ │ ├── CatMain.java │ │ ├── MyRunnable.java │ │ ├── MyRunnableTest.java │ │ ├── NotifySpecifiedThread.java │ │ ├── T.java │ │ └── T01_TestJoin.java │ └── test/ │ └── java/ │ └── com/ │ ├── java8/ │ │ └── NewFeatureTest.java │ └── mark/ │ └── concurrent01/ │ └── TTest.java ├── style/ │ ├── STYLE.md │ └── codestyle/ │ ├── eclipse/ │ │ └── codestyle.xml │ └── idea/ │ └── codestyle.xml └── test/ └── test.txt