Опции VM Netbeans, применяемые для всех классов - PullRequest
1 голос
/ 15 апреля 2020

ребята, это, наверное, глупый вопрос, но я сам не справлюсь. Итак, я пытаюсь применить аргументы VM в Netbeans 10 для класса (это из учебника, который я читаю):

public class GCDemo {
    // 8.4MB approx. (2M entries * 4b)
    static final int[] iArray = new int[21024]; 
    public static void main(String[] a) { 
    }
}

Здесь показаны аргументы VM: VM arguments

Когда я запускаю этот класс, все работает хорошо. Вот вывод:

Heap
def new generation   total 4288K, used 632K [0x00000000ff200000, 
0x00000000ff6a0000, 0x00000000ff6a0000)
eden space 3840K,  16% used [0x00000000ff200000, 0x00000000ff29e3b0, 
0x00000000ff5c0000)
from space 448K,   0% used [0x00000000ff5c0000, 0x00000000ff5c0000, 
0x00000000ff630000)
to   space 448K,   0% used [0x00000000ff630000, 0x00000000ff630000, 
0x00000000ff6a0000)
tenured generation   total 9600K, used 8192K [0x00000000ff6a0000, 
0x0000000100000000, 0x0000000100000000)
the space 9600K,  85% used [0x00000000ff6a0000, 0x00000000ffea0010, 
0x00000000ffea0200, 0x0000000100000000)
Metaspace       used 2537K, capacity 4486K, committed 4864K, 
reserved 1056768K
class space    used 274K, capacity 386K, committed 512K, reserved 
1048576K
BUILD SUCCESSFUL (total time: 0 seconds)

Однако для другого класса, называемого Test в том же пакете:

public class Test {
    public static void main(String[] args) {
        System.out.println("TEST");
    }
}

Вывод показывает TEST в командной строке но также показывает конфигурацию запуска вышеупомянутого класса GCDemo

Вот выходные данные класса Test:

TEST
Heap
def new generation   total 4288K, used 632K [0x00000000ff200000, 
0x00000000ff6a0000, 0x00000000ff6a0000)
eden space 3840K,  16% used [0x00000000ff200000, 0x00000000ff29e3b0, 
0x00000000ff5c0000)
from space 448K,   0% used [0x00000000ff5c0000, 0x00000000ff5c0000, 
0x00000000ff630000)
to   space 448K,   0% used [0x00000000ff630000, 0x00000000ff630000, 
0x00000000ff6a0000)
tenured generation   total 9600K, used 0K [0x00000000ff6a0000, 
0x0000000100000000, 0x0000000100000000)
the space 9600K,   0% used [0x00000000ff6a0000, 0x00000000ff6a0000, 
0x00000000ff6a0200, 0x0000000100000000)
Metaspace       used 2538K, capacity 4486K, committed 4864K, 
reserved 1056768K
class space    used 274K, capacity 386K, committed 512K, reserved 
1048576K

Что я делаю неправильно? Как указать конфигурацию запуска только для класса *1024* GCDemo ?

1 Ответ

2 голосов
/ 15 апреля 2020

Предполагается, что вы хотите изменить аргументы JVM для проекта на основе Ant для каждого класса, у которого есть метод main. Вы, вероятно, можете использовать запускать конфигурации с некоторыми ограничениями. Но имейте в виду:

  • Вы можете установить текущую активную конфигурацию прогона для всего проекта с помощью select project in project tree -> rigth-click -> set configuration - chose your configuration из меню.
  • Каждый прогон (F6) вашего проекта будет использовать Аргументы JVM, установленные вами в выбранной конфигурации. Также он будет использовать класс Main для запуска вашего кода, который вы установили в конфигурации.
  • Если вы запускаете только один класс с основным методом (выберите файл, затем Shift + F6), NetBeans будет использовать JVM Аргументы, которые вы задали для текущей активной конфигурации, но он заменяет текущий класс выбранным классом.

Создайте две конфигурации запуска GCDemo и TestConfig. Для TestConifg оставьте параметры VM пустыми:

enter image description here enter image description here

Затем вы можете выбирать между различными конфигурациями запуска: enter image description here

...