Skip to content

Latest commit

Β 

History

History
131 lines (125 loc) Β· 4.61 KB

File metadata and controls

131 lines (125 loc) Β· 4.61 KB

something practice

package explain:

  • package pattern is something about design pattern,i implements some examples for better comprehension.
β”œβ”€β”€ pattern
β”‚Β Β  β”œβ”€β”€ factory
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ shanghaiTofuTypes.properties
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ store
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ AbstractTofuStore.java
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ ShanghaiTofuStore.java
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ Store.java
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── TofuStore.java
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ tofu
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ HardTofu.java
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ SoftTofu.java
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ SweetTofu.java
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── Tofu.java
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ TofuFactory.java
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ TofuTest.java
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ TofuTypes.properties
β”‚Β Β  β”‚Β Β  └── util
β”‚Β Β  β”‚Β Β      └── Util.java
β”‚Β Β  β”œβ”€β”€ observer
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ Center.java
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ Observerable.java
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ Observer.java
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ ObserverTest.java
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ pubsub
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ Publisher.java
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ PubSubTest.java
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── SubScriber.java
β”‚Β Β  β”‚Β Β  └── Subject.java
β”‚Β Β  β”œβ”€β”€ singleton
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ SingletonEnum.java
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ SingletonTest.java
β”‚Β Β  β”‚Β Β  └── Sun.java
β”‚Β Β  └── strategy                           (also include command pattern)
β”‚Β Β      β”œβ”€β”€ attack
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ IAttack1.java
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ IAttack2.java
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ IAttack3.java
β”‚Β Β      β”‚Β Β  └── INormalAttack.java
β”‚Β Β      β”œβ”€β”€ command
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ Attack1.java
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ Attack2.java
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ Attack3.java
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ Command.java
β”‚Β Β      β”‚Β Β  └── NormalAttack.java
β”‚Β Β      β”œβ”€β”€ CommandPanel.java              (It is a command line game)
β”‚Β Β      β”œβ”€β”€ Role.java
β”‚Β Β      β”œβ”€β”€ roles
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ heros.properties
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ HerosUtil.java
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ libai
β”‚Β Β      β”‚Β Β  β”‚Β Β  β”œβ”€β”€ Base.java
β”‚Β Β      β”‚Β Β  β”‚Β Β  β”œβ”€β”€ LiBaiAttack1.java
β”‚Β Β      β”‚Β Β  β”‚Β Β  β”œβ”€β”€ LiBaiAttack2.java
β”‚Β Β      β”‚Β Β  β”‚Β Β  β”œβ”€β”€ LiBaiAttack3.java
β”‚Β Β      β”‚Β Β  β”‚Β Β  β”œβ”€β”€ LiBaiNormalAttack.java
β”‚Β Β      β”‚Β Β  β”‚Β Β  β”œβ”€β”€ NewLiBaiAttack3.java
β”‚Β Β      β”‚Β Β  β”‚Β Β  └── RoleLiBai.java
β”‚Β Β      β”‚Β Β  └── luban                      (where to add another hero)
β”‚Β Β      └── RoleTest.java
  • package Thread is something about concurrent,also some examples here.
Thread/
β”œβ”€β”€ Array.java
β”œβ”€β”€ atomic
β”‚Β Β  └── Normal.java
β”œβ”€β”€ communcation
β”‚Β Β  β”œβ”€β”€ Main.java
β”‚Β Β  β”œβ”€β”€ Pool.java
β”‚Β Β  β”œβ”€β”€ Thread1.java
β”‚Β Β  └── Thread2.java
β”œβ”€β”€ Consumer.java
β”œβ”€β”€ container
β”‚Β Β  └── Test.java
β”œβ”€β”€ countdownlatch
β”‚Β Β  β”œβ”€β”€ CountDownLatchTest2.java
β”‚Β Β  └── CountDownLatchTest.java
β”œβ”€β”€ cyclicbarrier
β”‚Β Β  β”œβ”€β”€ CyclicBarrierTest.java
β”‚Β Β  └── Seckill.java
β”œβ”€β”€ lock
β”‚Β Β  β”œβ”€β”€ Account.java
β”‚Β Β  β”œβ”€β”€ Deposit.java
β”‚Β Β  β”œβ”€β”€ DepositWithdraw.java
β”‚Β Β  β”œβ”€β”€ Lock.java
β”‚Β Β  β”œβ”€β”€ Main.java
β”‚Β Β  β”œβ”€β”€ SimpleLock.java
β”‚Β Β  β”œβ”€β”€ Thread2.java
β”‚Β Β  β”œβ”€β”€ TwoThread.java
β”‚Β Β  └── Withdraw.java
β”œβ”€β”€ Productor.java
β”œβ”€β”€ semaphore
β”‚Β Β  β”œβ”€β”€ Bus.class
β”‚Β Β  β”œβ”€β”€ Bus.java
β”‚Β Β  β”œβ”€β”€ java.txt
β”‚Β Β  β”œβ”€β”€ JxSemaphore.java
β”‚Β Β  └── SemaphoreTest.java
β”œβ”€β”€ singleton
β”‚Β Β  β”œβ”€β”€ lazyinit
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ SingletonLazy2.java
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ SingletonLazySync3.java
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ SingletonLazySyncDCL4.java
β”‚Β Β  β”‚Β Β  └── SingletonSyncDCLVolatile5.java
β”‚Β Β  β”œβ”€β”€ Singleton1.java
β”‚Β Β  └── Test.java
β”œβ”€β”€ ThreadTest2.java
└── ThreadTest.java

package io/nio is something about nio,implements a simple HTTP Server,can access the request from browser.

nio/my/
β”œβ”€β”€ bean			(server base bean)
β”‚Β Β  β”œβ”€β”€ HttpMethod.java
β”‚Β Β  β”œβ”€β”€ RequestBean.java
β”‚Β Β  β”œβ”€β”€ ResponseBean.java
β”‚Β Β  └── StatuCode.java
β”œβ”€β”€ HttpClient.java		(http client)
β”œβ”€β”€ HttpServer.java		(http server,can access the request from browser)
β”œβ”€β”€ resource.txt
└── Test.java