Исходник Custom JVM

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
18 Сен 2024
Сообщения
38
Реакции
0
вот сурс моей jvm

jvm:
Expand Collapse Copy
import java.util.HashMap;
import java.util.Map;
import java.util.Stack;

public class SimpleJVM {
    private Stack<Integer> stack;
    private Map<String, ClassObject> classLoader;

    public SimpleJVM() {
        this.stack = new Stack<>();
        this.classLoader = new HashMap<>();
    }

    public ClassObject loadClass(String className) {
        if (classLoader.containsKey(className)) {
            return classLoader.get(className);
        }

        ClassObject classObj = new ClassObject(className);
        classObj.addMethod("main", new int[]{0x10, 0x01, 0x00}); 
        classLoader.put(className, classObj);
        return classObj;
    }

    public void execute(String className) {
        ClassObject classObj = loadClass(className);
        int[] mainMethod = classObj.getMethod("main");

        for (int instruction : mainMethod) {
            switch (instruction) {
                case 0x10: 
                    stack.push(42);
                    break;
                case 0x01: 
                    System.out.println(stack.pop()); 
                    break;
                case 0x00:
                    return;
                default:
                    throw new RuntimeException("Unknown instruction: " + instruction);
            }
        }
    }

    public static void main(String[] args) {
        SimpleJVM jvm = new SimpleJVM();
        jvm.execute("MyClass");
    }
}

class ClassObject {
    private String name;
    private Map<String, int[]> methods;

    public ClassObject(String name) {
        this.name = name;
        this.methods = new HashMap<>();
    }

    public void addMethod(String methodName, int[] bytecode) {
        methods.put(methodName, bytecode);
    }

    public int[] getMethod(String methodName) {
        return methods.get(methodName);
    }
}

че там по твоему старью, вайт1337)))
 
вот сурс моей jvm

jvm:
Expand Collapse Copy
import java.util.HashMap;
import java.util.Map;
import java.util.Stack;

public class SimpleJVM {
    private Stack<Integer> stack;
    private Map<String, ClassObject> classLoader;

    public SimpleJVM() {
        this.stack = new Stack<>();
        this.classLoader = new HashMap<>();
    }

    public ClassObject loadClass(String className) {
        if (classLoader.containsKey(className)) {
            return classLoader.get(className);
        }

        ClassObject classObj = new ClassObject(className);
        classObj.addMethod("main", new int[]{0x10, 0x01, 0x00});
        classLoader.put(className, classObj);
        return classObj;
    }

    public void execute(String className) {
        ClassObject classObj = loadClass(className);
        int[] mainMethod = classObj.getMethod("main");

        for (int instruction : mainMethod) {
            switch (instruction) {
                case 0x10:
                    stack.push(42);
                    break;
                case 0x01:
                    System.out.println(stack.pop());
                    break;
                case 0x00:
                    return;
                default:
                    throw new RuntimeException("Unknown instruction: " + instruction);
            }
        }
    }

    public static void main(String[] args) {
        SimpleJVM jvm = new SimpleJVM();
        jvm.execute("MyClass");
    }
}

class ClassObject {
    private String name;
    private Map<String, int[]> methods;

    public ClassObject(String name) {
        this.name = name;
        this.methods = new HashMap<>();
    }

    public void addMethod(String methodName, int[] bytecode) {
        methods.put(methodName, bytecode);
    }

    public int[] getMethod(String methodName) {
        return methods.get(methodName);
    }
}

че там по твоему старью, вайт1337)))
а где же 0x15?
 
вот сурс моей jvm

jvm:
Expand Collapse Copy
import java.util.HashMap;
import java.util.Map;
import java.util.Stack;

public class SimpleJVM {
    private Stack<Integer> stack;
    private Map<String, ClassObject> classLoader;

    public SimpleJVM() {
        this.stack = new Stack<>();
        this.classLoader = new HashMap<>();
    }

    public ClassObject loadClass(String className) {
        if (classLoader.containsKey(className)) {
            return classLoader.get(className);
        }

        ClassObject classObj = new ClassObject(className);
        classObj.addMethod("main", new int[]{0x10, 0x01, 0x00});
        classLoader.put(className, classObj);
        return classObj;
    }

    public void execute(String className) {
        ClassObject classObj = loadClass(className);
        int[] mainMethod = classObj.getMethod("main");

        for (int instruction : mainMethod) {
            switch (instruction) {
                case 0x10:
                    stack.push(42);
                    break;
                case 0x01:
                    System.out.println(stack.pop());
                    break;
                case 0x00:
                    return;
                default:
                    throw new RuntimeException("Unknown instruction: " + instruction);
            }
        }
    }

    public static void main(String[] args) {
        SimpleJVM jvm = new SimpleJVM();
        jvm.execute("MyClass");
    }
}

class ClassObject {
    private String name;
    private Map<String, int[]> methods;

    public ClassObject(String name) {
        this.name = name;
        this.methods = new HashMap<>();
    }

    public void addMethod(String methodName, int[] bytecode) {
        methods.put(methodName, bytecode);
    }

    public int[] getMethod(String methodName) {
        return methods.get(methodName);
    }
}

че там по твоему старью, вайт1337)))
АХАХХАХА кастом джм блят ь
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
АХАХХАХА кастом джм блят ь
1735768781252.png
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
вот сурс моей jvm

jvm:
Expand Collapse Copy
import java.util.HashMap;
import java.util.Map;
import java.util.Stack;

public class SimpleJVM {
    private Stack<Integer> stack;
    private Map<String, ClassObject> classLoader;

    public SimpleJVM() {
        this.stack = new Stack<>();
        this.classLoader = new HashMap<>();
    }

    public ClassObject loadClass(String className) {
        if (classLoader.containsKey(className)) {
            return classLoader.get(className);
        }

        ClassObject classObj = new ClassObject(className);
        classObj.addMethod("main", new int[]{0x10, 0x01, 0x00});
        classLoader.put(className, classObj);
        return classObj;
    }

    public void execute(String className) {
        ClassObject classObj = loadClass(className);
        int[] mainMethod = classObj.getMethod("main");

        for (int instruction : mainMethod) {
            switch (instruction) {
                case 0x10:
                    stack.push(42);
                    break;
                case 0x01:
                    System.out.println(stack.pop());
                    break;
                case 0x00:
                    return;
                default:
                    throw new RuntimeException("Unknown instruction: " + instruction);
            }
        }
    }

    public static void main(String[] args) {
        SimpleJVM jvm = new SimpleJVM();
        jvm.execute("MyClass");
    }
}

class ClassObject {
    private String name;
    private Map<String, int[]> methods;

    public ClassObject(String name) {
        this.name = name;
        this.methods = new HashMap<>();
    }

    public void addMethod(String methodName, int[] bytecode) {
        methods.put(methodName, bytecode);
    }

    public int[] getMethod(String methodName) {
        return methods.get(methodName);
    }
}

че там по твоему старью, вайт1337)))
в чем его смысл?
 
вот сурс моей jvm

jvm:
Expand Collapse Copy
import java.util.HashMap;
import java.util.Map;
import java.util.Stack;

public class SimpleJVM {
    private Stack<Integer> stack;
    private Map<String, ClassObject> classLoader;

    public SimpleJVM() {
        this.stack = new Stack<>();
        this.classLoader = new HashMap<>();
    }

    public ClassObject loadClass(String className) {
        if (classLoader.containsKey(className)) {
            return classLoader.get(className);
        }

        ClassObject classObj = new ClassObject(className);
        classObj.addMethod("main", new int[]{0x10, 0x01, 0x00});
        classLoader.put(className, classObj);
        return classObj;
    }

    public void execute(String className) {
        ClassObject classObj = loadClass(className);
        int[] mainMethod = classObj.getMethod("main");

        for (int instruction : mainMethod) {
            switch (instruction) {
                case 0x10:
                    stack.push(42);
                    break;
                case 0x01:
                    System.out.println(stack.pop());
                    break;
                case 0x00:
                    return;
                default:
                    throw new RuntimeException("Unknown instruction: " + instruction);
            }
        }
    }

    public static void main(String[] args) {
        SimpleJVM jvm = new SimpleJVM();
        jvm.execute("MyClass");
    }
}

class ClassObject {
    private String name;
    private Map<String, int[]> methods;

    public ClassObject(String name) {
        this.name = name;
        this.methods = new HashMap<>();
    }

    public void addMethod(String methodName, int[] bytecode) {
        methods.put(methodName, bytecode);
    }

    public int[] getMethod(String methodName) {
        return methods.get(methodName);
    }
}

че там по твоему старью, вайт1337)))
кустам жвм на джуве
 
Назад
Сверху Снизу