Вы можете общаться взад и вперед, используя сокеты. Вот учебник, как сделать что-то подобное. .
К сожалению, я не думаю, что это поможет вам минимизировать использование ЦП, ОЗУ и т. Д. Во всяком случае это может увеличить использование ЦП, ОЗУ и т. Д., Потому что вам нужно запустить две JVM вместо одной. Если у вас нет невероятно сложного окна настроек, маловероятно, что вам понадобится столько ресурсов, чтобы беспокоиться об этом. Добавляя сетевое взаимодействие, вы просто увеличиваете сложность, не добавляя никаких преимуществ.
Edit:
Если вы читали книгу «Грязные богатые клиенты», то одним из главных пунктов этой книги является то, что богатые эффекты не должны быть ресурсоемкими. Большая часть книги посвящена тому, как добавить интересные эффекты в приложение, не затрачивая много ресурсов. На протяжении всей книги они очень тщательно подбирают время, чтобы показать, что занимает много времени, а что нет. Это очень важно, когда ваше приложение менее требовательно к ресурсам. Напишите свое приложение, посмотрите, что ощущается медленно, добавьте временный код к тем медленным элементам и ускорите эти конкретные части кода. Проверьте с вашим временным кодом, чтобы увидеть, если это на самом деле быстрее. Промыть и повторить. В противном случае вы делаете оптимизацию, которая может не иметь никакого значения. Без учета времени вашего кода вы не знаете, нужно ли ускорять код, даже если вы ускорили код после выполнения оптимизации.
Другие упоминали о загрузке окна свойств в отдельном потоке. Важно помнить, что в Swing есть только один поток, называемый EDT , который выполняет всю картину пикселей на экране. Любой код, который вызывает изменение пикселей на экране, должен вызываться из EDT и, следовательно, не должен вызываться из отдельного потока. Итак, если у вас есть что-то, что может занять некоторое время (например, вызов веб-службы или некоторые дорогостоящие вычисления), вы запустите отдельный поток вне EDT, и когда он завершит выполнение кода в EDT, чтобы выполнить обновление UI , Есть библиотеки, такие как SwingWorker , чтобы сделать это проще. Если вы устанавливаете диалоговое окно, чтобы оно было видимым, это не должно быть в отдельном потоке, но может иметь смысл построить структуры данных в отдельном потоке, если создание этих структур занимает много времени.
Использование Swing Worker - одна из многих ценных идей в Filthy Rich Clients для того, чтобы пользовательский интерфейс чувствовал себя более отзывчивым. Используя идеи из этой книги, я взял довольно ресурсоемкие пользовательские интерфейсы и сделал их такими, чтобы пользовательский интерфейс почти не использовал никаких ресурсов.