From 7477462a94bbe57e2ea9d949bb979912d0a12aba Mon Sep 17 00:00:00 2001 From: xiaotian <37362743+soThatIsYou@users.noreply.github.com> Date: Sun, 26 Sep 2021 23:49:11 +0800 Subject: [PATCH 1/9] =?UTF-8?q?Create=20=E4=B8=8D=E5=90=8C=20GC=20?= =?UTF-8?q?=E5=92=8C=E5=A0=86=E5=86=85=E5=AD=98=E7=9A=84=E6=80=BB=E7=BB=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...345\255\230\347\232\204\346\200\273\347\273\223" | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 "02nio/\344\270\215\345\220\214 GC \345\222\214\345\240\206\345\206\205\345\255\230\347\232\204\346\200\273\347\273\223" diff --git "a/02nio/\344\270\215\345\220\214 GC \345\222\214\345\240\206\345\206\205\345\255\230\347\232\204\346\200\273\347\273\223" "b/02nio/\344\270\215\345\220\214 GC \345\222\214\345\240\206\345\206\205\345\255\230\347\232\204\346\200\273\347\273\223" new file mode 100644 index 00000000..3f011333 --- /dev/null +++ "b/02nio/\344\270\215\345\220\214 GC \345\222\214\345\240\206\345\206\205\345\255\230\347\232\204\346\200\273\347\273\223" @@ -0,0 +1,13 @@ +串行 + 最简单的一种,主要是为单线程环境和较小的堆内存环境设计。 + -XX:+UseSerialGC 配置串行 GC +并行 + 并行垃圾收集器适用于多核服务器,主要目标是增加吞吐量。 + -XX:+UseParallelGC 配置并行GC +CMS + CMS GC 的设计目标是避免在老年代垃圾收集时出现长时间的卡顿 + 主要调优目标是降低 GC 停顿导致的系统延迟 + -XX:+UseConcMarkSweepGC 配置CMS GC +G1 + GC 最主要的设计目标是:将 STW 停顿的时间和分布,变成 可预期且可配置的。 + -XX:+UseG1GC 配置G1 GC From 4e6260cd79c741b32e9f860249a497d421379bd5 Mon Sep 17 00:00:00 2001 From: shibo Date: Sun, 10 Oct 2021 21:22:15 +0800 Subject: [PATCH 2/9] =?UTF-8?q?=EF=BC=88=E5=BF=85=E5=81=9A=EF=BC=89?= =?UTF-8?q?=E6=95=B4=E5=90=88=E4=B8=8A=E6=AC=A1=E4=BD=9C=E4=B8=9A=E7=9A=84?= =?UTF-8?q?=20httpclient/okhttp=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 02nio/nio01/pom.xml | 9 +++++- .../java/java0/nio01/netty/HttpHandler.java | 7 +++- .../main/java/java0/nio01/netty/HttpUtil.java | 32 +++++++++++++++++++ 3 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 02nio/nio01/src/main/java/java0/nio01/netty/HttpUtil.java diff --git a/02nio/nio01/pom.xml b/02nio/nio01/pom.xml index e42a62f2..8752cf77 100644 --- a/02nio/nio01/pom.xml +++ b/02nio/nio01/pom.xml @@ -19,12 +19,12 @@ org.apache.maven.plugins maven-compiler-plugin + 3.1 ${maven.compile.source} ${maven.compile.target} - org.apache.maven.plugins maven-shade-plugin @@ -59,7 +59,14 @@ netty-all 4.1.51.Final + + com.squareup.okhttp3 + okhttp + 3.3.0 + + + \ No newline at end of file diff --git a/02nio/nio01/src/main/java/java0/nio01/netty/HttpHandler.java b/02nio/nio01/src/main/java/java0/nio01/netty/HttpHandler.java index 81f31d2e..ab050170 100644 --- a/02nio/nio01/src/main/java/java0/nio01/netty/HttpHandler.java +++ b/02nio/nio01/src/main/java/java0/nio01/netty/HttpHandler.java @@ -46,7 +46,12 @@ public void channelRead(ChannelHandlerContext ctx, Object msg) { private void handlerTest(FullHttpRequest fullRequest, ChannelHandlerContext ctx, String body) { FullHttpResponse response = null; try { - String value = body; // 对接上次作业的httpclient或者okhttp请求另一个url的响应数据 + + String httpResult = java0.nio01.netty.HttpUtil.get("http://localhost:8801",null); + String value = httpResult; + + + // 对接上次作业的httpclient或者okhttp请求另一个url的响应数据 // httpGet ... http://localhost:8801 // 返回的响应,"hello,nio"; diff --git a/02nio/nio01/src/main/java/java0/nio01/netty/HttpUtil.java b/02nio/nio01/src/main/java/java0/nio01/netty/HttpUtil.java new file mode 100644 index 00000000..db7f9049 --- /dev/null +++ b/02nio/nio01/src/main/java/java0/nio01/netty/HttpUtil.java @@ -0,0 +1,32 @@ +package java0.nio01.netty; + +import okhttp3.*; + +import java.util.Map; +import java.util.concurrent.TimeUnit; + +public class HttpUtil { + private static final OkHttpClient client = new OkHttpClient.Builder() + .connectTimeout(5, TimeUnit.SECONDS) + .writeTimeout(5, TimeUnit.SECONDS) + .readTimeout(5, TimeUnit.SECONDS) + .build(); + + public static String get(String url, Map header) { + Request.Builder request = new Request.Builder().url(url).get(); + if (header != null && !header.isEmpty()) { + for (Map.Entry entry : header.entrySet()) { + request.addHeader(entry.getKey(),entry.getValue()); + } + } + try (Response response = client.newCall(request.build()).execute()) { + ResponseBody res = response.body(); + return res.string(); + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + +} From 2071ee468f498bfda940fde21b6ad792683ff56b Mon Sep 17 00:00:00 2001 From: shibo Date: Sun, 10 Oct 2021 21:29:11 +0800 Subject: [PATCH 3/9] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E8=BF=87=E6=BB=A4?= =?UTF-8?q?=E5=99=A8=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 02nio/nio02/pom.xml | 1 + .../github/kimmking/gateway/filter/HeaderHttpRequestFilter.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/02nio/nio02/pom.xml b/02nio/nio02/pom.xml index 005de90a..c19b329c 100644 --- a/02nio/nio02/pom.xml +++ b/02nio/nio02/pom.xml @@ -78,6 +78,7 @@ org.springframework.boot spring-boot-maven-plugin + 2.3.0.RELEASE diff --git a/02nio/nio02/src/main/java/io/github/kimmking/gateway/filter/HeaderHttpRequestFilter.java b/02nio/nio02/src/main/java/io/github/kimmking/gateway/filter/HeaderHttpRequestFilter.java index af5c37fb..1e75a156 100644 --- a/02nio/nio02/src/main/java/io/github/kimmking/gateway/filter/HeaderHttpRequestFilter.java +++ b/02nio/nio02/src/main/java/io/github/kimmking/gateway/filter/HeaderHttpRequestFilter.java @@ -7,6 +7,6 @@ public class HeaderHttpRequestFilter implements HttpRequestFilter { @Override public void filter(FullHttpRequest fullRequest, ChannelHandlerContext ctx) { - fullRequest.headers().set("mao", "soul"); + fullRequest.headers().set("platform", "geekTimeHomeWork"); } } From 38f72425dee13042e41f5e6750b36f02d99b4059 Mon Sep 17 00:00:00 2001 From: shibo Date: Sun, 10 Oct 2021 21:34:06 +0800 Subject: [PATCH 4/9] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E8=BF=87=E6=BB=A4?= =?UTF-8?q?=E5=99=A8=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kimmking/gateway/filter/HeaderHttpRequestFilter.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/02nio/nio02/src/main/java/io/github/kimmking/gateway/filter/HeaderHttpRequestFilter.java b/02nio/nio02/src/main/java/io/github/kimmking/gateway/filter/HeaderHttpRequestFilter.java index 1e75a156..deb7c0cb 100644 --- a/02nio/nio02/src/main/java/io/github/kimmking/gateway/filter/HeaderHttpRequestFilter.java +++ b/02nio/nio02/src/main/java/io/github/kimmking/gateway/filter/HeaderHttpRequestFilter.java @@ -7,6 +7,8 @@ public class HeaderHttpRequestFilter implements HttpRequestFilter { @Override public void filter(FullHttpRequest fullRequest, ChannelHandlerContext ctx) { - fullRequest.headers().set("platform", "geekTimeHomeWork"); + fullRequest.headers().set("mao", "soul"); + fullRequest.headers().set("platform", "geekTimeHomework"); + } } From b350b022e7ca46002f797bc317fe0bf99a383577 Mon Sep 17 00:00:00 2001 From: shibo Date: Sun, 17 Oct 2021 22:38:59 +0800 Subject: [PATCH 5/9] =?UTF-8?q?=E4=BD=9C=E4=B8=9A2=20future=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java0/conc0303/homework03/Homework1.java | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 03concurrency/0301/src/main/java/java0/conc0303/homework03/Homework1.java diff --git a/03concurrency/0301/src/main/java/java0/conc0303/homework03/Homework1.java b/03concurrency/0301/src/main/java/java0/conc0303/homework03/Homework1.java new file mode 100644 index 00000000..64e3f1a5 --- /dev/null +++ b/03concurrency/0301/src/main/java/java0/conc0303/homework03/Homework1.java @@ -0,0 +1,34 @@ +package java0.conc0303.homework03; + + +import java.util.concurrent.Callable; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.FutureTask; + +public class Homework1 { + + public static void main(String[] args) throws InterruptedException, ExecutionException { + long start = System.currentTimeMillis(); + + Homework1 demo = new Homework1(); + + FutureTask task = new FutureTask<>(new Callable() { + @Override + public Integer call() throws Exception { + return demo.sum(); + } + }); + new Thread(task).start(); + System.out.println(Thread.currentThread().getName() + "异步计算的结果为:" + task.get()); + System.out.println(Thread.currentThread().getName() + "使用时间:" + (System.currentTimeMillis() - start) + " ms"); + } + + private static int sum() { + return fibo(36); + } + + private static int fibo(int a) { + if (a < 2) + return 1; + return fibo(a - 1) + fibo(a - 2); + }} From 637c0ae24470973fb7ba2f182fdf4b4e2876b7ce Mon Sep 17 00:00:00 2001 From: shibo Date: Sun, 17 Oct 2021 22:43:15 +0800 Subject: [PATCH 6/9] =?UTF-8?q?=E4=BD=9C=E4=B8=9A2=20future=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/java0/conc0303/homework03/Homework1.java | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/03concurrency/0301/src/main/java/java0/conc0303/homework03/Homework1.java b/03concurrency/0301/src/main/java/java0/conc0303/homework03/Homework1.java index 64e3f1a5..92684d88 100644 --- a/03concurrency/0301/src/main/java/java0/conc0303/homework03/Homework1.java +++ b/03concurrency/0301/src/main/java/java0/conc0303/homework03/Homework1.java @@ -12,12 +12,7 @@ public static void main(String[] args) throws InterruptedException, ExecutionExc Homework1 demo = new Homework1(); - FutureTask task = new FutureTask<>(new Callable() { - @Override - public Integer call() throws Exception { - return demo.sum(); - } - }); + FutureTask task = new FutureTask<>(() -> demo.sum()); new Thread(task).start(); System.out.println(Thread.currentThread().getName() + "异步计算的结果为:" + task.get()); System.out.println(Thread.currentThread().getName() + "使用时间:" + (System.currentTimeMillis() - start) + " ms"); From fa290a216d07803149bbe472298958ba9fbb3335 Mon Sep 17 00:00:00 2001 From: shibo Date: Sun, 17 Oct 2021 22:43:52 +0800 Subject: [PATCH 7/9] =?UTF-8?q?=E4=BD=9C=E4=B8=9A2=20future=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/java0/conc0303/homework03/Homework1.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/03concurrency/0301/src/main/java/java0/conc0303/homework03/Homework1.java b/03concurrency/0301/src/main/java/java0/conc0303/homework03/Homework1.java index 92684d88..c40c3783 100644 --- a/03concurrency/0301/src/main/java/java0/conc0303/homework03/Homework1.java +++ b/03concurrency/0301/src/main/java/java0/conc0303/homework03/Homework1.java @@ -1,7 +1,6 @@ package java0.conc0303.homework03; -import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.FutureTask; @@ -12,7 +11,7 @@ public static void main(String[] args) throws InterruptedException, ExecutionExc Homework1 demo = new Homework1(); - FutureTask task = new FutureTask<>(() -> demo.sum()); + FutureTask task = new FutureTask<>(() -> sum()); new Thread(task).start(); System.out.println(Thread.currentThread().getName() + "异步计算的结果为:" + task.get()); System.out.println(Thread.currentThread().getName() + "使用时间:" + (System.currentTimeMillis() - start) + " ms"); @@ -26,4 +25,5 @@ private static int fibo(int a) { if (a < 2) return 1; return fibo(a - 1) + fibo(a - 2); - }} + } +} From 70d5779bbd82f28bc6b0594108e26b6046805c35 Mon Sep 17 00:00:00 2001 From: shibo Date: Sun, 17 Oct 2021 22:45:09 +0800 Subject: [PATCH 8/9] =?UTF-8?q?=E4=BD=9C=E4=B8=9A2=20future=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0301/src/main/java/java0/conc0303/homework03/Homework1.java | 1 - 1 file changed, 1 deletion(-) diff --git a/03concurrency/0301/src/main/java/java0/conc0303/homework03/Homework1.java b/03concurrency/0301/src/main/java/java0/conc0303/homework03/Homework1.java index c40c3783..bb28b295 100644 --- a/03concurrency/0301/src/main/java/java0/conc0303/homework03/Homework1.java +++ b/03concurrency/0301/src/main/java/java0/conc0303/homework03/Homework1.java @@ -9,7 +9,6 @@ public class Homework1 { public static void main(String[] args) throws InterruptedException, ExecutionException { long start = System.currentTimeMillis(); - Homework1 demo = new Homework1(); FutureTask task = new FutureTask<>(() -> sum()); new Thread(task).start(); From 7e43db5860b00dfef9e2fcff733096ee239abfb2 Mon Sep 17 00:00:00 2001 From: xiaotian <37362743+soThatIsYou@users.noreply.github.com> Date: Sun, 31 Oct 2021 23:58:34 +0800 Subject: [PATCH 9/9] Create sql --- sql | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 sql diff --git a/sql b/sql new file mode 100644 index 00000000..417f9474 --- /dev/null +++ b/sql @@ -0,0 +1,44 @@ +CREATE TABLE `t_order` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `order_no` varchar(40) NOT NULL COMMENT '订单号', + `product_id` int(11) NOT NULL COMMENT '产品id', + `product_name` varchar(255) DEFAULT NULL COMMENT '产品名', + `price` decimal(10,2) DEFAULT NULL COMMENT '价格', + `username` varchar(64) DEFAULT NULL COMMENT '用户名', + `mobile` varchar(64) DEFAULT NULL COMMENT '手机号', + `pay_time` datetime DEFAULT NULL COMMENT '支付时间', + `create_time` timestamp(3) NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '创建时间', + `update_time` timestamp(3) NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE KEY `idx_order_no` (`order_no`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='订单表’; + +CREATE TABLE `t_product` ( + `product_no` varchar(64) NOT NULL DEFAULT '0' COMMENT '商品编号', + `name` varchar(512) DEFAULT NULL COMMENT '商品名称', + `bref` varchar(2048) DEFAULT NULL COMMENT '简介', + `detail` varchar(2048) DEFAULT NULL COMMENT '商品详情', + `cover_image` varchar(512) DEFAULT NULL COMMENT '封面图', + `list_image` varchar(512) DEFAULT NULL COMMENT '列表图', + `price` double(11,2) DEFAULT NULL COMMENT '价格', + `status` int(11) DEFAULT NULL COMMENT '0:下架 1:上架', + `create_time` timestamp(3) NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '创建时间', + `update_time` timestamp(3) NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT '更新时间', + PRIMARY KEY (`courseNo`) USING BTREE, + KEY `idx_product_no` (`courseNo`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='商品’; + +CREATE TABLE `t_user` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `username` varchar(64) CHARACTER SET utf8 DEFAULT NULL COMMENT '用户名', + `head_image` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT '头像', + `gender` int(11) DEFAULT '1' COMMENT '性别', + `email` varchar(40) COLLATE utf8_bin DEFAULT NULL, + `country` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT '国家', + `province` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT '省', + `city` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT '市', + `create_time` timestamp(3) NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '创建时间', + `update_time` timestamp(3) NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT '更新时间', + `phone` varchar(64) CHARACTER SET utf8 DEFAULT NULL COMMENT '手机号', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='用户表';