Обычно вам не нужно это трогать. Иногда могут возникнуть проблемы с вызовом кода, например, из-за утечки памяти из Python. Ограничение числа задач, выполняемых рабочим процессом до его замены, помогает, поскольку «неиспользованные ресурсы», которые он по ошибке собирает, освобождаются, когда процесс удаляется. Начиная новый, «свежий» процесс, проблема остается сдержанной. Поскольку для замены процесса требуется время, для производительности вы можете использовать maxtasksperchild
по умолчанию. Когда вы однажды столкнетесь с необъяснимыми проблемами с ресурсами, вы можете попробовать установить maxtasksperchild=1
, чтобы увидеть, изменит ли это что-то. Если это произойдет, вероятно, что что-то протекает что-то .
@Kezzer
я думаю, что вижу то, что продолжается. Если Вы помещаете основное () метод в различный класс , то все работает. Таким образом, Вам нужно что-то как:
public class RootGUILauncher {
public static void main(String[] args) {
try {
System.setProperty("apple.laf.useScreenMenuBar", "true");
System.setProperty("com.apple.mrj.application.apple.menu.about.name", "Test");
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}
catch(ClassNotFoundException e) {
System.out.println("ClassNotFoundException: " + e.getMessage());
}
catch(InstantiationException e) {
System.out.println("InstantiationException: " + e.getMessage());
}
catch(IllegalAccessException e) {
System.out.println("IllegalAccessException: " + e.getMessage());
}
catch(UnsupportedLookAndFeelException e) {
System.out.println("UnsupportedLookAndFeelException: " + e.getMessage());
}
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
new RootGUI();
}
});
}
И затем помещенный Ваш класс RootGUI в различный файл.
Необходимо установить "com.apple.mrj.application.apple.menu.about.name" системное свойство в основном потоке, не в потоке Swing (другими словами, просто сделайте его первой строкой в программе).
Поскольку я понимаю, что Вы хотите переименовать свое меню приложения, показанное на OS x строка меню. Ну, я не нашел системное свойство, но я нашел параметр командной строки:
-Xdock:name="YourNameHere"
это работало на меня.
BTW: syystem свойство com.apple.mrj.application.apple.menu.about.name для переименования о пункте меню в Вашем меню приложения, не, сама строка меню
Видит эта ссылка здесь (, старая ссылка была, вероятно, уничтожена когда-то после sun-oracle-aquisition).
Если Вы хотите поставить приложение, которое выглядит собственным на Mac OS X, одна важная часть должна поставить пакет приложения. В комплекте приложений Вы будете в состоянии обеспечить файл списка свойств для решения этого проблемы.
Некоторая официальная информация: Руководство по Разработке Java для Mac OS X
Вы также можете использовать Macify при создании приложения, поэтому вам не нужно менять какой-либо код.