From 16b2fdca89ef843e967b3e2889a3013f876d2a9f Mon Sep 17 00:00:00 2001 From: wangxiang <276644985haidnor@gmail.com> Date: Tue, 22 Aug 2023 10:28:37 +0800 Subject: [PATCH] add banner --- src/main/java/haidnor/jvm/Main.java | 10 ++++++++ .../java/haidnor/jvm/runtime/JVMThread.java | 2 ++ src/test/java/haidnor/jvm/test/TestJVM.java | 23 ++++++++++++++----- 3 files changed, 29 insertions(+), 6 deletions(-) diff --git a/src/main/java/haidnor/jvm/Main.java b/src/main/java/haidnor/jvm/Main.java index 0670f68..c3489b2 100644 --- a/src/main/java/haidnor/jvm/Main.java +++ b/src/main/java/haidnor/jvm/Main.java @@ -23,6 +23,16 @@ public class Main { @SneakyThrows public static void main(String[] args) { + String banner = """ + ░░ ░░ ░░░░░ ░░ ░░░░░░ ░░░ ░░ ░░░░░░ ░░░░░░ ░░ ░░ ░░ ░░░ ░░░\s + ▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒▒▒ ▒▒▒▒\s + ▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒▒▒▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒▒▒ ▒▒\s + ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓\s + ██ ██ ██ ██ ██ ██████ ██ ████ ██████ ██ ██ █████ ████ ██ ██\s + """; + + System.out.println(banner); + CommandLine cmd = initCommandLine(args); // 指定从 .jar 文件运行 diff --git a/src/main/java/haidnor/jvm/runtime/JVMThread.java b/src/main/java/haidnor/jvm/runtime/JVMThread.java index 573b78b..217b7eb 100644 --- a/src/main/java/haidnor/jvm/runtime/JVMThread.java +++ b/src/main/java/haidnor/jvm/runtime/JVMThread.java @@ -4,6 +4,8 @@ import java.util.Stack; /** * JVM 线程 + *

+ * 目前这个 JVMThread 并没有真的被 start() 开启, 不继承 Thread 也可以 * * @author wang xiang */ diff --git a/src/test/java/haidnor/jvm/test/TestJVM.java b/src/test/java/haidnor/jvm/test/TestJVM.java index 4a99fb0..1066c64 100644 --- a/src/test/java/haidnor/jvm/test/TestJVM.java +++ b/src/test/java/haidnor/jvm/test/TestJVM.java @@ -67,6 +67,11 @@ public class TestJVM { runMainClass(Demo7.class); } + @Test + public void test_8() throws Exception { + runMainClass(Demo8.class); + } + @Test public void demo_while() throws Exception { runMainClass(demo_while.class); @@ -104,11 +109,6 @@ public class TestJVM { // runMainClass(demo_foreach_3.class); } - @Test - public void test_8() throws Exception { - runMainClass(Demo8.class); - } - @Test(expected = ArithmeticException.class) public void demo_exception_1() throws Exception { runMainClass(demo_exception_1.class); @@ -175,5 +175,16 @@ public class TestJVM { public void test_Array() throws Exception { runMainClass(Array.class); } - + + @Test + public void test_() throws Exception { + long longNum = 922337203685477580L; // Long Max + + int[] arr = new int[2]; + arr[0] = (int) (longNum >> 32); // 获取高位部分 + arr[1] = (int) (longNum & 0xFFFFFFFFL); // 获取低位部分 + + long result = ((long) arr[0] << 32) | ((long) arr[1] & 0xFFFFFFFFL); + System.out.println(result); + } }