Из трех я использовал (Mac OS X, Linux, Windows), я считаю Linux лучшим местом, чтобы сделать разработку Java.
Моей основной персональной машиной является Mac, и я сделал довольно большую разработку Java там и был доволен ею. К сожалению, однако, Apple отстает от официальных выпусков JDK, и Вы в значительной степени ограничены несколькими версиями, которые они принимают решение обеспечить.
Моя обеспеченная работодателями машина является старым ящиком P4 от HP, который я использую главным образом, чтобы прочно держаться на ногах теплый. Реальная работа происходит "Oberon" на четырехъядерном выполнении на 2,6 ГГц Ubuntu 8.04 в 32-разрядном режиме [1]. Два преимущества, которые я замечаю ежедневный по сравнению с Windows:
можно получить те преимущества от Mac также, но Linux предлагает другую хорошую премию:
[1] я раньше выполнял Ubuntu в 64-разрядном режиме, но у меня не было конца проблемы. (Смешивание 64-разрядного и 32-разрядного является чем-то, что Mac OS X делает очень лучше.) 7.04 хорошо работал, запуская 32-разрядные приложения на 64-разрядном ядре. 7.10 повредился linux32
сценарий и способность установить новые 32-разрядные приложения хотя старые, продолженные, чтобы (главным образом) работать. 8.04 уничтожил 32-разрядный Java, лишив возможности соединяться с сетью от 32-разрядной JVM (больше обновлений для Eclipse). Рабочий 64-разрядный Eclipse не работал надежно. Тогдашняя текущая версия кислорода только выполнила бы (неохотно) под IBM 64-разрядный VM, который будет работать в течение приблизительно 10 минут, пока это не прекратило получать события клавиатуры. Я наконец сдался в разочаровании и использовал свой Mac в течение нескольких месяцев, пока у меня не было достаточного количества времени простоя, чтобы сделать 32-разрядную установку 8,04 на поле Linux. Теперь все работает снова, и я довольно счастлив.
Я использую CDO (Connected Data Objects) вместе с EMF, чтобы сделать нечто подобное. Если вы воспользуетесь примерами из вики Eclipse, это не займет много времени, чтобы запустить его. Несколько предостережений:
Для данных, которые часто меняются, вы, вероятно, захотите использовать режим без проверки подлинности. В противном случае вы будете сохранять новую версию вашего EObject с каждой фиксацией, сохраняя также старые.
Вы можете выбрать фиксацию каждый раз, когда ваши данные изменяются, или вы можете выбрать фиксацию с меньшими интервалами, в зависимости от как часто вам нужно публиковать свои обновления.
У вас также есть довольно гибкие параметры блокировки, если вы решите это сделать.
Мое приложение использует Derby для сохранения, хотя в ближайшее время оно будет перенесено на SQL Server.
Там'
Я бы пошел с Teneo для выполнения тяжелой работы, если производительность не является реальной проблемой (чего не будет, если ваши модели не большие). Даже если он медленный, вы можете настроить его с помощью аннотаций JPA.