From ce8ed433e8861344f1a4a59c6430c01701b333c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E5=BA=9C=E5=BC=BA?= <8569561+fuqiangma@user.noreply.gitee.com> Date: Sat, 24 Dec 2022 18:44:52 +0800 Subject: [PATCH] haha --- demodump/demodump.iml | 133 +++++++++++++++++- demodump/pom.xml | 4 + .../org/example/haoshi/StopWatchTest.java | 70 +++++++++ .../java/org/example/optional/Address.java | 17 +++ .../org/example/optional/OptionalTest.java | 78 ++++++++++ .../java/org/example/optional/Student.java | 25 ++++ .../example/zhuangshi/FadInternetCafe.java | 17 +++ .../zhuangshi/ISurfTheInternetService.java | 14 ++ .../java/org/example/zhuangshi/MainTest.java | 25 ++++ .../example/zhuangshi/RechargeDecorator.java | 25 ++++ .../example/zhuangshi/RetroInternetBar.java | 14 ++ .../org/example/zhuangshi/SurfDecorator.java | 35 +++++ .../example/zhuangshinew/FoodDecorator.java | 24 ++++ .../zhuangshinew/GirlFriendDecorator.java | 23 +++ .../org/example/zhuangshinew/HaoHuaFilm.java | 14 ++ .../org/example/zhuangshinew/IwatchFilm.java | 10 ++ .../org/example/zhuangshinew/MainTest.java | 22 +++ .../org/example/haoshi/StopWatchTest.class | Bin 0 -> 1188 bytes .../org/example/optional/Address.class | Bin 0 -> 1813 bytes .../org/example/optional/OptionalTest.class | Bin 0 -> 3672 bytes .../org/example/optional/Student.class | Bin 0 -> 2056 bytes .../example/zhuangshi/FadInternetCafe.class | Bin 0 -> 619 bytes .../zhuangshi/ISurfTheInternetService.class | Bin 0 -> 175 bytes .../org/example/zhuangshi/MainTest.class | Bin 0 -> 927 bytes .../example/zhuangshi/RechargeDecorator.class | Bin 0 -> 890 bytes .../example/zhuangshi/RetroInternetBar.class | Bin 0 -> 622 bytes .../org/example/zhuangshi/SurfDecorator.class | Bin 0 -> 1012 bytes .../example/zhuangshinew/FoodDecorator.class | Bin 0 -> 755 bytes .../zhuangshinew/GirlFriendDecorator.class | Bin 0 -> 721 bytes .../org/example/zhuangshinew/HaoHuaFilm.class | Bin 0 -> 586 bytes .../org/example/zhuangshinew/IwatchFilm.class | Bin 0 -> 148 bytes .../org/example/zhuangshinew/MainTest.class | Bin 0 -> 843 bytes 32 files changed, 549 insertions(+), 1 deletion(-) create mode 100644 demodump/src/main/java/org/example/haoshi/StopWatchTest.java create mode 100644 demodump/src/main/java/org/example/optional/Address.java create mode 100644 demodump/src/main/java/org/example/optional/OptionalTest.java create mode 100644 demodump/src/main/java/org/example/optional/Student.java create mode 100644 demodump/src/main/java/org/example/zhuangshi/FadInternetCafe.java create mode 100644 demodump/src/main/java/org/example/zhuangshi/ISurfTheInternetService.java create mode 100644 demodump/src/main/java/org/example/zhuangshi/MainTest.java create mode 100644 demodump/src/main/java/org/example/zhuangshi/RechargeDecorator.java create mode 100644 demodump/src/main/java/org/example/zhuangshi/RetroInternetBar.java create mode 100644 demodump/src/main/java/org/example/zhuangshi/SurfDecorator.java create mode 100644 demodump/src/main/java/org/example/zhuangshinew/FoodDecorator.java create mode 100644 demodump/src/main/java/org/example/zhuangshinew/GirlFriendDecorator.java create mode 100644 demodump/src/main/java/org/example/zhuangshinew/HaoHuaFilm.java create mode 100644 demodump/src/main/java/org/example/zhuangshinew/IwatchFilm.java create mode 100644 demodump/src/main/java/org/example/zhuangshinew/MainTest.java create mode 100644 demodump/target/classes/org/example/haoshi/StopWatchTest.class create mode 100644 demodump/target/classes/org/example/optional/Address.class create mode 100644 demodump/target/classes/org/example/optional/OptionalTest.class create mode 100644 demodump/target/classes/org/example/optional/Student.class create mode 100644 demodump/target/classes/org/example/zhuangshi/FadInternetCafe.class create mode 100644 demodump/target/classes/org/example/zhuangshi/ISurfTheInternetService.class create mode 100644 demodump/target/classes/org/example/zhuangshi/MainTest.class create mode 100644 demodump/target/classes/org/example/zhuangshi/RechargeDecorator.class create mode 100644 demodump/target/classes/org/example/zhuangshi/RetroInternetBar.class create mode 100644 demodump/target/classes/org/example/zhuangshi/SurfDecorator.class create mode 100644 demodump/target/classes/org/example/zhuangshinew/FoodDecorator.class create mode 100644 demodump/target/classes/org/example/zhuangshinew/GirlFriendDecorator.class create mode 100644 demodump/target/classes/org/example/zhuangshinew/HaoHuaFilm.class create mode 100644 demodump/target/classes/org/example/zhuangshinew/IwatchFilm.class create mode 100644 demodump/target/classes/org/example/zhuangshinew/MainTest.class diff --git a/demodump/demodump.iml b/demodump/demodump.iml index 78b2cc5..437585b 100644 --- a/demodump/demodump.iml +++ b/demodump/demodump.iml @@ -1,2 +1,133 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/demodump/pom.xml b/demodump/pom.xml index dc1dfda..2cfcc5d 100644 --- a/demodump/pom.xml +++ b/demodump/pom.xml @@ -293,6 +293,10 @@ gson ${gson.version} + + org.projectlombok + lombok + diff --git a/demodump/src/main/java/org/example/haoshi/StopWatchTest.java b/demodump/src/main/java/org/example/haoshi/StopWatchTest.java new file mode 100644 index 0000000..0a9ed08 --- /dev/null +++ b/demodump/src/main/java/org/example/haoshi/StopWatchTest.java @@ -0,0 +1,70 @@ +package org.example.haoshi; + + +import org.springframework.util.StopWatch; + +import java.util.concurrent.TimeUnit; + +/** + * 使用 StopWatch 优雅打印执行耗时 + * + * @author xiaomage + * @date 2022/12/24 + */ +public class StopWatchTest { + + + public static void main(String[] args) throws InterruptedException { + + +// long start = System.currentTimeMillis(); +// // do something +// Thread.sleep(100); +// long end = System.currentTimeMillis(); +// long start2 = System.currentTimeMillis(); +// // do something +// Thread.sleep(200); +// long end2 = System.currentTimeMillis(); +// System.out.println("某某1执行耗时:" + (end - start)); +// System.out.println("某某2执行耗时:" + (end2 - start2)); + + +// StopWatch sw = new StopWatch(); +// sw.start(); +// Thread.sleep(1000); +// sw.stop(); +// System.out.println(sw.getTotalTimeMillis()); + + + StopWatch sw = new StopWatch(); + sw.start("A"); + Thread.sleep(500); + sw.stop(); + sw.start("B"); + Thread.sleep(300); + sw.stop(); + sw.start("C"); + Thread.sleep(200); + sw.stop(); + System.out.println(sw.prettyPrint()); + +// 一个StopWatch实例一次只能开启一个task,不能同时start多个task, +// 并且在该task未stop之前不能start一个新的task, +// 必须在该task stop之后才能开启新的task,若要一次开启多个,需要new不同的StopWatch实例; + } + + private static void getTasksTime() throws InterruptedException { + StopWatch sw = new StopWatch(); + sw.start("A"); + Thread.sleep(500); + sw.stop(); + sw.start("B"); + Thread.sleep(300); + sw.stop(); + sw.start("C"); + Thread.sleep(200); + sw.stop(); + System.out.println(sw.prettyPrint()); + } + +} diff --git a/demodump/src/main/java/org/example/optional/Address.java b/demodump/src/main/java/org/example/optional/Address.java new file mode 100644 index 0000000..db0b95b --- /dev/null +++ b/demodump/src/main/java/org/example/optional/Address.java @@ -0,0 +1,17 @@ +package org.example.optional; + + +import lombok.Data; + +/** + * 地址 + * + * @author Admin + * @date 2022/12/22 + */ + +@Data +public class Address { + private String city; + private String province; +} diff --git a/demodump/src/main/java/org/example/optional/OptionalTest.java b/demodump/src/main/java/org/example/optional/OptionalTest.java new file mode 100644 index 0000000..cdc4ba1 --- /dev/null +++ b/demodump/src/main/java/org/example/optional/OptionalTest.java @@ -0,0 +1,78 @@ +package org.example.optional; + + +import java.util.Optional; + +/** + * 可选测试 + * Optional + * @author xiaomage + * @date 2022/12/22 + */ +public class OptionalTest { + + public static void main(String[] args) throws Exception { + + Student student = new Student("haha"); + student = null; + + if (student != null) { + String name = student.getName(); + } + + //直接判空 不推荐使用 代码依旧冗余 + Optional studentB = Optional.ofNullable(student); + if (studentB.isPresent()) { + System.out.println(studentB.get().getName()); + } + + //正确的操作 用流式操作 + Optional.ofNullable(student).ifPresent(stu -> System.out.println(stu.getName())); + + +// if (student != null) { +// if (student.getAddress() != null) { +// Address address = student.getAddress(); +// if (address.getCity() != null) { +// System.out.println(address.getCity()); +// } +// } +// } +// throw new RuntimeException("有空值"); + + Optional.ofNullable(student) + .map(Student::getAddress) + .map(Address::getCity) + .orElseThrow(()->new Exception("有空值")); + + } + + public Student getStudent(Student student) throws RuntimeException { + if (student != null) { + String name = student.getName(); + if ("xiaomage".equals(name)) { + return student; + } + student = new Student(); + student.setName("xiaomage"); + return student; + } else { + student = new Student(); + student.setName("xiaomage"); + return student; + } + } + + + public Student getStudent2(Student student) { + return Optional.ofNullable(student) + .filter(stu -> "xiaomage".equals(stu.getName())) + .orElseGet(() -> { + Student studentNew = new Student(); + studentNew.setName("xiaomage"); + return studentNew; + }); + } + + +} diff --git a/demodump/src/main/java/org/example/optional/Student.java b/demodump/src/main/java/org/example/optional/Student.java new file mode 100644 index 0000000..3d1f915 --- /dev/null +++ b/demodump/src/main/java/org/example/optional/Student.java @@ -0,0 +1,25 @@ +package org.example.optional; + + +import lombok.Data; + +/** + * 学生 + * + * @author xiaomage + * @date 2022/12/22 + */ +@Data +public class Student { + + public Student() { + } + + public Student(String name) { + this.name = name; + } + + private String name; + private Address address; + +} diff --git a/demodump/src/main/java/org/example/zhuangshi/FadInternetCafe.java b/demodump/src/main/java/org/example/zhuangshi/FadInternetCafe.java new file mode 100644 index 0000000..82edd34 --- /dev/null +++ b/demodump/src/main/java/org/example/zhuangshi/FadInternetCafe.java @@ -0,0 +1,17 @@ +package org.example.zhuangshi; + + +/** + * @Author: xiaomage + * @Date: 2022-10-07 15:21 + * @Description: 时尚 网咖 + */ +public class FadInternetCafe implements ISurfTheInternetService { + + @Override + public void doSurfing() { + + System.out.println("在时尚 网咖 ,网上冲浪咯~"); + + } +} \ No newline at end of file diff --git a/demodump/src/main/java/org/example/zhuangshi/ISurfTheInternetService.java b/demodump/src/main/java/org/example/zhuangshi/ISurfTheInternetService.java new file mode 100644 index 0000000..61727ea --- /dev/null +++ b/demodump/src/main/java/org/example/zhuangshi/ISurfTheInternetService.java @@ -0,0 +1,14 @@ +package org.example.zhuangshi; + +/** + * @className: ISurfTheInternetService + * @author: xiaomage + * @date: 2022/12/21 + **/ +public interface ISurfTheInternetService { + + /** + * 冲起来 + */ + void doSurfing(); +} diff --git a/demodump/src/main/java/org/example/zhuangshi/MainTest.java b/demodump/src/main/java/org/example/zhuangshi/MainTest.java new file mode 100644 index 0000000..56f103f --- /dev/null +++ b/demodump/src/main/java/org/example/zhuangshi/MainTest.java @@ -0,0 +1,25 @@ +package org.example.zhuangshi; + + +public class MainTest { + + public static void main(String[] args) { + ISurfTheInternetService retroInternetBarService = new RetroInternetBar(); +//// +//// fadInternetCafeService.doSurfing(); +//// retroInternetBarService.doSurfing(); +// +// +// +// +// SurfDecorator retroInternetBarDecoratorService = new SurfDecorator(retroInternetBarService); +// retroInternetBarDecoratorService.doSurfing(); + + //先装一哈 + SurfDecorator retroInternetBarDecoratorService = new SurfDecorator(retroInternetBarService); + //再包装一哈 + RechargeDecorator rechargeDecorator = new RechargeDecorator(retroInternetBarDecoratorService); + rechargeDecorator.doSurfing(); + + } +} diff --git a/demodump/src/main/java/org/example/zhuangshi/RechargeDecorator.java b/demodump/src/main/java/org/example/zhuangshi/RechargeDecorator.java new file mode 100644 index 0000000..b21a001 --- /dev/null +++ b/demodump/src/main/java/org/example/zhuangshi/RechargeDecorator.java @@ -0,0 +1,25 @@ +package org.example.zhuangshi; + + + +/** + * @Author: xiaomage + * @Date: 2022-10-07 15:29 + * @Description: + */ +public class RechargeDecorator extends SurfDecorator{ + + public RechargeDecorator(ISurfTheInternetService surfTheInternetService) { + super(surfTheInternetService); + } + + @Override + public void doSurfing() { + super.doSurfing(); + checkRecharge(); + } + private void checkRecharge(){ + System.out.print("RechargeDecorator 也在增强,看看这个货卡里面充了有多少,就来上网"); + } + +} \ No newline at end of file diff --git a/demodump/src/main/java/org/example/zhuangshi/RetroInternetBar.java b/demodump/src/main/java/org/example/zhuangshi/RetroInternetBar.java new file mode 100644 index 0000000..f214816 --- /dev/null +++ b/demodump/src/main/java/org/example/zhuangshi/RetroInternetBar.java @@ -0,0 +1,14 @@ +package org.example.zhuangshi; + +/** + * @Author: xiaomage + * @Date: 2022-10-07 15:21 + * @Description: 复古 网吧 + */ +public class RetroInternetBar implements ISurfTheInternetService { + + @Override + public void doSurfing() { + System.out.println("在复古 网吧 ,网上冲浪咯~"); + } +} \ No newline at end of file diff --git a/demodump/src/main/java/org/example/zhuangshi/SurfDecorator.java b/demodump/src/main/java/org/example/zhuangshi/SurfDecorator.java new file mode 100644 index 0000000..779b7c5 --- /dev/null +++ b/demodump/src/main/java/org/example/zhuangshi/SurfDecorator.java @@ -0,0 +1,35 @@ +package org.example.zhuangshi; + +/** + * @Author: JCccc + * @Date: 2022-10-07 15:29 + * @Description: + */ +public class SurfDecorator implements ISurfTheInternetService { + + /** + * 内部维护一个冲浪接口类 + */ + private ISurfTheInternetService surfTheInternetService; + + /** + * 构造方法 把传入的 类 赋值给内部类 + * + * @param surfTheInternetService + */ + public SurfDecorator(ISurfTheInternetService surfTheInternetService) { + this.surfTheInternetService = surfTheInternetService; + } + + /** + * 增强的网上冲浪方法 + */ + @Override + public void doSurfing() { + + System.out.println("SurfDecorator 模拟业务 增强器在玩一点很新的东西,可能是一些额外的职责业务...."); + surfTheInternetService.doSurfing(); + System.out.println("SurfDecorator 模拟业务 增强器在玩一点很新的东西,可能是一些额外的职责业务,比如说是XXXX"); + } + +} \ No newline at end of file diff --git a/demodump/src/main/java/org/example/zhuangshinew/FoodDecorator.java b/demodump/src/main/java/org/example/zhuangshinew/FoodDecorator.java new file mode 100644 index 0000000..9d87cbf --- /dev/null +++ b/demodump/src/main/java/org/example/zhuangshinew/FoodDecorator.java @@ -0,0 +1,24 @@ +package org.example.zhuangshinew; + + +/** + * 食物装饰类 + * + * @author xiaomage + * @date 2022/12/21 + */ +public class FoodDecorator implements IwatchFilm { + + private IwatchFilm iwatchFilm; + + public FoodDecorator(IwatchFilm iwatchFilm) { + this.iwatchFilm = iwatchFilm; + } + + @Override + public void watch() { + System.out.println("我买了好多零食!"); + iwatchFilm.watch(); + } + +} diff --git a/demodump/src/main/java/org/example/zhuangshinew/GirlFriendDecorator.java b/demodump/src/main/java/org/example/zhuangshinew/GirlFriendDecorator.java new file mode 100644 index 0000000..4abb8e1 --- /dev/null +++ b/demodump/src/main/java/org/example/zhuangshinew/GirlFriendDecorator.java @@ -0,0 +1,23 @@ +package org.example.zhuangshinew; + + +/** + * 女朋友装饰类 + * + * @author xiaomage + * @date 2022/12/21 + */ +public class GirlFriendDecorator extends FoodDecorator { + + public GirlFriendDecorator(IwatchFilm iwatchFilm) { + super(iwatchFilm); + } + + @Override + public void watch() { + System.out.println("带着女朋友看电影"); + super.watch(); + } + + +} diff --git a/demodump/src/main/java/org/example/zhuangshinew/HaoHuaFilm.java b/demodump/src/main/java/org/example/zhuangshinew/HaoHuaFilm.java new file mode 100644 index 0000000..284006d --- /dev/null +++ b/demodump/src/main/java/org/example/zhuangshinew/HaoHuaFilm.java @@ -0,0 +1,14 @@ +package org.example.zhuangshinew; + + +/** + * 业务类 + * @author xiaomage + * @date 2022/12/21 + */ +public class HaoHuaFilm implements IwatchFilm { + @Override + public void watch() { + System.out.println("在豪华影院看电影"); + } +} diff --git a/demodump/src/main/java/org/example/zhuangshinew/IwatchFilm.java b/demodump/src/main/java/org/example/zhuangshinew/IwatchFilm.java new file mode 100644 index 0000000..6881cd4 --- /dev/null +++ b/demodump/src/main/java/org/example/zhuangshinew/IwatchFilm.java @@ -0,0 +1,10 @@ +package org.example.zhuangshinew; + +/** + * @className: IwatchFilm + * @author: xiaomage + * @date: 2022/12/21 + **/ +public interface IwatchFilm { + void watch(); +} diff --git a/demodump/src/main/java/org/example/zhuangshinew/MainTest.java b/demodump/src/main/java/org/example/zhuangshinew/MainTest.java new file mode 100644 index 0000000..7c2f88e --- /dev/null +++ b/demodump/src/main/java/org/example/zhuangshinew/MainTest.java @@ -0,0 +1,22 @@ +package org.example.zhuangshinew; + + +public class MainTest { + public static void main(String[] args) { + +// IwatchFilm iwatchFilm = new HaoHuaFilm(); +// iwatchFilm.watch(); + +// IwatchFilm iwatchFilm = new HaoHuaFilm(); +// +// IwatchFilm foodDecorator = new FoodDecorator(iwatchFilm) ; +// foodDecorator.watch(); + + + IwatchFilm iwatchFilm = new HaoHuaFilm(); + IwatchFilm foodDecorator = new FoodDecorator(iwatchFilm) ; + IwatchFilm girlFriendDecorator = new GirlFriendDecorator(foodDecorator); + girlFriendDecorator.watch(); + + } +} diff --git a/demodump/target/classes/org/example/haoshi/StopWatchTest.class b/demodump/target/classes/org/example/haoshi/StopWatchTest.class new file mode 100644 index 0000000000000000000000000000000000000000..632c2fa731d1fea5c3bd959a5cc5b70043fd7d49 GIT binary patch literal 1188 zcmaizT~8BH5Qg7VT3VJBu|WMsRFr-I3kV97&sI#-Monli#;c_q+l98OcjAcT<^Qd*`X{KiZC zGLXTjHjTwFerz3$!8%&wM;9hAsXe9)Jiv4mGf_Mg=v;8>j#?7vNTxOf!g+T~3S2BW zb@`%M+mv3>-mKCRFSsSUx?y{c){l%~RdIZQI|bJ(TXN5?HLB98*sfo3taar!UfZfv zDN0{uxpU2S>H>-6+rqZ}-nOcCy-X+1sh6`sX4@-sufB6W3xxb#f#D#H-_RlNJi8`$ zU2n%~DyP~`#ze;2UP(5T>Rl;axA!~hbk zNtg8RTmoX%#4P5bm^YEdf{8^PDsp`CQ7oBQ#)^qmys zk~N+Tx2bn-ZS1(#D-J+$a?-A`-Q5jODzzUN1^SbzzX3Safd6c)Kva)XRqMEoKAvuU zb%2?W;QKN)i&9WV(uWYAxCr42-<^T62Uoc^TMoE}>(sh%12^fVgFjM+DD&SCdUJ@5 zLM9$QK%^g?Ul7Y2peqwM0=@f0zYyp>NBU><((Td#;_cK^ObCo1h9r8BB6XTb84O|+ z!x*D=oVUdvc7i8k5;@ESn28n&{cbTn#?vyys(H+)g(>gCV7&Iy=pQI`-N)$9)2GnW zL{FbWZ|QAxtrMN%JoH&6pCkG_(X&KfAkrdJFA;s2=qp5DC3=o`{-ndlz&HggaF2)~ G-2VfsR`%Nf literal 0 HcmV?d00001 diff --git a/demodump/target/classes/org/example/optional/Address.class b/demodump/target/classes/org/example/optional/Address.class new file mode 100644 index 0000000000000000000000000000000000000000..16e0b63bc04f08668feb59dbb0e5908ea53a8321 GIT binary patch literal 1813 zcma)7U2hvj6g^|_de_c6aoi@YAt@;h;E%X2&;qfOK%1s*N>Zu@Re~or_A1`udX2rV z;IHrl$V(nT0#^bF!Ap_&4g3rqDdpVVbxa%!AzL$d?wmXK+;ew!fB*Z(p8;IOhbhcr zH38EOXBQk>Ui*pR*V#ri<3>jrM5kix2oO_^_+*fMcT%-aU;C}?%p|4Jdd^T>W; zS6X)apt9$8-S$CE!R&OsCvLm$C?wY0w(D;w#PfxRjN0@X^v>+KZRcM9@xIgj*xql^ zlil&^cI%0~)8XdGk>2y|`scfLCy;~<3&c0;c6&=mQR}ANYlf;);%(-< z|6qG}i==2LC{VxU(;4MUE{~2jeJ|{oLTblU_gmmOGH8ZupHEd>kj zU{N76IwcgDHQJqy({3n~CpGg_f1|WDT;!uZ%WDzikL3jxE99I6Ta9^+=eVkHR-EgC(*m;hLz?nvlwiN>K5?8r1`*tjNW@0cUn-Cly56(;seg#WWa5X55 zJd33t5Sz?iV}Y^m%+JNDt-f9J1YGO?Q7`q zqtY+Xc2|l6=)sak;@%2}s#g9DQ#tJ!W)ESNbJ_sL5MfqzLdjzA~ukxrQtU9DA3ZeOH7eg0wtcm zgrs5qg=qsT&oOVH%)hCg<9ui)`M#425h<|BS@hPWbfFhJMK5fKeoRj%DWRw24n@cO z!8o1K)l6+oTMy(~$kdt?%gmGxVU!0*ekOjis>w!9i*`(rkXs9rrMViO8s(1TUA&36 zm{Z3!yiF^{SN|1$L`0fPZ0R*xS|Gz+XfNo{D1%Zg9ZJ0*Xta)rV-ETdFvMslU4$_o y?|D?|1Ll;Qm;VW=Po82bYYmW=f;nZUL)#R4hQk1v@hkH0%bAbrQmjjqfA1d*9x9gr literal 0 HcmV?d00001 diff --git a/demodump/target/classes/org/example/optional/OptionalTest.class b/demodump/target/classes/org/example/optional/OptionalTest.class new file mode 100644 index 0000000000000000000000000000000000000000..d7d76054e3009ac1544f68ad5f3173363f919cd8 GIT binary patch literal 3672 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 Zk_p;Ln!les$ zW}#5}1H?_+fN3eTKcK&(qyIv@6F(}&MK||y?>*-2beqy#<+U}(6Uq_Z3a^VIL!#zdzN$;7!Ju2Nuc~5I zhVq$zunR4|%?-qn&@gG>HQq414L+S-oD705A9I&KkAmKDZjSPw?}x!b|Kj{C=zZST zFlAsGIfi%tWr-mfK4jYD*xabJMAc)Mf1J7&I^SxFyDwQnZObZoe;{G)c0JLiWx75I zWlKYG>6)8LI-cbz!P~Tj^doHstrLQ5hj=qL#Gxx<(YlI-GV&OqOA?UI8lgwaq6^=Xmxf}5>m!ni4iNh*pwkFMh$HzxBylg2 Iq-g}>*T>GAD*ylh literal 0 HcmV?d00001 diff --git a/demodump/target/classes/org/example/zhuangshi/ISurfTheInternetService.class b/demodump/target/classes/org/example/zhuangshi/ISurfTheInternetService.class new file mode 100644 index 0000000000000000000000000000000000000000..74b95b745f24726db7cd7e393947d96fb8a8ae42 GIT binary patch literal 175 zcmZ{eu?@m76h!ZbkPs>cU;rqB8)iUCMG-`A!pC+L9AxYWF&YH}FciWWfaY}4-ILzu z`+5V|qR5fwm=TI|Uk7(FRuLwv^^q{I``{YhnT`p|YFrPRE9===_BFe~G`wl$APHsf ul;DTF-Z~af9i&xvZNwjluoyAX#hcilT5fzsAS6)kgD=U7WEm+zjXjS}ZH)(vc=|kHzF z#|%X!w2F>GEmSDV0+D2*kMOv4MnCrn$ZdKT=#r6VlBDQp5R# zCaSy=en7g#Q;}gOq4#teO8rhf>MLJ-mB!!sv03koKRL`H$FLRe>*)#le-s~J zPU2Jwr!}0x*(A;-G02d(Aza~4FkCH^JXtpQBda=B;l>juu-tOZ5yqq$$oo?cpLBgL zUGAG)&I_9tN2eKLH@#WT&|eZRzY|nvxSXFTT&?83C4U!)EGv4B)Z3K z$C71!i`$;Gd`}h`^0ltX8H^qxy{ctM&w9#MOE4?I zIT?n#GnMr{CkzA1i&3E#8|LGh&#UxJyufETT59bG&$ugv>zlshR+So&>k?*&&nXg} zDzuNa1$_#ZX+AJSW0#^?1frk@K%?~#p$SCj0up1F*T7ckEdrfZtrg86jy_}v=i4ko z{e*~*0URa`nlI!!TE!Ly(qn6g&=cL4>!Y+FYK+J!>Xwq!iB9B>WJL9_BXpgTwf4Rt YmW}^FVqd6TS6=;2T|~$}Nk)+W5BqKEegFUf literal 0 HcmV?d00001 diff --git a/demodump/target/classes/org/example/zhuangshi/RetroInternetBar.class b/demodump/target/classes/org/example/zhuangshi/RetroInternetBar.class new file mode 100644 index 0000000000000000000000000000000000000000..609305e38de6ed2b7bf5854eda495e47f837489e GIT binary patch literal 622 zcma)3O-my|5Pcn^lbIb?jmG`bHF}UJ>Rbd5iiZ^hA?UIrxp$H_X_?GOr$^L-M-PJd zarP)EUPQqU1osE*@7U3Qv20D;)n)PErHZP0@Ad1dAHQzD0~klYg%+eubfPPTjD>Ez zGw|NP2Lm4&TBf8g^)y3MZm7VJoC(T;p)D_cF(1~7LM`&5N1b#&C~>dAm5l2@&7`i% zIzuiWsEQ-jcx}ZK&PFxlex+WO&Nrb|Fz0Kbe4)Q^HOXL>12*D_MG&(rjH1OF* zAF>RCuQSEa9>3&xWZGFME{l?87=4*L7kgi9PsRv>l2TRSsoF zxq0{+?7T64Loo(}U^Yej5r9^_rHYRHM4o7f0p82|rp9L%$#ncqho<+0Pg)Aowlz02gWngCZxUsAzIfES4jg-u9 zD%qtBmv5)@ik8ZyRe3hn5irfrbwSls^CH8!&_80saR&D#eSu{AqpHTQ&!~<> zTm96cvaCqxgp zPJLzD+Ivu2`&eJUUoCGm-hDq~Jt;Qs?be9|^X@pJ2?^>&Sp8+TV5r8iBcDOw^< zNeCeX56tJZGqy88Z#8WT~Tr9nuWql3kS12p4Js9an^+)=!7y z7^geo0kxkV!R{{I7lFQe(MNkfMKcr&^!7%+fkjS#f$+(x8KAunF4~9ShM!mhI7m^T zSq&csDI%Q1%7~46*W#RWG=P!MaQWO{aUfEHu#GMTJ0ViyuZEACnZcNWh^#Q=dwt literal 0 HcmV?d00001 diff --git a/demodump/target/classes/org/example/zhuangshinew/FoodDecorator.class b/demodump/target/classes/org/example/zhuangshinew/FoodDecorator.class new file mode 100644 index 0000000000000000000000000000000000000000..520342819249d06bf9665ddb36b8db62d8c0349a GIT binary patch literal 755 zcma))O-~bH5Xb+sEo{526iO-h0*VMOHDNE@AY3F(Od2(*>HX>QqT_miF+ny2$tFwk=HCMzeSj<=&<3+m!h@lOLw=~5kaHfRDs-fpZrZ* zCJe5qKt-zr$GMhbp+-nQ*6Wgxt1#|qr&X8X3sLtulCNk__%#u#*zX3@QB$><-ydJr zdVNiLIuwx(xu=1oK|;!jt65du2|dYU#T9yT7dOO~uwkQM!@`h>`!;6rfH3*<&D*o1 z{j=lO=bui_Kfb$oe{iw);n(+9CgyC+tlKg8@y2JAEN`h3{eIBYHsz#v{EgpXCiZH?4jFbF;b4jA)Xe=+( zFvI7O0r5!?jCdJ*ItG8+xWRUqy)yd-zpc_CsPyO?jL%6jYo@t4eq> zTK!*hgnX(YWXrBmzoy%!F1c}TZhlCa)emA%1Q^4(hX(;3;t}(@Kfm|Be(HWZ{e9Hw ze(v;+I=wGv-OFPS3jrQuF~Cif2+v2ZYe*r&@<@6`>+8V@Q?92l;_ZjEgO-&sPovwG zFk4MCN{8=^N^H#L4Sq%}puj(ZI~kB$0pC7H8ysi& zTUdE^4mwWrH~98bw1_+=5O6%#XQ9ZkI|WQ)iap4!XW+HT9O7K@1esFy2XZUt$X{Dd ZAj`=T7oTR!nbbDu3kJ449WyeR`3tyHw*vqG literal 0 HcmV?d00001 diff --git a/demodump/target/classes/org/example/zhuangshinew/HaoHuaFilm.class b/demodump/target/classes/org/example/zhuangshinew/HaoHuaFilm.class new file mode 100644 index 0000000000000000000000000000000000000000..d3096a68247377529d8948f1daf10c21d6256491 GIT binary patch literal 586 zcma)3%SyvQ6g|_2X=Bt{-)}{P)`i&!E-G#WQ3xtjx}Vme8A+3pCcb__bmd0q%9XgQ zpn{+u;C~eLC&ZgnS_Ba{_s%`{oOAEYyna5t09eMHiY}y+7{FixLn?+bqF_|Pn1XSJ zu2pGEZ;c_E$rc!5>(0Jl=rg1(w*5*`xO=>45t25X61NK6l|lUt#ynHj7#0l2E$iZ# zSE`oKPfefO<(f$jNBSmrHhsP!txAp|e#E_!$)M&P-z^D3gHavI(g8o@8WKnSUYwDcms+lmP|C<408*@<1C-SFPs&P7 eE@5M2U}Rtd+RMPe$O5#Afd#~3U1E#T^e7Ywvn+u;yajLmg`i=-{4< z4Hx$X>d$nl^XCFp|KYKK^CCM@0*j$e)xmh!SLR6e6K0mfERxBwG}^|$lTJR+BY}-D zGjX6k%HjJ&1)m3FnZ~058P0-zsna7h%6CaUq%Y9+--f61gA5X)g2UYCG~O*rOB0i9 zmO{*~v>4Wk%+iA$6=x(luJ8m$TksHa3wWHQQ`n z2!3KUHn4yO`zvj4PiA{#d9G@!6xF>f!*Xs4?3AKk{VmePRs#>Lluqfh3*iDwv+=&^ zpQ