From 1929f6230ec55396ea4afcf548945da8c12558ca Mon Sep 17 00:00:00 2001 From: Steven Date: Fri, 18 Nov 2022 16:24:23 +0800 Subject: [PATCH] add demo test class --- .../java/com/example/mqrocketmq/MainTest.java | 28 +++++++ .../java/com/example/mqrocketmq/TestSort.java | 73 +++++++++++++++++++ 2 files changed, 101 insertions(+) create mode 100644 mq-rocketmq/src/test/java/com/example/mqrocketmq/MainTest.java create mode 100644 mq-rocketmq/src/test/java/com/example/mqrocketmq/TestSort.java diff --git a/mq-rocketmq/src/test/java/com/example/mqrocketmq/MainTest.java b/mq-rocketmq/src/test/java/com/example/mqrocketmq/MainTest.java new file mode 100644 index 0000000..2e62790 --- /dev/null +++ b/mq-rocketmq/src/test/java/com/example/mqrocketmq/MainTest.java @@ -0,0 +1,28 @@ +package com.example.mqrocketmq; + +import java.util.concurrent.atomic.AtomicInteger; + +/** + * @author Steven + * @Date 2022/11/16 16:57 + */ +public class MainTest { + + public static AtomicInteger num = new AtomicInteger(0); + + public static void main(String[] args) throws InterruptedException { + Runnable runnable = () -> { + for (long i = 0; i < 1000000000; i++) { + num.getAndAdd(1); + } + System.out.println(Thread.currentThread().getName() + "执行结束!"); + }; + + Thread t1 = new Thread(runnable); + Thread t2 = new Thread(runnable); + t1.start(); + t2.start(); + Thread.sleep(1000); + System.out.println("num = " + num); + } +} diff --git a/mq-rocketmq/src/test/java/com/example/mqrocketmq/TestSort.java b/mq-rocketmq/src/test/java/com/example/mqrocketmq/TestSort.java new file mode 100644 index 0000000..cc92178 --- /dev/null +++ b/mq-rocketmq/src/test/java/com/example/mqrocketmq/TestSort.java @@ -0,0 +1,73 @@ +package com.example.mqrocketmq; + +/** + * @author Steven + * @Date 2022/11/18 14:03 + */ +public class TestSort { + + public static void main(String[] args) { +// int[] a = {2, 4, 6, 8, 3, 6}; + int[] a = {5, 9, 1, 6, 3, 2}; + doSomething(a, 0, a.length - 1); + for (int i = 0; i <= a.length -1; i++) { + System.out.println(a[i]); + } + } + + private static void doSomething(int[] a, int start, int end) { + if (start < end) { + // 大的向前移动 返回移动数据数量,也就是当前最比最后一个点大的下标 + int p = core(a, start, end); + // 从0开始排序 到正中间位置区分 + doSomething(a, start, p-1); + // + doSomething(a, p+1, end); + } + } + + /** + * + * @param a + * @param start + * @param end + * @return + */ + private static int core(int[] a, int start, int end) { + int x = a[end]; + // 自增 + int i = start; + for (int j = start; j <= end -1; j++) { + // 从头到尾遍历, 比最后一个大的就交换,向前移动 i <= j + if (a[j] >= x) { + swap(a, i, j);// 大的向前移动,依次放第一第二第三 + i++; + } + } + /** + * 最后一位 + */ + swap(a, i, end); + return i; + } + + /** + * 从前放到后 + * @param a + * @param i + * @param j + */ + private static void swap(int[] a, int i, int j) { + int tmp = a[i]; + a[i] = a[j]; + a[j] = tmp; + } + + +} + + + + + + -- GitLab