Ровно через месяц, в воскресенье, 24 апреля, в Москве пройдет Java-конференция для студентов JPoint Student Day. Две недели назад я уже писал об этой конференции — что это такое, чего ждать, и кого мы ожидаем на ней увидеть. Всего на конференции будет около двух десятков докладов, половина из них уже анонсирована. Давайте вместе на них посмотрим.

Вот они:
  • Никита Липский, Excelsior — JVM: краткий курс общей анатомии;
  • Роман Елизаров, Devexperts — Многопоточное программирование — теория и практика;
  • Виктор Гамов, Hazelcast — Распределяй и властвуй: введение в распределенные системы;
  • Антон Архипов, ZeroTurnaround — Байткод для любознательных;
  • Дмитрий Чуйко, Oracle — Чёрная метка, StampedLock и его друзья;
  • Михаил Дударев, Licel — Java Security от А до Я;
  • Виктор Полищук, Infopulse — Веб-приложение, о котором я мечтал;
  • Егор Бугаенко, Teamed.io — Объектно-Ориентированное Враньё;
  • Nicolas Frankel, hybris — Refactoring your legacy code for better maintainability.


Неплохо для студенческого ивента?

Спикеры — авторитетные как на подбор: Никита Липский — разработчик виртуальных машин, Роман Елизаров — эксперт по многопоточности мирового уровня и Java Champion, Антон Архипов — Java Champion, гуру класслоадинга и модификации байткода (JRebel), Виктор Гамов — Senior Solutions Architect в Hazelcast, популярнейшем In-Memory Data Grid и т.д. Про каждого из наших спикеров можно рассказывать долго.

Напомню, что эта конференция — для студентов и преподавателей. Если вы принадлежите к числу первых или вторых — добро пожаловать под кат, где я подробнее расскажу об этих докладах.






lipskyНикита Липский, Excelsior — JVM: краткий курс общей анатомии

Говоря о Java, мы подразумеваем как минимум две вещи: JVM (виртуальную Java-машину) и Java-байткод, который исполняется на этой машине. Внутреннее устройство JVM непростое, но очень важно понимать, из каких частей она состоит, какая часть за что отвечает и как это все вместе работает хотя бы в самых общих чертах. Эти знания помогут вам в понимании того, как работает ваша программа и как можно улучшить её работу.

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





elizarovРоман Елизаров, Devexperts — Многопоточное программирование — теория и практика

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

Мы рассмотрим теоретические модели, которые используются для описания поведения многопоточных программ. Будут рассмотрены понятия последовательной согласованности и линеаризуемости (с примерами) и объяснено зачем это все-нужно программисту-практику. Будет показано как эти понятия применяются в модели памяти Java с примерами кода приводящего к неожиданным результатам с точки зрения человека, который с ней не знаком.





gamovВиктор Гамов, Hazelcast — Распределяй и властвуй: введение в распределенные системы

Информации много, и её становится всё больше. Волей-неволей приходится сталкиваться с пресловутыми «распределенными вычислениями». Что же делать? Реплицировать данные? Как распределять вычисления? У каждого подхода есть свои преимущества и недостатки, как и очевидные, так и те, что не всегда лежат на поверхности.

Hazelcast (in-memory data grid с открытым исходным кодом) предоставляет множество инструментов для организации распределенных вычислений. После небольшого введения и обзора терминов, на основе примеров кода, Виктор покажет, как использовать Hazelcast для распределенной обработки данных.





arhipovАнтон Архипов, ZeroTurnaround — Байткод для любознательных

Программы на Java состоят из классов, а классы состоят из байткода (bytecode). Любой нормальный Java-программист, впервые увидев байткод, озадачится: «Что это?! Как это вообще читать? Что с этим можно сделать?»

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





chuykoДмитрий Чуйко, Oracle — Чёрная метка, StampedLock и его друзья. Как не нарушить пиратский кодекс

Среда исполнения и стандартная библиотека Java дают много возможностей обеспечить потоковую безопасность кода в открытом море. Параллельное исполнение имеет известные подводные камни и способы их обойти. Перед отплытием полезно узнать, зачем нужны разные реализации Lock, что у них общего, как укоротить критические секции и как вежливо вернуть метку обратно. И как это поможет разным командам одновременно управлять одним кораблём.

Ключевые слова: Concurrency, StampedLock, AbstractQueuedSynchronizer, атомарные операции, синхронизиция.





dudarevМихаил Дударев, Licel — Java Security от А до Я

Все то, что я бы хотел услышать о Java Security, если бы мне об этом рассказали:
  • JCA/JCE — шифры, подписи, хеши и другие животные;
  • Как защитить свой песочный замок, от детской лопатки (Java Sandbox, OSGI & etc);
  • Алиса Бобу прислала кораллы (что нужно знать о SSL/TLS).






polishchukВиктор Полищук, Infopulse — Веб-приложение, о котором я мечтал

Вот что пишет Виктор:

Я работаю над веб-приложениями с начала моей Java карьеры. Я страдал со всеми этими Struts, JSF, Spring MVC, GWT и т.д. Но времена изменились, появилось больше готовых клиентских инструментов, новые специализации и потенциальные угрозы. Я хочу рассказать про цену, которую мы платим разрабатывая веб-приложение на Java. А также предложить решения, которые могут спасти проект-другой. Ведь понимание проблемы – это уже половина решения.

Я знаю как нельзя. Я пытался создать «идеальное создание». И после нескольких лет мучений, мне кажется я нашел «идеал». Спешу поделиться.





bugaenkoЕгор Бугаенко, Teamed.io — Объектно-Ориентированное Враньё

Авторский анонс:

ООП в его Java версии, к моему большому сожалению, было создано теми, кто плохо понимал идею. Если вы будете программировать так, как рекомендует, например, Spring Framework, то навсегда останетесь среди тех, кто работает за деньги. По настоящему полюбить ООП и Java и получать удовольствие от каждой строчки кода получится только если делать все иначе. В своей книге Elegant Objects я просуммировал, что именно нужно делать иначе.

В докладе я сделаю обзор главных пунктов. Публичные статические методы сами по себе большое зло и должны быть полностью исключены. Getters/Setters ни в коем случае не должны присутствовать в ваших классах. Singleton, MVC и ORM — вовсе не design patterns, а злейшие ваши враги. NULL, как ключевое слово, должно быть забыто. Все это будем обсуждать на примерах Java кода, с постоянным возвратом в теорию ООП.





frankelNicolas Frankel, hybris — Refactoring your legacy code for better maintainability

Хотя код любого приложения обычно пишется один раз, он потом читается разработчиками десятки или даже сотни раз в течение всей жизни приложения. Поэтому от способа написания кода очень зависит то, насколько просто его потом будет поддерживать. Тем не менее, по разным причинам, код, который выходит из-под рук разработчиков, не всегда отличается хорошей поддерживаемостью. Следовательно, необходимо иметь возможность переписать этот код, когда есть время.

В этом докладе, Николя покажет методы и инструменты, чтобы помочь вам рефакторить код безопасным способом.






Сайт конференции со всей информацией: http://students.javapoint.ru/

Профессиональная конференция для студентов с экспертами такого уровня — уникальное явление не только для России. Мы изучали, мы знаем. Могу ответственно заявить, что в мире подобные мероприятия можно пересчитать по пальцам одной руки.

И это не только заслуга нашей команды. Будем откровенны, нам с вами просто очень повезло, что многие Java-эксперты мирового уровня говорят на русском языке.

Комментарии (7)