Интуитивно понятная, надежная библиотека для работы с временем и датами, наконец-то появилась в Java (Часть 1).

    Наконец-то в Java появился интуитивный, надежный метод работы с датами и временем.
    Принципы даты и времени являются фундаментальными во многих приложениях. Такие разные вещи как даты рождения, сроки аренды, время событий и часы открытия магазина, все основаны на датах и времени, но Java SE не предоставляла удобного способа работы с ними. Начиная с Java SE 8, появился набор пакетов java.time — который предоставляет хорошо структурированный API для работы с датами и временем.

Предыстория
    Когда Java впервые появилась, в версии 1.0, единственным классом для работы с датами и временем был java.util.Date. Первым на что обратили внимание разработчики было то, что он не представляет собой «дату». На самом деле он представляет собой момент времени с точностью до миллисекунд, отмеренный с даты 1-го января 1970-го года. Однако, на основании того что метод toString() у Date выводит дату и время в том часовом поясе который указан в настройках java машины, некоторые разработчики ошибочно сделали вывод о том что Date умеет работать с часовыми поясами.
    Исправить этот класс оказалось настолько сложно (или настолько лениво) что в версии 1.1 пришлось добавить новый класс — java.util.Calendar. К сожалению, класс Calendar оказался не сильно лучше чем Date.

Интуитивно понятная, надежная библиотека для работы с временем и датами, наконец-то появилась в Java (Часть 2).

Время суток
    Итак, идем дальше. Следующей сущностью, после даты, является время суток, представляемое классом LocalTime. Классический пример — представление времени работы магазина, скажем с 7:00 до 23:00. Магазины открываются в это время по всей стране, но фактическое время будет различное, в зависимости от часового пояса.
    LocalTime это класс-значение, в котором хранится только время, без ассоциированной даты и часового пояса. При добавлении или вычитании временного промежутка, он обрежется по полночи. То есть, 20:00 плюс 6 часов это 2:00.
    Использование LocalTime похоже на LocalDate:
LocalTime time = LocalTime.of(20, 30); 
int hour = date.getHour(); // 20 
int minute = date.getMinute(); // 30 
time = time.withSecond(6); // 20:30:06 
time = time.plusMinutes(3); // 20:33:06 

    Модификаторы могут работать и с LocalTime, однако операции с временем обычно не настолько сложны чтобы требовалось использование модификаторов.
  • ,

Новый Мувер!

Представляем Вашему вниманию новый Мувер [Берите пример с Автора!]

Мувер

Тема: Загадочный new BufferedReader(new InputStreamReader(System .in)
Автор — vk.com/anton_nikolski

Ссылка на видео: www.youtube.com/watch?v=PZa7LEY_7LM

В этом Мувере Вы узнаете:

Что такое потоки?
Что такое System.in?
Что такое обертка или декоратор?

Итак, смотрим, вникаем, комментируем ;) Тема очень актуальная!

Тем кто впервые слышит о Муверах рекомендуем прочитать такую статью: info.javarush.ru/news/2014/04/01/%D0%9D%D1%83%D0%B6%D0%BD%D0%BE-%D0%B1%D0%BE%D0%BB%D1%8C%D1%88%D0%B5-%D0%9C%D1%83%D0%B2%D0%B5%D1%80%D0%BE%D0%B2-.html
Если хотите поучаствовать в создании Муверов по Java вот список рекомендованных тем (можете предлагать свои): info.javarush.ru/news/2014/03/13/%D0%A2%D0%B5%D0%BC%D1%8B-%D0%B4%D0%BB%D1%8F-%D0%9C%D1%83%D0%B2%D0%B5%D1%80%D0%BE%D0%B2-.html

JavaRush переехал на новый сервер

JavaRush переехал на новый сервер!

В последний месяц из-за сильного наплыва пользователей сервер иногда подтормаживал. Что не могло не огорчать и вас и меня. Надеюсь, теперь эта проблема останется в прошлом.

Возможно, сервер будет недоступен некоторым из вас в течении нескольких часов (пока не обновится ваш DNS кэш).

Лучшие Муверы

Господа, совсем недавно мы запустили интересное направление под названием Муверы. Его смысл заключает в том, что один из учеников выбирает из предоставленного списка интересную тему, детально ее изучает и снимает по ней коротки видео доклад. Формат такого доклада – свободный. Кто-то просто записывает свой экран, показывает подготовленную презентацию и комментирует ее, кто-то что-то демонстрирует в среде разработки и т.д.

За короткий промежуток времени нам прислали немалое количество Муверов (за что стоит отдельно в комментариях поблагодарить наших активных студентов), вот лучшие из них:

Что такое инкапсуляция? — vk.cc/2wNKOW
Горячие клавиши в Intellij IDEA — vk.cc/2wNLgN
Основы HTML — vk.cc/2wNOpb
Исключения (Exceptions) Часть 1 — vk.cc/2utac5
Исключения (Exceptions) Часть 2 — vk.cc/2wNM6r
Наследование — vk.cc/2wNMt4
Интерфейсы — vk.cc/2wNMY0
Что такое MVC? — vk.cc/2wNNZa
Оператор for-each — vk.cc/2wNOSO
Типы переменных и классы объектов vk.cc/2wNVEe

Смотрите, комментируйте, подписывайтесь на канал и не забывайте снимать и присылать новые Муверы. (все ролики присылайте Бендеру — vk.com/javarush_bender).

Такой формат дополнительной подготовки и обмена информацией чрезвычайно полезен, поэтому отбросьте все сомнения и действуйте!

Список заявленных тем можете найти здесь – vk.cc/2rwrOc

Если вы хотите выбрать свою тему связанную с Java – здорово, все будут только рады.
  • ,

10 заметок о модификаторе Static в Java

Модификатор static в Java напрямую связан с классом, если поле статично, значит оно принадлежит классу, если метод статичный, аналогично — он принадлежит классу. Исходя из этого, можно обращаться к статическому методу или полю используя имя класса. Например, если поле count статично в классе Counter, значит, вы можете обратиться к переменной запросом вида: Counter.count. Конечно, следует учитывать модификаторы доступа.
  • ,

Видеоканал с Муверами открылся!

Java YouTube

Несколько дней назад мы создали специальный YouTube-канал (JavaRush Students), где централизовано будут хранится все присланные нашими студентами Муверы.

Мы считаем, что это очень удобно так как в одном месте будут сосредоточены абсолютно все материалы, просматривать и находить которые будет очень легко. Кроме того, Ваши комментарии не будут теряться.

Итак, подписывайтесь на канал: www.youtube.com/channel/UCMcDsSeqS531-HKz6GiJgtA, смотрите те Муверы которые вы еще не смотрели, оставляйте свои комментарии, ставьте лайки и совершенствуйте свои знания и навыки в области Java.

Естественно, не забывайте присылать новые видеодоклады, темы для Муверов вы можете найти здесь!

Всем удачи! Спасибо за внимание!
  • ,

Нужно больше Муверов!

JavaRush муверы

Дорогие друзья! Очень рад, что многие подхватили идею Муверов, что многим она понравилась и начало для данного дополнительного направления уже положено. Надеюсь, вы продолжите присылать свои новые видео доклады и процесс обучения пойдет еще более эффективно. Поэтому жду Ваши Муверы =) Как написано на изображении: «Нужно больше Муверов!»

Для тех, кто впервые слышит об этой дополнительной форме деятельности, кратко расскажу о ней. Итак, мувер – это короткий видео доклад, который готовит один из студентов JavaRush для других.

Темы первых докладов имеются на на специальной странице нашего форума.

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

Итак, основная ЦЕЛЬ для докладчиков: выбрать интересную тему в которой Вы не разбираетесь, но хотите разобраться или же взять ту тему которую, как ВЫ ДУМАЕТЕ, знаете отлично, и сделать по ней небольшой видео доклад. Он может быть выполнен, например, в форме презентации, которую вы листаете и комментируете.

ЦЕЛЬ для слушателей: внимательно просмотреть видео, оставить свои положительные отзывы, задать несколько вопросов, подискутировать с другими участниками обсуждений и получить максимальное количество позитивных эмоций и полезной информации.

Какие преимущества в этом для КАЖДОГО из ВАС:

1. Вы потренируетесь излагать материал для большой аудитории именно в сфере программирования. Это поможет научиться правильно, технически грамотно и уверенно строить ответы на СОБЕСЕДОВАНИЯХ, при работе в КОМАНДЕ, при общении с заказчиками и т.д.
2. Очень важно получать информацию не только у профессионалов своего дела, но и у таких же учеников, которые уже преодолели эти проблемы и разобрались в текущем материале. Поэтому обмен информацией между людьми одного уровня и квалификации очень полезный.
3. Видео обучение — это новый формат общения и получения информации.
4. Возможность разобраться в интересной новой теме, как докладчикам, так и слушателям.

Дерзайте! Присылайте новые Муверы! Я в Вас верю. Если есть какие-либо вопросы по данному направлению, пишите мне (Бендеру)

Java Core. Вопросы к собеседованию, ч. 3

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

10 самых сложных вопросов на собеседованиях по Java.

10 самых сложных вопросов на собеседованиях по Java.

Сложные вопросы по Java и ответы на них
    Что такое сложные вопросы по Java на собеседованиях? Почему люди изучают их прежде чем отправиться на собеседование? Ну, это вполне естественно, что люди готовятся к сложным вопросам даже если они не ожидают что им будут задавать сложные вопросы из Java. Если вы подготовитесь к сложным и хитрым вопросам, это добавит вам уверенности в себе и поможет ответить на любые другие вопросы. С другой стороны, если вы не подготовитесь к сложным вопросам — их появление во время интервью или письменного теста будет для вас неприятным сюрпризом. Но определение что считать сложным вопросом не является универсальным, один и тот же вопрос может быть сложным для одного программиста и простым для другого. Так что, лучше подготовьте ваш личный список сложных вопросов, прежде чем заявиться на собеседование по Java. В этой статье я поделюсь с вами моим собственным списком из десяти сложных вопросов, который может вам помочь.

Клуб взимопомощи НСНД

Клуб взимопомощи НСНД
(«Научился Сам — Научи Другого»)
Группа в вконтакте: vk.com/javaclubnsnd
Топик в группе javarush.ru в vk.com: vk.com/topic-43948962_30169733

Друзья! Все мы здесь об»единены общей целью — изучением Java. Вопросов и непонятных моментов возникает уйма, а поиск ответов на них занимает много времени, особенно занимаясь самостоятельно, без преподавателя. А хотелось бы чтобы обучение проходило как можно быстрее.
Хотелось бы иметь своего «персонального» Наставника, к которому можно обращаться по любому вопросу любое количество раз, и который будет помогать и об»яснять с радостью и бесплатно именно мне!
Если так, то вступайте в Клуб взимопомощи НСНД. И тогда наше продвижение вперед в изучении Java пойдет так быстро что НаСНеДогонят!

Смысл в следующем — каждый Участник Клуба имеет Права и Обязанности:

1. Права — получает в качестве Наставника другого Участника Клуба, имеющего больше знаний и прошедшего как минимум на несколько уровней дальше, который и будет об»яснять всё что знает сам именно мне, вникая во все мои Java-проблемы. Выгода — очевидна!

2. Обязанности — становится Наставником для двух других Участников Клуба, имеющих меньшие знания, находящихся на несколько уровней ниже. Выгода — как говорится «Лучший способ понять что-нибудь самому — это попытаться об»яснить это другому». Ну и пункт 1 разумеется.

Присоединяйтесь!

P.S. Полагаю внизу пирамиды проблем возникнуть не должно, разве что при очень большом количестве новичков возможно иногда будет возникать очередь на получение Наставника.
А вверху будем надеяться что найдется кто-то, очень-очень сильный доброволец, который возглавит нашу группу, ведь многие и так помогают на форуме info.javarush.ru. И это будет не менее почетно, чем находиться вверху Рейтинга javarush.ru/rating. А может даже и кто из организаторов Проекта javarush.ru …