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+l984Anz6tDdS
zdI3fguZ_RQYvX&iKp_&{&F-9;ojLQ&%-Ns6zkUZWjWq-P7>OcjAcT<^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|LGhUxJyufETT59bG&$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