Теоретический минимум для понимания Java Memory Model

Чтобы выжать из современных вычислительных систем всё, что в них заложено, нужно использовать их по максимуму, а значит придется разобраться не только в синтаксисе и семантике вашего языка программирования, как это было всего десять лет назад, но и в его модели памяти. Разобраться, что же происходит, когда несколько потоков одновременно читают или пишут одни и те же участки памяти. И тут смелого программиста, отправившегося на поиски новых знаний, ждёт неприятная новость.

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

Доклад призван восполнить этот досадный пробел современной системы образования программистов, которая до сих пор не подстроилась под реалии современного многопоточного мира. Будет минимум практики и максимум теории: определения, понятия, теоремы. После прослушивания этого доклада все термины, которые упоминаются в 17 главе спецификации языка Java, обретут для вас понятный и законченный смысл.

Роман Елизаров, Devexperts

Занимается профессиональной разработкой программного обеспечения для биржевой и брокерской деятельности более 10 лет. Как координатор группы проектов в компании Devexperts, участвует в разработке торговой платформы thinkorswim, признанной на рынке США платформой №1 несколько лет подряд уважаемым журналом Barron's.

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

В 2000 году с отличием закончил СПбГУ ИТМО, где в настоящее время преподает курс параллельного и распределенного программирования. Во время учебы в университете участвовал в международных командных соревнованиях студентов по программированию ACM ICPC в составе команды ИТМО. С 1997 года и по настоящее время является председателем жюри соревнований Северо-восточного Европейского Региона (NEERC) ACM.