diff --git a/.gitignore b/.gitignore index 321d14b..48e05c4 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,7 @@ out/ !**/src/main/**/out/ !**/src/test/**/out/ - +target/ ### Eclipse ### .apt_generated .classpath @@ -27,7 +27,5 @@ bin/ ### Mac OS ### .DS_Store -/.idea/ - - -/target/ \ No newline at end of file +.idea/ +*.iml diff --git a/.idea/.gitignore b/.idea/.gitignore deleted file mode 100644 index 26d3352..0000000 --- a/.idea/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml diff --git a/.idea/compiler.xml b/.idea/compiler.xml deleted file mode 100644 index 4fc82c1..0000000 --- a/.idea/compiler.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml deleted file mode 100644 index db0f74e..0000000 --- a/.idea/inspectionProfiles/Project_Default.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml deleted file mode 100644 index b074d70..0000000 --- a/.idea/jarRepositories.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml deleted file mode 100644 index fdc35ea..0000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index 02c13c5..0000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 94a25f7..0000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/java_pid16957.hprof b/java_pid16957.hprof new file mode 100644 index 0000000..f5c339e Binary files /dev/null and b/java_pid16957.hprof differ diff --git a/java_test.iml b/java_test.iml deleted file mode 100644 index a80f8af..0000000 --- a/java_test.iml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/src/main/java/jvm/Calculation.java b/src/main/java/jvm/Calculation.java new file mode 100644 index 0000000..16cd446 --- /dev/null +++ b/src/main/java/jvm/Calculation.java @@ -0,0 +1,68 @@ +package jvm; +import java.lang.System; // Import System for nanoTime and printf + +/** + * A Java class to replicate the calculation performed by the Python script. + */ +public class Calculation { + + /** + * Performs the iterative calculation. + * + * @param iterations The number of iterations for the loop. + * @param param1 The first parameter used in the calculation. + * @param param2 The second parameter used in the calculation. + * @return The result of the calculation. + */ + public static double calculate(int iterations, int param1, int param2) { + // Initialize the result as a double + double result = 1.0; + + // Loop from 1 to iterations (inclusive) + for (int i = 1; i <= iterations; i++) { + // Calculate the first value of j + // Use double for j to ensure floating-point arithmetic + double jMinus = (double)i * param1 - param2; + // Subtract 1.0 / jMinus from the result (use 1.0 for double division) + result -= (1.0 / jMinus); + + // Calculate the second value of j + double jPlus = (double)i * param1 + param2; + // Add 1.0 / jPlus to the result + result += (1.0 / jPlus); + } + // Return the final calculated result + return result; + } + + /** + * The main entry point of the program. + * + * @param args Command line arguments (not used). + */ + public static void main(String[] args) { + // Define the parameters for the calculation + final int ITERATIONS = 100_000_000; // Use underscore for readability (Java 7+) + final int PARAM1 = 4; + final int PARAM2 = 1; + + // Record the start time using System.nanoTime() for higher precision + long startTime = System.nanoTime(); + + // Perform the calculation and multiply the result by 4.0 + double finalResult = calculate(ITERATIONS, PARAM1, PARAM2) * 4.0; + + // Record the end time + long endTime = System.nanoTime(); + + // Calculate the duration in nanoseconds + long durationNanos = endTime - startTime; + // Convert the duration to seconds (as a double) + double durationSeconds = durationNanos / 1_000_000_000.0; + + // Print the final result, formatted to 12 decimal places + System.out.printf("Result: %.12f%n", finalResult); + // Print the execution time, formatted to 6 decimal places + System.out.printf("Execution Time: %.6f seconds%n", durationSeconds); + } +} diff --git a/src/main/java/jvm/Calculation2.java b/src/main/java/jvm/Calculation2.java new file mode 100644 index 0000000..845db7e --- /dev/null +++ b/src/main/java/jvm/Calculation2.java @@ -0,0 +1,166 @@ +package jvm; +import java.lang.System; // Import System for nanoTime and printf +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.Callable; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; + +/** + * A Java class to replicate the calculation performed by the Python script, + * optimized using multithreading. + */ +public class Calculation2 { + + /** + * Represents a task that calculates a partial sum for a given range of iterations. + * Implements Callable so it can be executed by an ExecutorService and return a result. + */ + private static class PartialCalculator implements Callable { + private final int startIteration; + private final int endIteration; + private final int param1; + private final int param2; + + /** + * Constructor for the partial calculator task. + * @param startIteration The starting iteration (inclusive). + * @param endIteration The ending iteration (exclusive). + * @param param1 The first parameter for calculation. + * @param param2 The second parameter for calculation. + */ + public PartialCalculator(int startIteration, int endIteration, int param1, int param2) { + this.startIteration = startIteration; + this.endIteration = endIteration; + this.param1 = param1; + this.param2 = param2; + } + + /** + * The computation performed by this task. Calculates the sum for the assigned range. + * @return The partial sum for the range. + */ + @Override + public Double call() { + double partialSum = 0.0; + // Loop through the assigned range of iterations + // Note: loop goes up to < endIteration + for (int i = startIteration; i < endIteration; i++) { + // Calculate the first value of j + double jMinus = (double)i * param1 - param2; + // Subtract 1.0 / jMinus from the partial sum + partialSum -= (1.0 / jMinus); + + // Calculate the second value of j + double jPlus = (double)i * param1 + param2; + // Add 1.0 / jPlus to the partial sum + partialSum += (1.0 / jPlus); + } + return partialSum; + } + } + + /** + * Performs the iterative calculation using multiple threads. + * + * @param iterations The total number of iterations for the loop. + * @param param1 The first parameter used in the calculation. + * @param param2 The second parameter used in the calculation. + * @param numThreads The number of threads to use for the calculation. + * @return The result of the calculation. + * @throws InterruptedException If thread execution is interrupted. + * @throws ExecutionException If computation threw an exception. + */ + public static double calculateParallel(int iterations, int param1, int param2, int numThreads) + throws InterruptedException, ExecutionException { + + // Create a fixed-size thread pool + ExecutorService executor = Executors.newFixedThreadPool(numThreads); + // List to hold the Future objects representing the results of each task + List> futureResults = new ArrayList<>(); + + // Calculate the approximate number of iterations per thread + int iterationsPerThread = iterations / numThreads; + int start = 1; // Start iteration from 1 + + // Divide the work and submit tasks to the executor + for (int i = 0; i < numThreads; i++) { + int end = start + iterationsPerThread; + // For the last thread, ensure it covers all remaining iterations + if (i == numThreads - 1) { + end = iterations + 1; // Go up to iterations (inclusive) + } + // Ensure end doesn't exceed the total iterations + 1 boundary + if (end > iterations + 1) { + end = iterations + 1; + } + + // Create and submit the task for the calculated range + // The loop inside PartialCalculator runs from start (inclusive) to end (exclusive) + Callable task = new PartialCalculator(start, end, param1, param2); + futureResults.add(executor.submit(task)); + + // Set the start for the next chunk + start = end; + } + + // Initialize the total result (starting from the base 1.0) + double totalResult = 1.0; + // Retrieve results from each Future and add to the total result + for (Future future : futureResults) { + // future.get() blocks until the result is available + totalResult += future.get(); + } + + // Shut down the executor service gracefully + executor.shutdown(); + + // Return the final combined result + return totalResult; + } + + /** + * The main entry point of the program. + * + * @param args Command line arguments (not used). + */ + public static void main(String[] args) { + // Define the parameters for the calculation + final int ITERATIONS = 100_000_000; + final int PARAM1 = 4; + final int PARAM2 = 1; + // Determine the number of threads based on available processors + final int NUM_THREADS = Runtime.getRuntime().availableProcessors(); + + System.out.println("Using " + NUM_THREADS + " threads."); + + // Record the start time + long startTime = System.nanoTime(); + + double finalResult = 0; + try { + // Perform the parallel calculation and multiply the result by 4.0 + finalResult = calculateParallel(ITERATIONS, PARAM1, PARAM2, NUM_THREADS) * 4.0; + + // Record the end time + long endTime = System.nanoTime(); + + // Calculate the duration + long durationNanos = endTime - startTime; + double durationSeconds = durationNanos / 1_000_000_000.0; + + // Print the final result and execution time + System.out.printf("Result: %.12f%n", finalResult); + System.out.printf("Execution Time: %.6f seconds%n", durationSeconds); + + } catch (InterruptedException | ExecutionException e) { + // Handle potential exceptions during parallel execution + System.err.println("Calculation failed: " + e.getMessage()); + e.printStackTrace(); + // Ensure System.exit is not used in production code without careful consideration + // System.exit(1); + } + } +} diff --git a/src/main/java/jvm/SpeedTest.java b/src/main/java/jvm/SpeedTest.java new file mode 100644 index 0000000..7edf248 --- /dev/null +++ b/src/main/java/jvm/SpeedTest.java @@ -0,0 +1,36 @@ +package jvm; + +/** + * it converts from python code + * just check performance differences between python and java + */ +public class SpeedTest { + + public double calculate(int iter, int param1, int param2) { + double result = 1.0; + + for (int i = 1; i <= iter; i++) { + double jMinus = (double)i * param1 - param2; + // Subtract 1.0 / jMinus from the result (use 1.0 for double division) + result -= (1.0 / jMinus); + + // Calculate the second value of j + double jPlus = (double)i * param1 + param2; + // Add 1.0 / jPlus to the result + result += (1.0 / jPlus); + } + + return result; + } + + public static void main(String[] args) { + SpeedTest speedTest = new SpeedTest(); + long start = System.nanoTime(); + double result = speedTest.calculate(100_000_000, 4, 1) * 4.0; + System.out.println(result); + long end = System.nanoTime(); + long durationNanos = end - start; + double durationSeconds = durationNanos / 1_000_000_000.0; + System.out.println( durationSeconds ); + } +} diff --git a/src/main/java/jvm/TryCatchDemo.java b/src/main/java/jvm/TryCatchDemo.java new file mode 100644 index 0000000..bfa2282 --- /dev/null +++ b/src/main/java/jvm/TryCatchDemo.java @@ -0,0 +1,27 @@ +package main.java.jvm; + +/** + * in test method, x will assign to return value, here should be 1 (it will not throw any errors) + * then, the finally block will change x to 3, but the return value will not change + * How finally work is attach the code block in it to try block and catch block + */ +public class TryCatchDemo { + + public int test() { + int x=0; + try { + x=1; + return x; + } catch (Exception e) { + x=2; + return x; + } finally { + x=3; + } + } + + public static void main(String[] args) { + TryCatchDemo tryCatchDemo = new TryCatchDemo(); + System.out.println(tryCatchDemo.test()); + } +} diff --git a/target/classes/META-INF/java-learning.kotlin_module b/target/classes/META-INF/java-learning.kotlin_module new file mode 100644 index 0000000..9dbc290 Binary files /dev/null and b/target/classes/META-INF/java-learning.kotlin_module differ diff --git a/target/classes/META-INF/java_test.kotlin_module b/target/classes/META-INF/java_test.kotlin_module new file mode 100644 index 0000000..9dbc290 Binary files /dev/null and b/target/classes/META-INF/java_test.kotlin_module differ diff --git a/target/classes/feature/ReduceTest.class b/target/classes/feature/ReduceTest.class new file mode 100644 index 0000000..8e6ee21 Binary files /dev/null and b/target/classes/feature/ReduceTest.class differ diff --git a/target/classes/io/FileChunkInitReq.class b/target/classes/io/FileChunkInitReq.class new file mode 100644 index 0000000..ed4d9f4 Binary files /dev/null and b/target/classes/io/FileChunkInitReq.class differ diff --git a/target/classes/io/ReadAndUpload$1.class b/target/classes/io/ReadAndUpload$1.class new file mode 100644 index 0000000..b267085 Binary files /dev/null and b/target/classes/io/ReadAndUpload$1.class differ diff --git a/target/classes/io/ReadAndUpload.class b/target/classes/io/ReadAndUpload.class new file mode 100644 index 0000000..41e2aa2 Binary files /dev/null and b/target/classes/io/ReadAndUpload.class differ diff --git a/target/classes/jvm/ConstantPoolDemo.class b/target/classes/jvm/ConstantPoolDemo.class new file mode 100644 index 0000000..7348f59 Binary files /dev/null and b/target/classes/jvm/ConstantPoolDemo.class differ diff --git a/target/classes/jvm/ShowObjectHeader.class b/target/classes/jvm/ShowObjectHeader.class new file mode 100644 index 0000000..7073885 Binary files /dev/null and b/target/classes/jvm/ShowObjectHeader.class differ diff --git a/target/classes/jvm/VarHandleDemo.class b/target/classes/jvm/VarHandleDemo.class new file mode 100644 index 0000000..4051ad3 Binary files /dev/null and b/target/classes/jvm/VarHandleDemo.class differ diff --git a/target/classes/jvm/classfile/TestClass.class b/target/classes/jvm/classfile/TestClass.class new file mode 100644 index 0000000..817cb8e Binary files /dev/null and b/target/classes/jvm/classfile/TestClass.class differ diff --git a/target/classes/jvm/classfile/TestClassK.class b/target/classes/jvm/classfile/TestClassK.class new file mode 100644 index 0000000..5d2e6f7 Binary files /dev/null and b/target/classes/jvm/classfile/TestClassK.class differ diff --git a/target/classes/jvm/createthread/CreateByAnonymousClass$1.class b/target/classes/jvm/createthread/CreateByAnonymousClass$1.class new file mode 100644 index 0000000..55cd662 Binary files /dev/null and b/target/classes/jvm/createthread/CreateByAnonymousClass$1.class differ diff --git a/target/classes/jvm/createthread/CreateByAnonymousClass.class b/target/classes/jvm/createthread/CreateByAnonymousClass.class new file mode 100644 index 0000000..01733cc Binary files /dev/null and b/target/classes/jvm/createthread/CreateByAnonymousClass.class differ diff --git a/target/classes/jvm/createthread/CreateByCallable.class b/target/classes/jvm/createthread/CreateByCallable.class new file mode 100644 index 0000000..0c01adf Binary files /dev/null and b/target/classes/jvm/createthread/CreateByCallable.class differ diff --git a/target/classes/jvm/createthread/CreateByCompletableFuture.class b/target/classes/jvm/createthread/CreateByCompletableFuture.class new file mode 100644 index 0000000..ea4cc07 Binary files /dev/null and b/target/classes/jvm/createthread/CreateByCompletableFuture.class differ diff --git a/target/classes/jvm/createthread/CreateByExecutorService.class b/target/classes/jvm/createthread/CreateByExecutorService.class new file mode 100644 index 0000000..066902a Binary files /dev/null and b/target/classes/jvm/createthread/CreateByExecutorService.class differ diff --git a/target/classes/jvm/createthread/CreateByForkJoin.class b/target/classes/jvm/createthread/CreateByForkJoin.class new file mode 100644 index 0000000..8921ef9 Binary files /dev/null and b/target/classes/jvm/createthread/CreateByForkJoin.class differ diff --git a/target/classes/jvm/createthread/CreateByFutureTask.class b/target/classes/jvm/createthread/CreateByFutureTask.class new file mode 100644 index 0000000..ab635b8 Binary files /dev/null and b/target/classes/jvm/createthread/CreateByFutureTask.class differ diff --git a/target/classes/jvm/createthread/CreateByRunnable.class b/target/classes/jvm/createthread/CreateByRunnable.class new file mode 100644 index 0000000..2832b54 Binary files /dev/null and b/target/classes/jvm/createthread/CreateByRunnable.class differ diff --git a/target/classes/jvm/createthread/CreateByThread.class b/target/classes/jvm/createthread/CreateByThread.class new file mode 100644 index 0000000..9d43180 Binary files /dev/null and b/target/classes/jvm/createthread/CreateByThread.class differ diff --git a/target/classes/jvm/createthread/CreateByThreadGroup.class b/target/classes/jvm/createthread/CreateByThreadGroup.class new file mode 100644 index 0000000..c606fa3 Binary files /dev/null and b/target/classes/jvm/createthread/CreateByThreadGroup.class differ diff --git a/target/classes/jvm/createthread/CreateByTimer$1.class b/target/classes/jvm/createthread/CreateByTimer$1.class new file mode 100644 index 0000000..011b571 Binary files /dev/null and b/target/classes/jvm/createthread/CreateByTimer$1.class differ diff --git a/target/classes/jvm/createthread/CreateByTimer.class b/target/classes/jvm/createthread/CreateByTimer.class new file mode 100644 index 0000000..fc94a53 Binary files /dev/null and b/target/classes/jvm/createthread/CreateByTimer.class differ diff --git a/target/classes/jvm/debugtool/DeadLockDemo$SyncAddRunnable.class b/target/classes/jvm/debugtool/DeadLockDemo$SyncAddRunnable.class new file mode 100644 index 0000000..2c35fef Binary files /dev/null and b/target/classes/jvm/debugtool/DeadLockDemo$SyncAddRunnable.class differ diff --git a/target/classes/jvm/debugtool/DeadLockDemo.class b/target/classes/jvm/debugtool/DeadLockDemo.class new file mode 100644 index 0000000..ee0f95d Binary files /dev/null and b/target/classes/jvm/debugtool/DeadLockDemo.class differ diff --git a/target/classes/jvm/debugtool/JHSDBTestCase$ObjectHolder.class b/target/classes/jvm/debugtool/JHSDBTestCase$ObjectHolder.class new file mode 100644 index 0000000..f608374 Binary files /dev/null and b/target/classes/jvm/debugtool/JHSDBTestCase$ObjectHolder.class differ diff --git a/target/classes/jvm/debugtool/JHSDBTestCase$Test.class b/target/classes/jvm/debugtool/JHSDBTestCase$Test.class new file mode 100644 index 0000000..1e8c3bc Binary files /dev/null and b/target/classes/jvm/debugtool/JHSDBTestCase$Test.class differ diff --git a/target/classes/jvm/debugtool/JHSDBTestCase.class b/target/classes/jvm/debugtool/JHSDBTestCase.class new file mode 100644 index 0000000..312ce4e Binary files /dev/null and b/target/classes/jvm/debugtool/JHSDBTestCase.class differ diff --git a/target/classes/jvm/gc/MemoryAllocationYoung.class b/target/classes/jvm/gc/MemoryAllocationYoung.class new file mode 100644 index 0000000..aed33aa Binary files /dev/null and b/target/classes/jvm/gc/MemoryAllocationYoung.class differ diff --git a/target/classes/jvm/gc/PrintMemoryAddress.class b/target/classes/jvm/gc/PrintMemoryAddress.class new file mode 100644 index 0000000..e6da8dd Binary files /dev/null and b/target/classes/jvm/gc/PrintMemoryAddress.class differ diff --git a/target/classes/jvm/gc/ReferenceCountingGC.class b/target/classes/jvm/gc/ReferenceCountingGC.class new file mode 100644 index 0000000..69fba7a Binary files /dev/null and b/target/classes/jvm/gc/ReferenceCountingGC.class differ diff --git a/target/classes/jvm/gc/TenuringThreshold.class b/target/classes/jvm/gc/TenuringThreshold.class new file mode 100644 index 0000000..1309b10 Binary files /dev/null and b/target/classes/jvm/gc/TenuringThreshold.class differ diff --git a/target/classes/jvm/oom/HeapOOM$OOMObject.class b/target/classes/jvm/oom/HeapOOM$OOMObject.class new file mode 100644 index 0000000..a4c999c Binary files /dev/null and b/target/classes/jvm/oom/HeapOOM$OOMObject.class differ diff --git a/target/classes/jvm/oom/HeapOOM.class b/target/classes/jvm/oom/HeapOOM.class new file mode 100644 index 0000000..287f289 Binary files /dev/null and b/target/classes/jvm/oom/HeapOOM.class differ diff --git a/target/classes/jvm/oom/JavaVMStackSOF.class b/target/classes/jvm/oom/JavaVMStackSOF.class new file mode 100644 index 0000000..e75b7d7 Binary files /dev/null and b/target/classes/jvm/oom/JavaVMStackSOF.class differ diff --git a/target/classes/main/java/Main.class b/target/classes/main/java/Main.class new file mode 100644 index 0000000..e9e2ab8 Binary files /dev/null and b/target/classes/main/java/Main.class differ diff --git a/target/classes/main/java/VarHandlerDemoRunner.class b/target/classes/main/java/VarHandlerDemoRunner.class new file mode 100644 index 0000000..60ec9f2 Binary files /dev/null and b/target/classes/main/java/VarHandlerDemoRunner.class differ diff --git a/target/classes/main/java/jvm/ObjectCreate.class b/target/classes/main/java/jvm/ObjectCreate.class new file mode 100644 index 0000000..9cc5e04 Binary files /dev/null and b/target/classes/main/java/jvm/ObjectCreate.class differ diff --git a/target/classes/main/java/recursive/TreeNode.class b/target/classes/main/java/recursive/TreeNode.class new file mode 100644 index 0000000..e8af0ba Binary files /dev/null and b/target/classes/main/java/recursive/TreeNode.class differ diff --git a/target/classes/main/java/recursive/TreeStructure.class b/target/classes/main/java/recursive/TreeStructure.class new file mode 100644 index 0000000..61f2864 Binary files /dev/null and b/target/classes/main/java/recursive/TreeStructure.class differ diff --git a/target/classes/threaddemo/DeadLockFixDemo.class b/target/classes/threaddemo/DeadLockFixDemo.class new file mode 100644 index 0000000..9504e77 Binary files /dev/null and b/target/classes/threaddemo/DeadLockFixDemo.class differ diff --git a/target/classes/threaddemo/DeadlockDemo.class b/target/classes/threaddemo/DeadlockDemo.class new file mode 100644 index 0000000..44d1601 Binary files /dev/null and b/target/classes/threaddemo/DeadlockDemo.class differ diff --git a/target/classes/threaddemo/InterruptTest.class b/target/classes/threaddemo/InterruptTest.class new file mode 100644 index 0000000..048866b Binary files /dev/null and b/target/classes/threaddemo/InterruptTest.class differ diff --git a/target/classes/threaddemo/MultiThreadDemo.class b/target/classes/threaddemo/MultiThreadDemo.class new file mode 100644 index 0000000..9e14169 Binary files /dev/null and b/target/classes/threaddemo/MultiThreadDemo.class differ diff --git a/target/classes/threaddemo/ProcessDemo.class b/target/classes/threaddemo/ProcessDemo.class new file mode 100644 index 0000000..d0d84c0 Binary files /dev/null and b/target/classes/threaddemo/ProcessDemo.class differ diff --git a/target/classes/threaddemo/SafeVolatileDemo.class b/target/classes/threaddemo/SafeVolatileDemo.class new file mode 100644 index 0000000..dda9f53 Binary files /dev/null and b/target/classes/threaddemo/SafeVolatileDemo.class differ diff --git a/target/classes/threaddemo/ThreadLocalDemo.class b/target/classes/threaddemo/ThreadLocalDemo.class new file mode 100644 index 0000000..3e4352f Binary files /dev/null and b/target/classes/threaddemo/ThreadLocalDemo.class differ diff --git a/target/classes/threaddemo/ThreadShareVariable.class b/target/classes/threaddemo/ThreadShareVariable.class new file mode 100644 index 0000000..7cce067 Binary files /dev/null and b/target/classes/threaddemo/ThreadShareVariable.class differ diff --git a/target/classes/threaddemo/ThreadStateWithJoin.class b/target/classes/threaddemo/ThreadStateWithJoin.class new file mode 100644 index 0000000..be4291e Binary files /dev/null and b/target/classes/threaddemo/ThreadStateWithJoin.class differ diff --git a/target/classes/threaddemo/ThreadStateWithLockSupport.class b/target/classes/threaddemo/ThreadStateWithLockSupport.class new file mode 100644 index 0000000..5da2b98 Binary files /dev/null and b/target/classes/threaddemo/ThreadStateWithLockSupport.class differ diff --git a/target/classes/threaddemo/ThreadStateWithSync.class b/target/classes/threaddemo/ThreadStateWithSync.class new file mode 100644 index 0000000..9b0517d Binary files /dev/null and b/target/classes/threaddemo/ThreadStateWithSync.class differ diff --git a/target/classes/threaddemo/ThreadStateWithWait.class b/target/classes/threaddemo/ThreadStateWithWait.class new file mode 100644 index 0000000..705ddf7 Binary files /dev/null and b/target/classes/threaddemo/ThreadStateWithWait.class differ diff --git a/target/classes/threaddemo/VolatileAtomicDemo.class b/target/classes/threaddemo/VolatileAtomicDemo.class new file mode 100644 index 0000000..17d8059 Binary files /dev/null and b/target/classes/threaddemo/VolatileAtomicDemo.class differ diff --git a/target/classes/threaddemo/WeakReferenceExample.class b/target/classes/threaddemo/WeakReferenceExample.class new file mode 100644 index 0000000..465482d Binary files /dev/null and b/target/classes/threaddemo/WeakReferenceExample.class differ diff --git a/target/classes/threaddemo/dataracing/CASByAtomicInteger.class b/target/classes/threaddemo/dataracing/CASByAtomicInteger.class new file mode 100644 index 0000000..b277076 Binary files /dev/null and b/target/classes/threaddemo/dataracing/CASByAtomicInteger.class differ diff --git a/target/classes/threaddemo/dataracing/SyncDemo.class b/target/classes/threaddemo/dataracing/SyncDemo.class new file mode 100644 index 0000000..ac65745 Binary files /dev/null and b/target/classes/threaddemo/dataracing/SyncDemo.class differ diff --git a/target/classes/threaddemo/lock/CLH$Node.class b/target/classes/threaddemo/lock/CLH$Node.class new file mode 100644 index 0000000..81788d5 Binary files /dev/null and b/target/classes/threaddemo/lock/CLH$Node.class differ diff --git a/target/classes/threaddemo/lock/CLH.class b/target/classes/threaddemo/lock/CLH.class new file mode 100644 index 0000000..388c1df Binary files /dev/null and b/target/classes/threaddemo/lock/CLH.class differ diff --git a/target/classes/threaddemo/lock/CLHDemo.class b/target/classes/threaddemo/lock/CLHDemo.class new file mode 100644 index 0000000..4cd0173 Binary files /dev/null and b/target/classes/threaddemo/lock/CLHDemo.class differ diff --git a/target/java-learning-1.0-SNAPSHOT.jar b/target/java-learning-1.0-SNAPSHOT.jar new file mode 100644 index 0000000..e65c5a4 Binary files /dev/null and b/target/java-learning-1.0-SNAPSHOT.jar differ diff --git a/target/maven-archiver/pom.properties b/target/maven-archiver/pom.properties new file mode 100644 index 0000000..2b06df8 --- /dev/null +++ b/target/maven-archiver/pom.properties @@ -0,0 +1,3 @@ +artifactId=java-learning +groupId=com.kuaslab +version=1.0-SNAPSHOT diff --git a/target/maven-status/maven-compiler-plugin/compile/compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/compile/createdFiles.lst new file mode 100644 index 0000000..676feb2 --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/compile/compile/createdFiles.lst @@ -0,0 +1,54 @@ +jvm/createthread/CreateByExecutorService.class +threaddemo/WeakReferenceExample.class +feature/ReduceTest.class +jvm/createthread/CreateByThreadGroup.class +jvm/ConstantPoolDemo.class +jvm/debugtool/JHSDBTestCase$Test.class +threaddemo/DeadLockFixDemo.class +threaddemo/lock/CLH.class +threaddemo/MultiThreadDemo.class +jvm/debugtool/DeadLockDemo$SyncAddRunnable.class +threaddemo/ProcessDemo.class +threaddemo/VolatileAtomicDemo.class +jvm/createthread/CreateByTimer$1.class +jvm/createthread/CreateByAnonymousClass.class +threaddemo/ThreadStateWithWait.class +jvm/gc/PrintMemoryAddress.class +jvm/classfile/TestClass.class +jvm/createthread/CreateByForkJoin.class +jvm/ShowObjectHeader.class +threaddemo/ThreadStateWithJoin.class +threaddemo/SafeVolatileDemo.class +threaddemo/ThreadShareVariable.class +threaddemo/ThreadStateWithSync.class +jvm/oom/HeapOOM.class +threaddemo/ThreadStateWithLockSupport.class +jvm/oom/JavaVMStackSOF.class +threaddemo/DeadlockDemo.class +jvm/oom/HeapOOM$OOMObject.class +threaddemo/InterruptTest.class +io/ReadAndUpload$1.class +main/java/recursive/TreeStructure.class +jvm/gc/MemoryAllocationYoung.class +jvm/createthread/CreateByTimer.class +jvm/createthread/CreateByThread.class +io/FileChunkInitReq.class +threaddemo/lock/CLHDemo.class +main/java/recursive/TreeNode.class +jvm/gc/TenuringThreshold.class +threaddemo/dataracing/CASByAtomicInteger.class +jvm/gc/ReferenceCountingGC.class +jvm/createthread/CreateByRunnable.class +jvm/createthread/CreateByCompletableFuture.class +io/ReadAndUpload.class +jvm/debugtool/JHSDBTestCase.class +jvm/debugtool/DeadLockDemo.class +threaddemo/lock/CLH$Node.class +jvm/debugtool/JHSDBTestCase$ObjectHolder.class +jvm/VarHandleDemo.class +main/java/jvm/ObjectCreate.class +jvm/createthread/CreateByFutureTask.class +threaddemo/ThreadLocalDemo.class +jvm/createthread/CreateByAnonymousClass$1.class +threaddemo/dataracing/SyncDemo.class +jvm/createthread/CreateByCallable.class diff --git a/target/maven-status/maven-compiler-plugin/compile/compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/compile/inputFiles.lst new file mode 100644 index 0000000..cd90d24 --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/compile/compile/inputFiles.lst @@ -0,0 +1,46 @@ +/home/admin/projects/java_test/src/main/java/jvm/createthread/CreateByTimer.java +/home/admin/projects/java_test/src/main/java/jvm/ConstantPoolDemo.java +/home/admin/projects/java_test/src/main/java/threaddemo/WeakReferenceExample.java +/home/admin/projects/java_test/src/main/java/jvm/createthread/CreateByAnonymousClass.java +/home/admin/projects/java_test/src/main/java/recursive/TreeNode.java +/home/admin/projects/java_test/src/main/java/jvm/ObjectCreate.java +/home/admin/projects/java_test/src/main/java/threaddemo/ThreadShareVariable.java +/home/admin/projects/java_test/src/main/java/threaddemo/dataracing/SyncDemo.java +/home/admin/projects/java_test/src/main/java/threaddemo/ThreadStateWithWait.java +/home/admin/projects/java_test/src/main/java/jvm/gc/TenuringThreshold.java +/home/admin/projects/java_test/src/main/java/threaddemo/SafeVolatileDemo.java +/home/admin/projects/java_test/src/main/java/jvm/createthread/CreateByForkJoin.java +/home/admin/projects/java_test/src/main/java/jvm/gc/PrintMemoryAddress.java +/home/admin/projects/java_test/src/main/java/threaddemo/InterruptTest.java +/home/admin/projects/java_test/src/main/java/threaddemo/lock/CLH.java +/home/admin/projects/java_test/src/main/java/threaddemo/DeadLockFixDemo.java +/home/admin/projects/java_test/src/main/java/threaddemo/MultiThreadDemo.java +/home/admin/projects/java_test/src/main/java/jvm/createthread/CreateByCompletableFuture.java +/home/admin/projects/java_test/src/main/java/jvm/createthread/CreateByRunnable.java +/home/admin/projects/java_test/src/main/java/jvm/debugtool/JHSDBTestCase.java +/home/admin/projects/java_test/src/main/java/jvm/debugtool/DeadLockDemo.java +/home/admin/projects/java_test/src/main/java/io/ReadAndUpload.java +/home/admin/projects/java_test/src/main/java/threaddemo/ProcessDemo.java +/home/admin/projects/java_test/src/main/java/threaddemo/dataracing/CASByAtomicInteger.java +/home/admin/projects/java_test/src/main/java/threaddemo/ThreadStateWithSync.java +/home/admin/projects/java_test/src/main/java/jvm/createthread/CreateByExecutorService.java +/home/admin/projects/java_test/src/main/java/threaddemo/ThreadLocalDemo.java +/home/admin/projects/java_test/src/main/java/feature/ReduceTest.java +/home/admin/projects/java_test/src/main/java/io/FileChunkInitReq.java +/home/admin/projects/java_test/src/main/java/threaddemo/VolatileAtomicDemo.java +/home/admin/projects/java_test/src/main/java/jvm/createthread/CreateByFutureTask.java +/home/admin/projects/java_test/src/main/java/threaddemo/ThreadStateWithLockSupport.java +/home/admin/projects/java_test/src/main/java/threaddemo/lock/CLHDemo.java +/home/admin/projects/java_test/src/main/java/jvm/oom/HeapOOM.java +/home/admin/projects/java_test/src/main/java/jvm/createthread/CreateByThreadGroup.java +/home/admin/projects/java_test/src/main/java/threaddemo/ThreadStateWithJoin.java +/home/admin/projects/java_test/src/main/java/jvm/gc/ReferenceCountingGC.java +/home/admin/projects/java_test/src/main/java/recursive/TreeStructure.java +/home/admin/projects/java_test/src/main/java/jvm/VarHandleDemo.java +/home/admin/projects/java_test/src/main/java/jvm/createthread/CreateByThread.java +/home/admin/projects/java_test/src/main/java/jvm/oom/JavaVMStackSOF.java +/home/admin/projects/java_test/src/main/java/jvm/createthread/CreateByCallable.java +/home/admin/projects/java_test/src/main/java/jvm/gc/MemoryAllocationYoung.java +/home/admin/projects/java_test/src/main/java/threaddemo/DeadlockDemo.java +/home/admin/projects/java_test/src/main/java/jvm/classfile/TestClass.java +/home/admin/projects/java_test/src/main/java/jvm/ShowObjectHeader.java