Архив метки: java

Java для торговых приложений? Вполне!

Как вы можете использовать Java для финансовых торговых приложений? Ведь Java тормозная, жрет много памяти, сборщик мусора останавливает приложение, когда захочет. Разве Java годится для low-latency? Для этого непременно нужно писать на C, C++, а еще лучше на Verilog и использовать FPGA, не меньше! Java для high-frequency trading? Да вы шутите!? Java для алгоритмической торговли? Не смешите мои тапки!

Так или примерно так реагируют некоторые разработчики на использование Java в финансовых приложениях, где критичны скорость работы и высоки требования к latency.

Уверяю вас Java вполне подходит для финансовых торговых приложений и вот несколько причин почему.

Читать далее

Реклама

Три книги по оптимизации Java

Рекомендую вам три книги, которые очень помогают разобраться во внутреннем устройстве JVM, рассказывают о факторах, влияющих на производительность приложения и предлагают различные советы по оптимизации работы вашего Java-приложения.

Эти книги особенно полезны для Java-разработчиков финансовых приложений. Ведь в финансовых приложениях как никогда верно высказывание «время — деньги». Если приложение медленно работает или зависает для выполенения какой-то фоновой задачи, например, сборки мусора, перекомиляции кода, когда требуется выставить заявку на рынок или обработать новые цены, важный момент может быть упущен и потери могут быть невосполнимыми.

Читать далее

Java-эксперты, которых надо знать в лицо

Ни один программист не способен знать все о том или ином языке и технологии, даже если прочитает сотню книг по заданной теме. Всегда полезно слушать экспертов, которые идут на шаг вперед, разобрались в чем-то и могут объяснить туманные моменты, развенчать миф или продемонстрировать выдающееся достижение, поделиться реальным опытом.

Читать далее

Top 15 вопросов по многопоточности в Java, которые могут задать на интервью в инвестиционном банке

Весьма толковый блог Java Reivisted разработчика, который работает в той же сфере, что и я. В его посте — краткая выжимка по многопоточности в Java, что может понадобиться освежить память перед интервью в инвестиционном банке.

Во имя высокой скорости обработки данных и снижения latency в брокерских отделениях банков стараются выжать из железа по-максимуму. Многопоточность тут важна и играет существенную роль, особенно в приложениях связанных с торговлей, доступом к биржам, обработкой рыночных данных, в движках алгоритмической торговли, в системах управленяи ордерами, в smart order routing системах. Чем ближе ваше приложение к рынку, тем ниже должна быть latency, тем выше требования к разработчикам, пишущим данные приложения.

Чтение на выходные: 12 факторов приложений готовых для облака

Интересный сайт 12factor.net про лучшие практики программирования приложений и выкатывания их на продакшен с упором на облачные прилодения. 

Сайт сделан в виде документа-манифеста с главами и иллюстрациями. Есть версия и на русском. Поучительное и полезное чтение.

И вот еще презентация на эту тему c демонстрацией этих принципов на Heroku, начиная с середины. Пользуясь этой презентацией, я завел пробный аккаунт на Heroku и вывел пробное Java-приложение, склееное с помощью Spring Boot. В результате я полюбил Spring Boot еще больше. Для low-latency он конечно не подойдет, но для рядовых приложений подходит прекрасно. Считаю, что Spring Boot должен освоить любой уважающий себя Java-разработчик: всегда пригодится. 

В качестве развития этой темы компания Pivotal дополнила 12 факторов еще тремя и опубликовала короткую книгу Beyond the 12 Factor App: Exploring the DNA of Highly Scalable, Resilient Cloud Applications

3 книги о Java и concurrency и плюс еще одна

Многопоточное программирование в Java в частности и в программировании вообще является обширной и сложной темой. В связи с изменениями в процессоростроении, произошедшими уже упочти 15 лет назад многопоточное программирование выходит в скиллах программиста low-latency систем на первый план. Для самостоятельного вдумчивого освоения этой темы требуется уйма времени и хороший учебный материал.

Читать далее

Java-проект: SimpleFIXClient

Предлагаю вашему вниманию Simple FIX Client для тестирования приложений с FIX-протоколом. Java-приложение использует свободную библиотеку QuickFIX/J, а для управления сообщениями — доменно-ориентированный (DSL) скриптовой язык на Groovy.

Читать далее