# juc **Repository Path**: daweicheng2134/juc ## Basic Information - **Project Name**: juc - **Description**: 1.juc测试学习 2.各种java自定义工具类 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-12-26 - **Last Updated**: 2026-03-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # juc #### 介绍 juc #### 软件架构 1.juc测试学习 2.各种java自定义工具类 ```juc/ ├── .git/ # Git版本控制目录 ├── .gitignore # Git忽略文件配置 ├── README.md # 项目说明文档 ├── pom.xml # Maven项目配置文件 ├── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── dawei/ # 主要代码包 │ │ │ ├── ReadWriteLock/ # 读写锁示例 │ │ │ │ └── ReadWriteLockDemo.java │ │ │ ├── TestCallable/ # Callable异步任务示例 │ │ │ │ └── CallableTest.java │ │ │ ├── aba/ # ABA问题演示 │ │ │ │ ├── AbaDemo.java │ │ │ │ ├── TestDouble.java │ │ │ │ └── TestTime.java │ │ │ ├── adapter/ # 适配器设计模式 │ │ │ │ ├── Adaptee.java │ │ │ │ ├── Adapter.java │ │ │ │ ├── Computer.java │ │ │ │ └── NetToUsb.java │ │ │ ├── add/ # 并发工具类示例 │ │ │ │ ├── CountDownLatchDemo.java │ │ │ │ ├── CyclicBarrierDemo.java │ │ │ │ ├── DoWhileTest.java │ │ │ │ └── SemaphoreDome.java │ │ │ ├── annotation/ # 注解相关示例 │ │ │ │ ├── LangKeyEntityRel.java │ │ │ │ ├── LangKeyEntityRelationImpl.java │ │ │ │ ├── TestDemo.java │ │ │ │ └── TestEntity.java │ │ │ ├── binarytree/ # 二叉树数据结构 │ │ │ │ ├── BinaryTree.java │ │ │ │ └── Node.java │ │ │ ├── bridge/ # 桥接设计模式 │ │ │ │ ├── Apple.java │ │ │ │ ├── Brand.java │ │ │ │ ├── Computer.java │ │ │ │ ├── Desktop.java │ │ │ │ ├── Laptop.java │ │ │ │ ├── Lenovo.java │ │ │ │ └── TestDemo.java │ │ │ ├── builder/ # 建造者设计模式 │ │ │ │ ├── director/ # 有指挥者模式 │ │ │ │ │ ├── Builder.java │ │ │ │ │ ├── BuilderDemo.java │ │ │ │ │ ├── Director.java │ │ │ │ │ ├── Product.java │ │ │ │ │ └── Worker.java │ │ │ │ └── noDirector/ # 无指挥者模式 │ │ │ │ ├── Builder.java │ │ │ │ ├── NoDirectorDemo.java │ │ │ │ ├── Product.java │ │ │ │ └── Worker.java │ │ │ ├── checkport/ # 端口检测示例 │ │ │ │ └── TestCheckPortDemo.java │ │ │ ├── collectionDemo/ # 集合相关示例 │ │ │ │ ├── BiTNode.java │ │ │ │ ├── Foo.java │ │ │ │ ├── Tree.java │ │ │ │ ├── TreeMapTest.java │ │ │ │ └── VectorDemo.java │ │ │ ├── completableDemo/ # CompletableFuture异步编程 │ │ │ │ └── CompletabelDemo.java │ │ │ ├── delay/ # 延迟队列示例 │ │ │ │ ├── JdkDelay.java │ │ │ │ ├── JdkDelayDemo.java │ │ │ │ ├── TimeWheel.java │ │ │ │ └── TimeWheelDemo.java │ │ │ ├── demo/ # 基础示例 │ │ │ │ ├── SaleTicketDemo.java │ │ │ │ └── Test1.java │ │ │ ├── es/ # Elasticsearch相关 │ │ │ │ ├── AuditLog.java │ │ │ │ ├── TestConEsDemo.java │ │ │ │ └── TestConEsNoPasswordDemo.java │ │ │ ├── factory/ # 工厂设计模式 │ │ │ │ ├── abst/ # 抽象工厂 │ │ │ │ │ ├── Consumer.java │ │ │ │ │ ├── HuaweiFactory.java │ │ │ │ │ ├── HuaweiPhone.java │ │ │ │ │ ├── HuaweiRouter.java │ │ │ │ │ ├── IPhoneProduct.java │ │ │ │ │ ├── IProductFactory.java │ │ │ │ │ ├── IRouterProduct.java │ │ │ │ │ ├── XiaomiFactroy.java │ │ │ │ │ ├── XiaomiPhone.java │ │ │ │ │ └── XiaomiRouter.java │ │ │ │ ├── methor/ # 工厂方法 │ │ │ │ │ ├── CarFactory.java │ │ │ │ │ ├── Consumer.java │ │ │ │ │ ├── TeslaFactory.java │ │ │ │ │ └── WulingFactroy.java │ │ │ │ ├── simple/ # 简单工厂 │ │ │ │ │ ├── CarFactory.java │ │ │ │ │ └── Consumer.java │ │ │ │ ├── Car.java │ │ │ │ ├── Tesla.java │ │ │ │ └── Wuling.java │ │ │ ├── forkJoin/ # ForkJoin框架示例 │ │ │ │ ├── ForkJoinDemo.java │ │ │ │ └── ForkJoinTest.java │ │ │ ├── functionInterface/ # 函数式接口示例 │ │ │ │ ├── ConsumerDemo.java │ │ │ │ ├── FunctionInterfaceDemo.java │ │ │ │ ├── PredicateDemo.java │ │ │ │ ├── StreamCompute.java │ │ │ │ └── SupplierDemo.java │ │ │ ├── groupConllect/ # 分组收集示例 │ │ │ │ ├── ListGroup.java │ │ │ │ └── ListGroupByCount.java │ │ │ ├── i18n/ # 国际化功能 │ │ │ │ ├── I18nTestDemo.java │ │ │ │ ├── LocalSort.java │ │ │ │ ├── testEnum/ # 枚举示例 │ │ │ │ │ └── TestEnum.java │ │ │ │ └── util/ # 国际化工具类 │ │ │ │ ├── LocalMessageConfig.java │ │ │ │ └── LocaleMessageUtils.java │ │ │ ├── jaccard/ # Jaccard相似度算法 │ │ │ │ ├── JaccardSimilarityWithCommonsMath.java │ │ │ │ ├── SimilarityTwoUtils.java │ │ │ │ ├── TestAdd.java │ │ │ │ └── TextHtml.java │ │ │ ├── javaPragh/ # Java段落示例 │ │ │ │ └── demo/ │ │ │ │ └── HelloLabel.java │ │ │ ├── jdbcInfo/ # JDBC连接信息 │ │ │ │ └── ResourceJdbcInfo.java │ │ │ ├── jmm/ # JMM内存模型示例 │ │ │ │ ├── JmmDemo.java │ │ │ │ └── VDemo.java │ │ │ ├── lock/ # 锁机制示例 │ │ │ │ ├── LockFour.java │ │ │ │ ├── LockOne.java │ │ │ │ ├── LockThird.java │ │ │ │ └── LockTwo.java │ │ │ ├── log4j/ # Log4j安全漏洞演示 │ │ │ │ ├── HackCommand.java │ │ │ │ ├── Log4jTest.java │ │ │ │ └── RmiServer.java │ │ │ ├── mongo/ # MongoDB连接示例 │ │ │ │ ├── MongoConnectNoPassword.java │ │ │ │ └── MongoConnectWithPassword.java │ │ │ ├── nio/ # NIO示例 │ │ │ │ ├── FileChannelDemo.java │ │ │ │ └── ServerSocketChannelDemo.java │ │ │ ├── pc/ # 生产者消费者模式 │ │ │ │ ├── PcTest.java │ │ │ │ ├── ProductAndConsumer.java │ │ │ │ ├── ProductAndConsumerCondition.java │ │ │ │ └── ProductAndConsumerJuc.java │ │ │ ├── proxy/ # 代理模式示例 │ │ │ │ ├── DemoProxy.java │ │ │ │ ├── DomeStaticProxy.java │ │ │ │ ├── MonitorUtil.java │ │ │ │ ├── MyInvocationHandler.java │ │ │ │ ├── PampPriceProxy.java │ │ │ │ ├── Pmap.java │ │ │ │ └── PmapPrice.java │ │ │ ├── queue/ # 队列示例 │ │ │ │ ├── SynchronizedQueue/ # 同步队列 │ │ │ │ │ └── SynchronizedQueueDemo.java │ │ │ │ └── blockQueue/ # 阻塞队列 │ │ │ │ └── BlockQueueDemo.java │ │ │ ├── redis/ # Redis示例 │ │ │ │ ├── ChatRoom.java │ │ │ │ ├── ChatRoomReceive.java │ │ │ │ ├── ChatRoomSend.java │ │ │ │ ├── lua/ # Redis Lua脚本 │ │ │ │ │ └── TestLua.java │ │ │ │ └── write/ # Redis写入操作 │ │ │ │ └── WriteDataToRedis.java │ │ │ ├── redisCluster/ # Redis集群示例 │ │ │ │ └── RedisClusterTest.java │ │ │ ├── reflection/ # 反射机制示例 │ │ │ │ ├── Apple.java │ │ │ │ ├── Fruit.java │ │ │ │ └── ReflectionDemo.java │ │ │ ├── requestUrl/ # 扫描代码URL │ │ │ │ └── RequestScanner.java │ │ │ ├── scaler/ # 并发工具类示例 │ │ │ │ ├── CountDownLatchDemo/ # 倒计时门闩 │ │ │ │ │ └── TestCountDownLatch.java │ │ │ │ ├── CyclicBarrierDemo/ # 循环栅栏 │ │ │ │ │ └── TestCyclicBarrier.java │ │ │ │ └── SemaphoreDemo/ # 信号量 │ │ │ │ └── SemaphoreDemo.java │ │ │ ├── sftp/ # SFTP文件传输 │ │ │ │ ├── FileProgressMonitor.java │ │ │ │ ├── SFTPChannel.java │ │ │ │ ├── SFTPConstants.java │ │ │ │ └── SFTPTest.java │ │ │ ├── single/ # 单例设计模式 │ │ │ │ ├── EnumSingle.java │ │ │ │ ├── Hungry.java │ │ │ │ ├── HungryLazy.java │ │ │ │ └── LazyMan.java │ │ │ ├── sqlfile/ # SQL文件处理 │ │ │ │ └── TestSqlFile.java │ │ │ ├── sysMonitor/ # 系统监控 │ │ │ │ └── SystemMonitor.java │ │ │ ├── tableIndex/ # 表索引相关 │ │ │ │ ├── CreateTableIndex.java │ │ │ │ ├── enums/ # 枚举定义 │ │ │ │ │ └── DbType.java │ │ │ │ └── util/ # 工具类 │ │ │ │ └── Md5Util.java │ │ │ ├── testFile/ # 文件测试 │ │ │ │ ├── TestFile.java │ │ │ │ └── TestFileDemo.java │ │ │ ├── testSnowFlake/ # 雪花算法ID生成 │ │ │ │ ├── MacTools.java │ │ │ │ └── TestDemo.java │ │ │ ├── testString/ # 字符串测试 │ │ │ │ └── TestStringDemo.java │ │ │ ├── testgit/ # Git测试 │ │ │ │ ├── TestGit.java │ │ │ │ └── TestGitDown.java │ │ │ ├── threadPoolTest/ # 线程池测试 │ │ │ │ ├── CreadThreadPool.java │ │ │ │ ├── ThreadPoolDemo.java │ │ │ │ └── ThreadPoolUse.java │ │ │ ├── unlist/ # 链表数据结构 │ │ │ │ ├── Node.java │ │ │ │ └── UnLinkDemo.java │ │ │ ├── unsafe/ # 线程不安全集合 │ │ │ │ ├── HashMapUnsafe.java │ │ │ │ ├── ListUnsafe.java │ │ │ │ └── SetUnsafe.java │ │ │ └── utilTest/ # 工具类测试 │ │ │ ├── IdCardGenerator.java │ │ │ ├── Message.java │ │ │ ├── TestDate.java │ │ │ ├── TestImageBinary.java │ │ │ ├── TestPdf.java │ │ │ └── ThreadPoolUtil.java │ │ └── resources/ # 资源文件 │ │ ├── i18n/ # 国际化资源 │ │ │ ├── message.properties │ │ │ ├── message_en_US.properties │ │ │ └── message_zh_CN.properties │ │ ├── log4j2.xml # Log4j2配置 │ │ └── redis_message.properties # Redis消息配置 │ └── test/ │ └── java/ # 测试代码 └── expction.java # 异常处理示例 ``` #### 安装教程 1. xxxx 2. xxxx 3. xxxx #### 使用说明 1. xxxx 2. xxxx 3. xxxx #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)