×Закрыть

Java Core: каталог обучающего видео на русском языке

Добрый день.
Только что исполнился год курсам KharkovITCourses, мы сняли и выложили несколько сотен часов обучающего видео по Java.
Из-за ряда особенностей youtube крайне сложно сделать нормальное «содержание канала» на самом youtube-канале.
В этом посте я решил
1. Cоставить «содержание» нашего youtube-канала.
2. Составить «содержания» видео-лекций других авторов по Java. Предварительно рассматривается возможность «каталогизировать»:
— Java для тестировщиков (Юрий Ткач), youtube.com
— «Основы программирования на языке Java», Мирончик Игорь, youtube.com, (автор сам просит сделать содержание)
— курс «Java», Алексей Владыкин, lektorium.tv, хотя у курса уже есть содержание.
— Основы Java, Георгий Корнеев, lektorium.tv (надо проанализировать, стоящий ли курс), содержание обнаружено на rutracher.org.
.
********** KharkovITCourses: Java Core **********.
Модуль #1 (Procedural Java):
Набор июль 2013: #1, #2, #3, #4
Набор апрель 2013: #1, #2, #3, #4
Набор февраль 2013: #1, #2, #3, #4
Набор январь 2013: #1, #2, #3, #4
Набор октябрь 2012: #1, #2, #3, #4.
Модуль #2 (Exceptions in Java):
Набор июль 2013: #1, #2, #3, #4
Набор апрель 2013: #1, #2, #3, #4, #5 (???)
Набор февраль 2013: #1, #2, #3, #4
Набор январь 2013: #1, #2, #3, #4
Набор октябрь 2012: #1, #2, #3.
Модуль #3 (Java I/O):
Набор июль 2013: #1, #2, #3, #4
Набор апрель 2013: #0 (???), #1, #2, #3, #4
Набор февраль 2013: #1, #2, #3, #4, #5
Набор январь 2013: #1, #2, #3, #4
Набор октябрь 2012: #1, #2, #3, #4, #5.
Модуль #4 (Multithreading in Java):
Набор июль 2013: #1, #2, #3, #4
Набор апрель 2013: #1, #2, #3, #4
Набор февраль 2013: #1, #2, #3, #4
Набор январь 2013: #1, #2, #3
Набор октябрь 2012: #1, #2, #3.
Модуль #5 (Collections API, java.util.*):
Набор апрель 2013: #1, #2, #3, #4, #5
Набор февраль 2013: #1, #2, #3, #4
Набор январь 2013: #1, #2, #3, #4, #5
Набор октябрь 2012: #1, #2, #3, #4, #5.
Модуль #6 (Java OOP):
Набор апрель 2013: #1, #2, #3, #4.
Набор февраль 2013: #1, #2, #3, #4.
Набор январь 2013: #1, #2, #3, #4.
Набор октябрь 2012: #1, #2, #3, #4.
Summary:
Набор январь 2013: итоговая лекция
Набор октябрь 2012: итоговая лекция
.
********** KharkovITCourses: Junior Java Developer **********
1. Шаблоны проектирования GoF: #1, #2
2. JDBC: #1, #2, #3, #4, #5
3. Log4j: #1
4. HTTP: #, #2
5. Servlet API: #1, #2
6. DI/IoC: #1
7. TDD: #1 (JUnit), #2 (Mockito), #3 (???)
8. Maven: #1, #2
9. Имитация интервью: #1
10. Servlet API: #3, #4
11. REST: #1
12. Spring Framework: #1
13. Spring MVC: #1
.
********** KharkovITCourses (доп. лекции) **********
Дополнительные лекции читались в разное время и по разным причинам. Они не входят в основные курсы. Из-за этого материал может быть «сыроват».
Эти две лекции подготовлены лучше:
JUnit + hamcrest
Стандарты кодирования
.
Остальные лекции более «сырые». Конкретно шаблоны проектирования читались студентам Харьковского Политеха и их уровень достаточно невысокий:
Шаблоны проектирования. Часть 1
Шаблоны проектирования. Часть 2
XML
Java generics
Введение в JDBC
Введение в реляционную алгебру
.
********** Юрий Ткач: Java для тестировщиков (тут и на rutracker) **********
Курс учит базовому программированию на языке Java, объясняет основные понятия, знакомит с наиболее популярными библиотеками и средствами, которые могут пригодиться тестировщикам. Курс расчитан на слушателей, которые слабо подготовлены в программировании.
Программа, расположенная тут, не соответствует наименованию лекций
Урок 1 — Введение
Урок 2 — Синтаксис языка
Урок 3 — ООП
Урок 4 — ООП
Урок 5 — ООП
Урок 6 — ООП
Урок 7 — Enum, Number, String
Урок 8 — Eclipse IDE
Урок 9 — Exceptions
Урок 10 — Generics, Collections
Урок 11 — Annotations, I/O, Properties
Урок 12 — Threads
Урок 13 — Swing
Урок 14 — Swing
Урок 15 — JDBC
Урок 16 — JUnit
Урок 17 — Spring
Урок 18 — EasyMock
Урок 19 — Ant и Maven
.
********** Юрий Ткач: Advanced Java (тут и тут) **********
Мини-курс «Advanced Java — Generics» подробно рассматривает скрытые проблемы, возникающие при игнорировании женериков, объясняет особенности наследования при использовании классов с обобщенной типизацией, а также показывает, как повысить эффективность кода с применением метасимволов (wildcard) и расширителей обобщения (extends и super).
Advanced Java — Generics
Части отдельно (??? выложена всего одна часть — 15 минут ???):
Сырые типы — Generics #1
Мини-курс «Advanced Java — Collections» посвящен детальному рассмотрению стандартных реализаций интерфейсов Java Collections Framework (hash maps, queues, sets), объясняет их особенности, способы применения и знакомит с некоторыми интересными свойствами, позволяющими повысить эффективность работы с коллекциями в программе, а также избежать возникновения скрытых багов. Вторая часть данного мини-курса знакомит с неблокирующими реализациями коллекций (non-blocking lists and sets, concurrent maps, blocking queues), объясняет разницу между ними, а также на практике показывает их плюсы и минусы, и возможное применение.
Advanced Java — Collections (5 частей последовательно)
Части отдельно:
HashSet и TreeSet — Collections #1
Реализации интерфейса Map — Collections #2
Queue и приоритетная очередь — Collections #3
Многопоточные коллекции — Collections #4
Блокирующая очередь — Collections #5
Мини-курс «Advanced Java — Concurrency» знакомит со сложными концепциями многопоточности и параллелизма в языке Java на основе пакета java.util.concurrent. В нем кратко вспоминаются основные механизмы синхронизации в Java, одновременно представляются общие проблемы, связанные с использованием потоков (например, возникновение deadlock), и показываются эффективные способы их решения. Курс знакомит с высокоуровневыми методами синхронизации с использованием CountDownLatch, CyclicBarrier, ThreadLocal, а также различными Executors для запуска потоков. В данном курcе активно применяется кодировние программ слушателями, что позволяет наработать практические навыки использования потоков в Java.
Advanced Java — Concurrency (5 частей последовательно)
Части отдельно:
Deadlock — Concurrency #1
Неблокирующая синхронизация — Concurrency #2
Сервис запуска потоков — Concurrency #3
Синхронизаторы — Concurrency #4
ThreadLocal — Concurrency #5
.
********** Игорь Мирончик: youtube **********
// TODO
.
********** Алексей Владыкин: lektoriumTV **********
// TODO
.
********** Георгий Корнеев: (тут и тут и на rutracker) **********
Автор рекомендует читать «Thinking in Java» («Философия Java»).
Введение в Java
Введение в ООП на Java (1)
Введение в ООП на Java (2)
Обработка ошибок и исключения
Синтаксис Java
Ввод-вывод
Collections Framework
Новые возможности Java 5
Reflection
Введение в многопоточное программирование
Задачи и средства многопоточного программирования

Лучшие комментарии пропустить

KharkovITCourses: Java Core
.
Модуль #1 (Procedural Java):
Набор июль 2013:
#1, #2, #3, #4
Набор апрель 2013:
#1, #2, #3, #4
Набор февраль 2013:
#1, #2, #3, #4
Набор январь 2013:
#1, #2, #3, #4
Набор октябрь 2012:
#1, #2, #3, #4
.
Модуль #2 (Exceptions in Java):
Набор июль 2013:
#1, #2, #3, #4
Набор апрель 2013:
#1, #2, #3, #4, #5 (???)
Набор февраль 2013:
#1, #2, #3, #4
Набор январь 2013:
#1, #2, #3, #4
Набор октябрь 2012:
#1, #2, #3
.
Модуль #3 (Java I/O, java.io.*):
Набор июль 2013:
#1, #2, #3, #4
Набор апрель 2013:
#0 (???), #1, #2, #3, #4
Набор февраль 2013:
#1, #2, #3, #4, #5
Набор январь 2013:
#1, #2, #3, #4
Набор октябрь 2012:
#1, #2, #3, #4, #5
.
Модуль #4 (Multithreading in Java):
Набор июль 2013:
#1, #2, #3, #4
Набор апрель 2013:
#1, #2, #3, #4
Набор февраль 2013:
#1, #2, #3, #4
Набор январь 2013:
#1, #2, #3
Набор октябрь 2012:
#1, #2, #3
.
Модуль #5 (Collections API, java.util.*):
Набор апрель 2013:
#1, #2, #3, #4, #5
Набор февраль 2013:
#1, #2, #3, #4
Набор январь 2013:
#1, #2, #3, #4, #5
Набор октябрь 2012:
#1, #2, #3, #4, #5
.
Модуль #6 (Java OOP):
Набор апрель 2013:
#1, #2, #3, #4
Набор февраль 2013:
#1, #2, #3, #4
Набор январь 2013:
#1, #2, #3, #4
Набор октябрь 2012:
#1, #2, #3, #4
Summary:
Набор январь 2013: итоговая лекция
Набор октябрь 2012: итоговая лекция

Допустимые теги: blockquote, code, em, pre, i, li, ol, strike, strong, u, ul, a.
Ctrl + Enter
Допустимые теги: blockquote, code, em, pre, i, li, ol, strike, strong, u, ul, a.
Ctrl + Enter

А что Вы надумали делать из сайтом ? С материала ? С ютуб-каналом ? Есть дальнейшие планы или уже всё — завязали со всем ?

Пожалуйста:)

Хорошии лекции, то что надо, благодарю.
А есть что-то подобное для С#?

Не знаю. Я C# не читал.

Иван респект)))))

Ой, как у вас тут интересно :) А будет ли уместным пригласить участников дискуссии на Java хакатон, который на этих выходных пройдет?
Хакатон называется LinguaHack, пройдет в «Часописе» (Киев) 13-14.09
Тема: «Язык и все, что с ним связано» (NLP, OCR и переводы на разные языки)
В общем, все подробности есть здесь: dou.ua/calendar/5451
Будет повод развиртуализироваться ))

Здесь мы видим список разных видеокурсов. Кто-то может разложить их по приоритету: наиболее значимые, те — которые не стоит смотреть вообще, последовательность в изучении начиная с нуля и т.д? Имеется ввиду не только курсы Ивана, — а курсы разных авторов, указанных в этом топике.

Видел несколько лекций Головача, начало не плохое рассказывает ровно, а вот когда уже дошел до Frameworks (в частности Spring), тут что-то не знаю, тут что не получается и т. д.

А Вы попробуйте как-нибудь непрерывно 3 часа рассказывать про что-то не такое тривиальное как ArrayList.

Это все здорово только Juniors нах никому не надо, в некоторых конторах Днепра даже за бесплатно не хотят брать, знаю не по наслышке. Может в Харькове обстоянельства по другому складываются.

Я не решаю проблемы компаний. И мне не важно, что им нужно/не нужно.
Мои клиенты — слушатели, задача дать им максимум за 3 месяца занятий.

Опять же, тот факт, что многие (харьковские) компании — EPAM, GlobalLogic, DataArt, Nix Solution, GridDynamics ... Сами растят Junior-ов доказывает, что таки нужны.

Спасибо, Иван! У вас отличные лекции! Начал смотреть про паттерны — вы все здорово по полочкам раскладываете! Мне понравилось, как вы за час рассказали про устройство Java EE.
У Мирончика и Ткача лекции хуже — не хватает системности изложения.
Начинал их смотреть раньше — и в итоге забрасывал.

Надо было к вам идти изучать Java, а не ходить на разные бестолковые курсы в Киеве —
все-таки уровень преподавателя решает все!

Основы Java, Георгий Корнеев, lektorium.tv
 — Хороший курс. К сожаленью, правда, приходится только догадываться О ЧЕМ\ЧТО говорят студенты.

Игорь Мирончик — ведет лекции интересно, без надобности не использует «заумные» инструменты. paint — наше ВСЕ :)

Юрий Ткач — ИМХО, особенно с некоторых пор, на последних записях — стал крупно показывать ОТДЕЛЬНО код. ОЧЕНЬ удобно смотреть, не нужно всматриваться. Удобно смотреть на паузах и без. «Лектор рядом с кодом» — очень «вразумительно», особенно, на коротких\не больших кусках кода.

Иван куда то пропал ((( , на посты не отвечает....

Будут вопросы — задавайте.
А так я слегка теряю нить рассуждений:)

Иван а как тебе в личку сообщение кинуть? есть одна мысль

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

Плейлист на youtube
Если кто, действительно, хочет заниматься — я советую учить всё на сайте в нашем онлайн классе. Первый урок с домашними бесплатно. demo.midgardabc.com

Добрый день.
Посмотрел кое-какие из Ваших видео.
По моему мнению, вы иногда допускаете неточности в утверждениях (а иногда и грубые ошибки), которые могут исказить представления у обучаемого:
www.youtube.com/...h?v=lbLFHpVTvVw

1. «int или integer — это целые простые числа».
Неточность.
Под ПРОСТЫМ числом обычно в математике имеют в виду число у которого нет делителей кроме 1 и его самого (7, 13, 91, ...).

2. «Мы используем тип long, если нам нужно определить какое-то
бесконечное множество целых чисел», «Мы используем тип long, он никогда не заканчивается.»
Неточность.
Чисел типа long — в «бытовом понимании» очень много. Однако Вы же сами указывали диапазон — [-2^63, 2^63-1] и размер в памяти — 8 байт. Из НЕ БЕСКОНЕЧНО МНОГО.

4. «... double, мы получим все int значения, все long значения и плюс дополнительные», «каждый последующий тип включает в себя все предыдущие».
Неверно в принципе.
double — не содержит все long. Это справедливо для малых значений long:


public class Test {
    public static void main(String[] args) {
        BigDecimal k0 = BigDecimal.valueOf((double) 123L);
        BigDecimal k1 = BigDecimal.valueOf(123L);
        System.out.println(k0.compareTo(k1));
    }
}
>> true
Но неверно для больших:

public class Test {
    public static void main(String[] args) {
        BigDecimal k0 = BigDecimal.valueOf((double) 123456789987654321L);
        BigDecimal k1 = BigDecimal.valueOf(123456789987654321L);
        System.out.println(k0.compareTo(k1));
    }
}
>> false

From JLS Section 5.1.2:
“A widening conversion of an int or a long value to float, or of a long value to double, may result in loss of precision — that is, the result may lose some of the least significant bits of the value. In this case, the resulting floating-point value will be a correctly rounded version of the integer value, using IEEE 754 round-to-nearest mode.”

5. «double — здесь есть все дробные числа».
Неточность.
Всех дробных (рациональных) чисел счетное число, а различных double — только конечное значение.

По той причине, что ваше видео недостаточного качества, я не рекомендую его к обучению Java.

Мне показалось , что это видео для школьников средней школы, а для средней школы я думаю и так сойдет, насколько мне удалось проникнуться то курсы Ющенка это такой себе «ЛикБез»

На Вашем сайте прямо сказано — «Преподаватель ... обучил более 300 человек.»
300 — человек, это большое число. Это 20 групп по 15 человек. Вы могли бы объяснить, где ИМЕННО Вы приобрели такой опыт? В рамках какой компании, института или курсов?

Также на Вашем сайте прямо указано «по окончании курсов мы поможем Вам найти работу». Я, как человек, который непосредственно занимается собеседованиями и тестированием в реальные компании, знаю на сколько это сложно делать.
Хотелось бы услышать:
1. Какой формат трудоустройства меня ждет если я сегодня же запишуcь в группу?
2. Сколько человек, когда и в какие компании Вы трудоустроили из тех 300, что обучили?
3. Каким образом Вы помогаете найти работу клиентам из других городов. Скажем из Чернигова?

1. Мы договариваемся о собеседовании в крупные компании Киева, если там есть вакансии junior java. Плюс разбираем часто задаваемые вопросы на собеседованиях и рассказываем как лучше подготовить резюме. На работу мы никого не устраиваем и я об этом никогда не говорил. Если ты из Чернигова — едь в Киев.

2. В компаниях где я работал потом через онлайн курсы за 4 года.
3. Эти неточности не имеют никакого значения для человека, который не умеет программировать вообще, так легче воспринимать информацию на первом этапе. Мне нужно чтобы люди научились программировать, а не выучили ограничения в простых типах, это можно посмотреть в любой момент.

Меня удивляют люди, которые судят о курсе выдрав из 60 видео-роликов первого урока один и рассказывают, что здесь и как, хороший курс или плохой для школьников он или для студентов...

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

Не обращай внимание, Головач уже неоднократно попадался на черном пиаре и вранье.

Вот тут вообще не понял.
Я нашел 4 ошибки в 5 минутах видео.
В чем конкретно ты меня упрекаешь? Или это не ошибки? В чем вранье-то?
.
P.S. Ну да и reality_hacker — известная затычка ко всем бочкам на этом форуме. А из-за свой трусости остается анонимом. Высокомерен, груб, труслив.

Вот тут вообще не понял.
Я нашел 4 ошибки в 5 минутах видео.
В чем конкретно ты меня упрекаешь? Или это не ошибки? В чем вранье-то?
В данном случае не вранье а черный пиар. Ты уверен что ты ни где не оговариваешься в своих лекциях что бы цепляться к словам колеги?
А из-за свой трусости остается анонимом
Почему трусость? Здравый смысл. Какой мне профит от деанонимизации?
Высокомерен, груб, труслив.
Перечитай свой текст, и можешь смело применять весь свой помет к себе самому.
Ты уверен что ты ни где не оговариваешься в своих лекциях что бы цепляться к словам колеги?
Одна оговорка на 1 одну минуту? И одна существенная ошибка на 5 минут? И это на видео, которое заснято дома в тепличных условиях, а не в живой аудитории при 2-3 часах общении.
Уверен.

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

Не хочу тебя расстраивать, но
1. Школьная арифметика не содержит парадоксов.
2. Аксиоматика Цермелло-Френкеля — касается теории множеств, а не натуральных чисел.
Упс! Кажется ты опять попал впросак с математикой:) Учи матчасть, аноним.

1. Школьная арифметика не содержит парадоксов.
А можно доказательство какое нибудь, а то как то математики все страдают уже больше 100 лет а к консенсусу прийти не могут: en.wikipedia.org/..._second_problem
2. Аксиоматика Цермелло-Френкеля — касается теории множеств, а не натуральных чисел.
Все опулярные аксиоматики всяких арифметик опираются на операции над множествами, со всеми вытекающими.
Кажется ты опять попал впросак с математикой:) Учи матчасть, аноним.
Помоему в просак ОПЯТь попадаешь ты, как то ранее ошибался относительно радикс сортировки чисел с плавающей точкой, не смог доказать вырожденность своей же функции equals, и т.д., а я как раз преуспел.

Я не допускал ни оговорок ни ошибок в своём видео. Всё что я там говорю я делаю в 99% случаев специально.

Этот ваш комментарий мне напомнил хорошую историю моего знакомого Якова Файна, который приводит пример «русского программиста».

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

Так и у вас — посмотрел одно видео из всего курса и сделал вывод, что преподаватель дурак и не знает, что тип Long имеет ограничения. А с даблом ещё и примерчик подкину чтобы доказать что сам я то знаю о чём говорю и доказать могу.

1. Сказать, что long — это собственное подмножество double, это грубая ошибка. И это крайне странный способ сказать что диапазон значений double шире, чем диапазон значений long.

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

Выложите одну полную тему любую, на ваш взгляд , самую удобную или самую показательную для вас , но в полном объеме к примеру «Spring-MVC » , или «Spring- контейнер», или «EJB.3.0» , или «Java Server Faces», или «ORM (iBatis , Hibernate)» , или туже самую библиотеку " java.concurrent «, в полном объеме , от самого начала и до самого конца, где бы по вашему мнению вы объяснили хорошо теорию и дальше показали 1 или несколько примеров которые раскрывают суть в полном объеме по рассказанной теме ... тогда будет реально по чем вас оценить... на сим раскланиваюсь , если выложите оставьте пожалуйста ссылку, любопытно было бы взглянуть , со стороны и оценить реальный » продукт к употреблению "

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

Вы берёте оценивать курс с точки зрения, что вы знаете как правильно, но это полнейший абсурд. Единственный способ оценить курс — это посмотреть сколько студентов, которые окончили курс добились цели поставленной перед началом обучения. Например если я хочу выучить Spring-MVC я беру скажем 10 студентов, они проходят курс и если 8 из них могут использовать технологию в реальном проекте курс отличный, если 6 то хороший, если меньше то плохой.

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

Олег, Вы меня, как вашего потенциального слушателя, уже убедили во всем, чем только можно)))) , ща на пальцах объясню
1

Если кто, действительно, хочет заниматься — я советую учить всё на сайте в нашем онлайн классе.

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

и тут он нежданчик ))) от вас прилетает ...
Я не делаю курсы для того чтобы меня оценивали и меня ваша оценка нисколько не интересует.

теперь я однозначно ваш покупатель!!!! )))))) и любой здравомыслящий кто это прочитал тоже))))

2 О ужас вы делаете себе рекламу на странице вашего прямого конкурента , а потом его (конкурента своего) еще, в чем то и упрекаете )))
Если у вас такие пиар ходы и рекламные акции , ваш бизнес точно процветает)))

3 Головач вам указал на весьма существенные недостатки в ваших уроках , кроме нелепых оправданий , хоть бы одно замечание вы таки парировали аргументированно .

4 и последнее я сам в университете читаю курс «Микропроцессоры» , ни первый год,
так что ваше замечание

Вы берёте оценивать курс с точки зрения, что вы знаете как правильно, но это полнейший абсурд. Единственный способ оценить курс — это посмотреть сколько студентов,
выглядит нелепо
Вы слышали себя на своих же записях ... вы же, как часы, настолько все однообразно и монотонно , что просто кошмар... я уже молчу совсем о вашей дикции и словах сказанных на вдохе....
Совет ... вы под каждым видеороликом Ткача напишите зазыв на свои курсы)))))... Вы таке настоящий бизнесмен ))))))) на сем извольте откланяться поскольку результаты очевидны...

А еще лучше выложите свой полный курс , от самого начала и до самого конца , тогда оценка будет однозначно корректной, и действительно будет, что с чем сравнивать... а так 20 роликов по 2 минуты и там рассказывается нормальным человеческим языком , для понимания , а реалии программирования будут в другом видео ... «которого я вам не покажу» )))) ... так очень сложно дать объективную оценку. не обижайтесь)))

Меня удивляют люди, которые судят о курсе выдрав из 60
Я взял первый попавшийся, могу разобрать и другие.

Разберите вот этот, уверен там тоже найдётся парочка неточностей и грубых ошибок www.youtube.com/...h?v=67ldYDv6whA

онлайн курсы за 4 года.
В Украине существуют онлайн IT-курсы по java уже 4 года? Какие это?

если ты считаешь свои посты в этой теме как реклама твоего курса по программированию !?!?!?!?!
ты уже тут столько дров наломал ... что я бы на твоем месте свалил бы отсюда в тихом ужасе и посты за собой бы по удалял ... это всего лишь мое мнение ....
Однозначно такой удачный бизнесмен, как ты , не должен никого слушать... даже голос разума ))))

ты уже тут столько дров наломал
Я бы на твоем месте помолчал ))

Не вижу причин ))

«Эх! Нашёл чем хвалиться, простак! —
Недостатком всего поколенья!
И к тому же всё видеть не так —
Доказательство слабого зренья».

Олег скажи пожалуйста , почему я должен выбрать именно это

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

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

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

Студенты не в состоянии задать вопрос по материалу который они только что услышали. Человеку требуется время усвоить разобраться самому сделать пример, поиграть с кодом и т.д. Я уже молчу, что каждый по разному воспринимает материал кто-то быстро, кто-то медленно, кто-то на слух, а кто-то визуально.
А вот тут ты прав не на 100% а на 200%
на первое место ставим ученика — все время с учителем мы тратим на обсуждение непонятных ситуаций
Это просто супер!!!
Но в твоей схеме есть один существенный для тебя недостаток !!!
Я как преподаватель пробовал и так и эдак, доказано, что результат при правильном подходе будет выше у тебя но временной интервал на моих экспериментах у тебя должен быть в трое больше, чем у Ивана !
У Головача «коре» + «джуны» пол года 2 раза в неделю , то что бы тебе добиться покрытия такого количества тем , тебе понадобиться 3 раза в неделю где то по 3.5 часа каждое занятие в течении года! И в результате по времени ты и твои ученики теряют как минимум в двое, а то и в трое...
И тут очень неоднозначно что лучше Время или Качество .... вопрос очень философский...

Я провожу 2 курса Основы Java и Java Core — 18 недель или 5 месяцев чистого времени в стандартном варианте, но мои ученики могут сами выбирать скорость обучения и если кто-то может усвоить всё быстрее он просто учиться быстрее если у кого не хватает времени (например на работе завал) учёба может растянуться. В обычном же варианте человек просто пропускает занятия и привязан к преподавателю огромными канатами + тратит кучу времени на проезд.

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

Незнаю что вы там пробовали, но в Америке такой подход практикуют с 2004 года в куче школ и результаты потрясающие как собственно и у меня на курсе. Можете почитать Flipped Classroom — здесь хорошо описана практика.

Олег , смотри ты все правильно говоришь о «Учинике» или точнее о «Слушателе» и ты берешь индивидуальный показатель. И тут я с тобой согласен на все сто, но когда заходит речь о «группе» , уже так говорить нельзя. Так вот один из показателей , СССР по высшему образованию был на первом месте в мире , ща объясню , да Бауманка все же не дотягивала до Масачусетского технического , но в целом как для народных «Масс» лекционная подача материала оказывается более эффективной , чем любая другая , да талантливые люди от такой системы страдают, они получают меньше , чем могли бы. Но «ГРУППА» в такой системе получает куда больше . И тут вопрос мы ориентируемся на 3-х талантливых или на 25 способных. Ваш подход лучше для 3-х талантливых, подход Ивана лучше для 25 способных.

Извините, но я считаю это полным бердом. Всё совсем наоборот лекции ок для талантливых, для тех кто схватывает на лету для всех остальных лекции просто убийство посмотрите на школы и унивиры. Какой там процент отличников? У меня например в группе из 30 человек было 2, а у вас?

Ваня, хочу сказать большое спасибо за такую работу.

Пожалуйста.
В ближайшее время стартует еще более амбициозный проект — каталогизация всего видео и собрание всех возможных примеров по Java Core в рамках нового сайта GolovachCourses.com:
— Рекурсия
— Динамические структуры данных
— ...
Буквально в ближайшие дни будет наполнение сайта и связывание с youtube. Объявлю об этом отдельно.

старый сайт прикроется ??? чем новый будет получше старого ? (глаз к старому привык =) )

Пару месяцев старый будет работать.
Претензии к старому — я не управляю движком (blogspot), а новый полностью на моем хостинге с моими плагинами и есть возможность сделать что-угодно.
.
Это общая идея создать два независимых учебных процесса:
1. В реале в Харькове в аудитории.
2. Качественный сайт, по объему материала сравнимый с двухтомником Хорстмана (1000-2000 страниц) с множеством примеров в отрытом доступе. В сайт внедрены тесты и проверка лаб прямо в текст, но этот функционал доступен по платной подписке (50$ в месяц).

ой не та ссылка по хиберу, вот это та!!!
video.yandex.ua/...e/?ncrnd=296#hq

Это я о чём , это я о выступлении одного синьёра тема доклада " За что я ненавижу Hibernate? " , Доклад Николая Алименкова с конференции JEEConf, вот по этой ссылке , video.yandex.ua /users/xpinjection/view/167/user-tag/hibernate/?ncrnd=943#
это я о так модных Spring-MVC, Hibernate... ))))
А мужик , толково и самое главное , очень по делу излагает!!!

Ваня , скажи пожалуйста, а почему ты решил переделать курс Java Junior, это реалии рынка , это желание группы ( из песни «Мы платим, мы заказываем музыку») ? Или это твое внутреннее решение , так сказать стратегический ход???
Насколько мне понятно второй набор Java Junior, больше затачиваются на
1. ORM: Hibernate, JPA
2. Spring,
3. Web: Spring-MVC,
Хотя реалии сегодняшнего рынка таковы , что далеко не везде юзают Hibernate и Spring, да и все равно под ними лежат все те же XML, JMS, JDBC, HTTP, Servlet / JSP, DI / IoC.
И иногда более предпочтительнее знать низ, а не надстройки. Ведь Hibernate это таже надстройка над JDBC, а JPA это надстройка над надстройкой ))) или другими словами над Hibernate. Или это удобней для связки с Maven + Java-TDD??? Конечно JDBC, HTTP, Servlet / JSP, JNDI, SOAP, JMS, не такие популярные как Spring-MVC, Hibernate, JPA, но это фундамент!! понимая фундамент, можно учить любую технологию, не понимая фундамента, в голове будет всего лишь набор фрагментов, которые достаточно сложно собрать в единую рабочую систему.
Вот учли он Spring, приходит, а ему контора с порога, а мы работаем с JBOSS + OSGI ... и что вы хотите нам сказать?????? )))

а мы работаем с JBOSS + OSGI ... и что вы хотите нам сказать?????? )))
Пойти в другую контору? Компаний на рынке много, разве есть необходимость идти в ту, которая использует «не ваш стек».

Общая идея «переделки»:
Для того, что бы хорошо изучить Servlet/JDBC нужно рассматривать
1. Примеры использования API.
2. Примеры того, что в принципе делают в web-приложении.
Изучение внутренностей более высокоуровневых фреймворков (Hibernate, Spring MVC, ...) позволяет достичь обе цели.

Иван, спасибо за видео, такой вопрос: я правильно понял, что лекции разных месяцев — одинаковы по сути, просто разным группам читались?

суть та же, могут немного отличаться стилем и содержанием.

Не совсем ... он каждой группе читал , немного по разному ... по этому в разных группах одни и те же темы освещены по разному(в смысле на разных тонкостях останавливался разное время, то ли от настроения , то ли от группы, трудно сказать) ... но в целом смотрите по названию лекций в начале видео ... название чаще всего совпадает с темой ))))) ... хотя были случаи когда Иван переставлял лекции местами во время самой лекции... ))) ... то есть тема на доске и тема видео урока могут не совпадать но это в самом уроке оговаривается , что мы сегодня смотрим это ... , а потом посмотрим то ... но это исключительные ситуации... в основном тема на доске в начале занятия совпадает с темой самого занятия . Перечень тем у 6 потоков не анализировал ну думаю на 95% совпадают . Выбирайте тот курс где лучше всего освещенность !!!! Из личного опыта))))

Да это так.
Может немного варьироваться содержание, но незначительно.

Ваня , подскажи пожалуйста , что ждут на собеседовании когда тебя просят написать программу простого калькулятора или органайзера???
Что хочет видеть человек который проводит собеседование ?? Как испытуемый внедрит все 23 паттерна GoF, как человек распишет функционал по интерфейсам, и заимплементит эти интерфейсы? А может он ждёт что бы претендент подключил Hibernate, Spring, OSGI?? Или они хотят посмотреть на то как человек бизнес логику строит по классам и по методам? Или это задача на время 20 секунд прошел, а 30 ушел на... ???

>> Ваня , подскажи пожалуйста , что ждут на собеседовании когда тебя просят написать программу простого калькулятора или органайзера???
1. Задание — писать при них или дают домой?
2. Сколько дается времени?

При них.. 15- 25 минут максимум

калькулятор должен быть на 5-7 основных действий, без графического интерфейса... может просто хотят, что бы человек сразу мавен затулил , юнит тестами покрыл код, каждую строчку в трай-кетч загнал... задание пишешь при собеседующем, но он тебя не подганяет и на вопросы не отвечает ... точнее говорит "Ты хозяин пиши , что и как хочешь это твое творчество!!"- ответ такого плана ... т.е как писать и что использовать он не говорит в принципе ... правды ради сказать , делаешь ты этот код ручкой и на бумаге без компа, такой вопрос был на собеседовании в ЕПАМ .... и как это понимать???

Ну в таком случае однозначно хотят видеть какой-то высокоуровневый код, что бы посмотреть ваш стиль + какое решение вы выбрали.
На счет калькулятора ключевые проблемы:
1. Разбор строки: поиск литералов, разбор скобок ...
2. Каким образом вы учитываете приоритет операций. Как отличаете унарный минут от бинарного, ...
3. Отделяете ли вы фазу разбора выражения от его интерпретации? Если отличаете, то как храните разобранное выражение?
4. Допускает ли ваш подход не просто детектирование ошибочных выражений, но и указание на тип ошибки или на предполагаемое исправленное выражение.
.
Никаких Maven/JUnit/Mockito/Log4J на бумажке за 25 минут не ожидают. Бумажка — это чистое кодирование. Чистый, незамутненный Java Core.

Решил пересмотреть все твои курсы Java Core(январский набор + некоторые уроки из апрельских и февральских наборов) + Java Junior , гдето занятий 27 просмотрел. Дело твое можешь прислушаться, можешь нет. Ты человек всесторонне развитый и тебя прет от знаний , это конечно очевидно и ты берешь деньги и как честный бизнесмен отрабатываешь эти деньги! НО!!! На мой субъективный взгляд, есть момент который тебе стоит подкорректировать !!
Когда ты, что то начинаешь объяснять и обнаруживаешь тот факт , что твои слушатели не знают каких то базовых вещей ты начинаешь давать справочную информацию и это у тебя часто затягивается больше, чем на 3-4 минуты!!! За это время большинство слушателей теряют нить основной идеи и когда ты возвращаешься в тему 60-75% слушателей уже отвалились по всем протоколам )))) ... сложно советовать у каждого свой взгляд на одну и туже ситуацию , и все же я бы рекомендовал либо справку давать не более 2-3 минут , либо вначале, или конце основного повествования... а то тебя иногда заносит на 10 — 15 минут по справочному материалу а народ за это время успевает потерять нить основной беседы ...
этот пост носит исключительно рекомендательный характер в виде " Моё мнение"...

Ок, спасибо за отзыв.
Есть такой минус. Если бы шел в политику или адвокатуру, то стоило бы решительно исправить:) А так думаю правильнее сделать курс в одной абсолютно правильной и выверенной записи. К этому и иду. Тогда можно будут заранее четко сбалансировать материал.
Подумываю про такой вот стиль:
1. Разноцветные вставки с доп информацией.
2. Разворачивающиеся комментарии.

Иван и еще один совет , я читаю микропроцессоры , литературы по ним , на момент сегодня уже много... и у меня была одна оплошность я так 23 книжки тягал на флешке и скидывал всем желающим .... РЕЗУЛЬТАТ --- Даже не открывали !!! Потом я стал давать 2 книги и одну переведенную документацию , с подробным указанием на какие главы стоит обратить внимание ... РЕЗУЛЬТАТ--- Около 50% стало их почитывать , глядя на то,что объем материала посильный , народ стал вникать!!
Ты не так много тем рассказываешь, ну около 10 если обобщить ... постарайся на каждую тему выбрать одну , максимум 2-е книги (или сайты) которые ты считаешь самыми интересными очень желательно , что бы они были легкодоступно написаны и на русском языке (желательно вообще в публицистическом стиле , или по крайней мере не изобиловали жуткими терминами, а имели достаточно простые и понятные примеры с хорошим пояснением, главное то схватить суть, а дальше с помощью напильника доработать....) .., а то ты на каждом занятии до 10 книг показываешь 70% из которых на английском ... Это просто деморализует ... люди смотрят и пугаются ... пусть у тебя будет электронная библиотека для твоих «сттьюдентов» в свободном доступе со списком рекомендуемой литературы ... А лично от тебя пусть будет 7 книг которые обязан прочитать программист JAVA.
Идея в том , что если человек переплывает реку , он видит берег и он точно знает как и куда ему плыть, и таке он эту реку переплывет !! А вот с морем ситуация совершенно другая , человек как только не видит берегов он сразу впадает в шок и может начать тонуть . МОРАЛЬ , может пусть слушатели видят конечный объем материала!?!?

я плакал!!!!
www.youtube.com/...h?v=R4sTvHXkToQ
и это он, по моему, на русском типа языке доклад делал)))))))

Вы планируете заполнять разделы Курс Middle Java Programmer (в разработке) с подразделами (Hibernate, Spring, JSF, RichFaces) хотя бы ключевые слова, книги и может еще ссылки =)

Да, планируем. Но пока руки не доходят:(

Иван ты не путай делового человека с торгашом... это разные вещи!!! Для торгаша все измеряется только денежным эквивалентом !! А вот это

2. Если я решу закрыть курсы, то хоть что-то останется "потомкам"/"сообществу"/"комьюнити".
3. Просто приятно делиться. Надоело писать безликий код в безликих проектах имя которым легион.
на высказывание торгаша никак не тянет ... у меня есть хорошие знакомые бизнесмены у них даже мысли в слух по типу " приятно делиться" или «хоть что-то останется потомкам ...» присекаются в корне!!!!

Мне просто не очень приятен термин «торгаш» в принципе.
Исключительно исторически:)
Существовало понятие Купец. Оно не имело никакой коннотации (ни позитивной, ни негативной). Как, скажем, Рабочий, Крестьянин, Пекарь, Руководитель Предприятия, Сварщик. И ровно как Крестьянин, по большому счету, волнуется исключительно по поводу того, на сколько будут полны его закрома, так и Купец волнуется только насколько выгодны сделки по поставкам продукции.
Но при переформатировании информационного пространства в 1917-1933 годах на некоторые социальные страты/классы/роли были навешаны ярлыки. Так появились Торгаши, Куркули, Спекулянты, Кулаки, Буржуи и прочее (тех кого, видимо, надо вздернуть, поставить к стенке или выслать на Соловки).
Поскольку я, как гражданин капиталистической страны, тоже осуществляю продажи (своего времени, навыков), деление на плохих Торгашей и хороших Меценатов мне не очень нравится.

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

Какие именно вопросы? Задавай, ссылок — подкину.

Спасибо, по изоляции транзакций в Hibernate (JPA), именно механизм работы транзакций , ведь транзакции поддерживает Spring и Hibernate и есть РБД, которые поддерживают а есть которые не поддерживают изоляции транзакций. И вопрос на собеседовании звучал так «Чем отличается поддержка изоляции транзакций в Hibernate (JPA) от РБД » . Я ответил, что при работе с Hibernate (JPA) у нас данные сгружаются в ХИП а при работе РБД изоляция происходит на уровне самой БД . Уменя опять спрашивают " а если у нас 12 000 000 000 записей в таблице все выгрузится в ХИП«? . Я отвечаю, «что нет, а только та часть которую мы указали в ленивой загрузке »!! И последний вопрос ко мне " то есть, вся таблица не блокируется, а блокируется только часть находящаяся в ХИПе?? на уровне чего блокирует Hibernate , а на уровне чего блокирует Spring?? и отличается ли это от изоляции которая поддерживается самой БД??" вот этого я не только не знаю , но и не знаю где это можно посмотреть..((

дак ты там будешь отвечать на вопрос dou.ua/...ic/8113/#370072, тему которого первый начал, или слился как деффка, просто ляпнул и нагнал на Мирончика и Ткача ???

Я уже ответил , читай мои посты внимательно !! Но для тебя повторю

как Мирончик работает с коллекциями , как он рассказал многопоточность, как красноречиво он её показал
предупреждаю там очень много ошибок
смотрите документацию, там где Мирончик говорит не по документации Он ошибается
А указывать какое занятие какого курса и на каких минутах он косячит у меня нет ни времени ни желания. Тебе надо ты и ищи.

Тоже самое могу сказать и за Ткача он в очень многих местах говорит то, чего однозначно нет в документации к компилятору или говорит совершенно другие вещи , чем там написаны! Когда человек в одном уроке делает 10 ошибок дальше его смотреть не интересно ... Я когда то самому Юре писал о его ошибках и он согласился ... а доказывать тебе конкретно, что и где там не так мне просто не интересно

Вот один из примеров ошибки Ткача... Юра на лекции говорит «.... Если вам необходимо создать HashMap произвольной длинны , к примеру 5 то вы в конструктор передаете 5 и JVM вам создаст HashMap длиной в 5 ... »
В документации этот момент оговорен и четко сказано , что длинна HashMap может быть только число кратное 2!!!! И таких косяков у Ткача , вагон и маленькая тележка . Второй пример Ткач говорит.. " ....нет возможности отдельно сохранять поле со стринговыми путями..в JPA... " я Отвечаю можно @CLob!!!... и продолжать можно долго и нудно...

В документации этот момент оговорен и четко сказано , что длинна HashMap может быть только число кратное 2!!!!
Я вот Java не знаю, но почему-то могу определить когда кто-то несёт хрень. Можно пруф, где будет указано что число должно быть чётное?

Вот ссылка на документацию по созданию хешмепа заданного размера. Как видим никаких ограничений нету со всему вытекающими: docs.oracle.com/...ml#HashMap(int

Ты открой сарцы и посмотри в них!!!! А вдруг именно тебе повезет и ты увидишь !!!! все больше на вопросы почему мне, то или иное не нравится не отвечаю ... Нравится вам смотрите .. Но я бы лучше посмотрел , что нибудь с Томом Крузом !!! И этом мое субъективное мнение , что курсы Ивана самые толковые !!! Все тема «Мирончик + Ткач» закрыта !!!!

Ты писал про документацию а не сорцы. У джавы 100500 имплементаций и срцы соответственно все разные.

Все тема «Мирончик + Ткач» закрыта !!!!
Зато тема тебя балабола вполне раскрыта.

Если ты слабоумный , и тебя нечаянно родили стоя это не есть проблема всех окружающих тебя ... и ты туда же к мирончику в Off-у там вам и место !!!!

Поперла культура. Ты точно преподаватель?

так есть чем обосновать про чётные числа
и доказать что мирончик лох, а не ты

Ты открой сарцы и посмотри в них!!!! А вдруг именно тебе повезет и ты увидишь !!!!
Чувак, ты даже не отличаешь odd/even от power of two, куда тебе в программирование лезть? Ну и про документацию лоханулся так лоханулся.
Ну и про документацию лоханулся так лоханулся.
в чем именно??

В документации ничего этого нет, это один. Два —

В документации этот момент оговорен и четко сказано , что длинна HashMap может быть только число кратное 2!!!!
Это полная лажа. Тебя не должно волновать как реализован алгоритм внутри, а именно то, что оно из пяти вырастет в степень двойки в какой-то из имплементаций. Три — ни о какой кратности и речи нет.

Подожди ты смотришь урок где Ткач с уверенным выражением лица говорит шо таке JVM создаст HashMap длинной в «5»... а теперь вас процитирую

оно из пяти вырастет в степень двойки
так таке не создаст !!!! Так получается автор фуфел парит, а пипл хавает а потм приходит на собеседования, на экзамены и начинает тоже отвечать что ему на встёгивали !!! на вопрос «Сээррр вы в книгу смотрели ???» ответ «НЕЕЕЕЭЭ!!!» а в серьёзной конторе после трёх таких ответов ваше собеседование окончино!!! СЭЭЭРР!!!
так таке не создаст !!!!
Так что, вывалится по эксепшену? Или отработает? Если отработает, то какая разница сколько оно выделит внутри себя, тем более, если этот параметр больше хинт, чем руководство к действию? Передай своё число кратное 2, например 6 и посмотри что будет. Т.е. ты также впариваешь фуфел а весь пипл хавает.

Или ты тот, кто в остросюжетном боевику «Маугли» из-за кустов скулил Акела промахнулся, Акела прмахнулся!!
Если не докажешь , что создаст длинной в «5» будем тебя считать триплом... мы знаем ты не против ))))

Или ты тот, кто в остросюжетном боевику «Маугли» из-за кустов скулил Акела промахнулся, Акела прмахнулся!!
Я вышел и сказал, что думаю по твоему поводу. А вот кто-то ведёт себя как бандерлог.
Если не докажешь , что создаст длинной в «5» будем тебя считать триплом... мы знаем ты не против ))))
Чувак, я не буду доказывать твои галлюцинации. А вот ты лоханулся, сказав, что 5 оно не примет.

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

Ты этого не говорил, ты говорил вот это:

В документации этот момент оговорен и четко сказано , что длинна HashMap может быть только число кратное 2!!!!
Или докажи или закройся.

а я сказал что думаю по твоему поводу младший друг Шархана ...))) .. не доказал ... значит ты трепло ... и цена всего твоего спама= «ТРЁП!!!» не пиши мне больше хорошо

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

из сорцов хэшмапы

 /**
     * The default initial capacity - MUST be a power of two.
     */
    static final int DEFAULT_INITIAL_CAPACITY = 1 << 4;
// aka 16
Это если по дефолтному конструктору
  /**
     * Constructs an empty <tt>HashMap</tt> with the default initial capacity
     * (16) and the default load factor (0.75).
     */
    public HashMap() {
        this(DEFAULT_INITIAL_CAPACITY, ВEFAULT_LOAD_FACTOR);
    } 
есть что добавить?

вот конструктор HashMap

public HashMap(int initialCapacity, float loadFactor) {
if (initialCapacity < 0)
throw new IllegalArgumentException("Illegal initial capacity: " +
initialCapacity);
if (initialCapacity > MAXIMUM_CAPACITY)
initialCapacity = MAXIMUM_CAPACITY;
if (loadFactor <= 0 || Float.isNaN(loadFactor))
throw new IllegalArgumentException("Illegal load factor: " +
loadFactor);

// Find a power of 2 >= initialCapacity
int capacity = 1;
while (capacity < initialCapacity)
capacity <<= 1;

this.loadFactor = loadFactor;
threshold = (int)(capacity * loadFactor);
table = new Entry[capacity];
init();
}

вот второй

public HashMap(int initialCapacity) {
this(initialCapacity, DEFAULT_LOAD_FACTOR);
}

а вот и третий конструктор

public HashMap() {
this.loadFactor = DEFAULT_LOAD_FACTOR;
threshold = (int)(DEFAULT_INITIAL_CAPACITY * DEFAULT_LOAD_FACTOR);
table = new Entry[DEFAULT_INITIAL_CAPACITY];
init();
}

вот константы

/**
* The default initial capacity — MUST be a power of two.
*/
static final int DEFAULT_INITIAL_CAPACITY = 16;

/**
* The maximum capacity, used if a higher value is implicitly specified
* by either of the constructors with arguments.
* MUST be a power of two <= 1<<30.
*/
static final int MAXIMUM_CAPACITY = 1 << 30;

/**
* The load factor used when none specified in constructor.
*/
static final float DEFAULT_LOAD_FACTOR = 0.75f;

а теперь убедите меня, что если вы в конструктор передадите “5” то у вас JVM создаст HashMap длинной в “5”
ну шо Mike Gorchak мануальный тестировщик будешь оправдываться???

ну шо Mike Gorchak мануальный тестировщик будешь оправдываться???
оправдываться должен ты, тк ты бочку катишь на всех подряд кроме Головача
не знаю где ты его откопал или сам выдумал
но это с 7 версии:
    /**
     * Constructs an empty <tt>HashMap</tt> with the specified initial
     * capacity and load factor.
     *
     * @param  initialCapacity the initial capacity
     * @param  loadFactor      the load factor
     * @throws IllegalArgumentException if the initial capacity   is negative  or the load factor is nonpositive
     */
    public HashMap(int initialCapacity, float loadFactor) {
        if (initialCapacity < 0)
            throw new IllegalArgumentException("Illegal initial capacity: " +     initialCapacity);
        if (initialCapacity > MAXIMUM_CAPACITY)
            initialCapacity = MAXIMUM_CAPACITY;
        if (loadFactor <= 0 || Float.isNaN(loadFactor))
            throw new IllegalArgumentException(
                     "Illegal load factor: " +   loadFactor);
        this.loadFactor = loadFactor;
        threshold = initialCapacity;
        init();
    }
init() хук для подклассов
из какой версии у тебя код?

JDK 1.7 , среда разработки IntelliJ IDEA 11.0
я не буду оправдываться ... я высказал свое мнение , мы на фирме со своим техлидом год назад разбирали детально уроки мироничка да и ткача тоже просматривали ... там много ошибок и неточностей , нам техлид запретил это использовать в качестве учебного пособия.. тогда я себе не выписывал сколько и где фейков накидал мирончик ... да и сейчас мне не интересно

наверно ты имел ввиду вот это

  /**
     * The table, resized as necessary. Length MUST Always be a power of two.
     */
    transient Entry<K,V>[] table = (Entry<K,V>[]) EMPTY_TABLE;
ну и что страшного будет если я передам 5 в конструктор?

да все нормально будет... только он не в 5 элементов создаст .. а в 8 или в 16

а разве не ноль

  /**
     * An empty table instance to share when the table is not inflated.
     */
    static final Entry<?,?>[] EMPTY_TABLE = {};

    /**
     * The table, resized as necessary. Length MUST Always be a power of two.
     */
    transient Entry<K,V>[] table = (Entry<K,V>[]) EMPTY_TABLE;

нет не в коем случае... ноль в принципе быть не может!!!
если «0» то там будет установлена вот эта штука
int capacity = 1;
while (capacity < initialCapacity)
capacity <<= 1;
и «0» просто никак не получается !!! по дефолту он

static final int DEFAULT_INITIAL_CAPACITY = 16;

у меня 0 пока не добавишь элемент
public V put(K key, V value) {
if (table == EMPTY_TABLE) {
inflateTable(threshold);
}
и тд
а в следующей обновлении могут всё переделать

подожди это у тебя метод добавить элемент —

public V put(K key, V value)
это не создание объекта типа HashMap, объект создается когда ты в конструктор передашь параметры , ну или не передаешь , тогда он возьмет параметры по умолчанию, по этому смотри на конструкторы а не на методы .. )))) именно в конструкторах задаются начальные параметры создаваемого объекта, а метод это когда ты уже добавляешь значения в созданный объект!! ты не путай
подожди это у тебя метод добавить элемент
да он самый
объект создается когда ты в конструктор передашь параметры
та я не путаю
этот метод вызывается только с копирующего конструктора(если другую мапу передаёшь)
 /**
     * Inflates the table.
     */
    private void inflateTable(int toSize) {
        // Find a power of 2 >= toSize
        int capacity = roundUpToPowerOf2(toSize);
        threshold = (int) Math.min(capacity * loadFactor, MAXIMUM_CAPACITY + 1);
       table = new Entry[capacity];
        initHashSeedAsNeeded(capacity);
    }
в помойку документации, хвала инкапсуляции
скачай последнею версию ,там мапу подкорректировали
да все нормально будет... только он не в 5 элементов создаст .. а в 8 или в 16
Как уже говорилось это зависит от имплементации, вот в давлике у которого HashMap взят из кода Harmony он именно создаст хештейбл размера 5, так как не вычисляет степень двойки.

а можно привести эту имплементацию... сам код ?? если не сложно

это 1
public HashMap() {
this(DEFAULT_SIZE);
}

это 2

public HashMap(int capacity) {
if (capacity >= 0) {
elementCount = 0;
elementData = newElementArray(capacity == 0 ? 1 : capacity);
loadFactor = 0.75f; // Default load factor of 0.75
computeMaxSize();
} else {
throw new IllegalArgumentException();
}
}

это 3

public HashMap(int capacity, float loadFactor) {
if (capacity >= 0 && loadFactor > 0) {
elementCount = 0;
elementData = newElementArray(capacity == 0 ? 1 : capacity);
this.loadFactor = loadFactor;
computeMaxSize();
} else {
throw new IllegalArgumentException();
}
}

это 4

public HashMap(Map map) {
this(map.size() < 6 ? 11 : map.size() * 2);
putAllImpl(map);
}

а теперь уважаемый покажите в каком из конструкторов вы видите , что объект создастся длиной в 5 элементов??

public HashMap(int capacity) {
Если передать 5, то он создаст массив из 5 элементов для хештаблицы

Да а потом , будет вызван вот этот метод
private void computeMaxSize() {
threshold = (int) (elementData.length * loadFactor);
}
так?

Так, и что?

да я вижу

elementData = newElementArray(capacity == 0 ? 1 : capacity);

тут единственная проверка , что бы значение было больше «0» а дальше создает переданный ему размер в конструкторе ... я и не видел такого кода в джава-доках

согласитесь , что эта конструкция
int capacity = 1;
while (capacity < initialCapacity)
capacity <<= 1;
исключает возможность в своей сути , сделать размер равный 5... так??

Я соглашаюсь, но этой конструкции в коде который я привел нету.

Коллега поверьте J2EE версии JDK 1.7 и Android 1.0 , это тоже что сравнивать Боинг с Параходом ... и тот и тот возит людей но ооочень по разному!!!!))))))))))))))

Коллега поверьте J2EE версии JDK 1.7
Во первых J2EE никакого отношения к jdk не имеет, ты наверное пытался упомянуть Java SE, во вторых как я уже говорил код хешмапа утянут в андроид из jvm Harmony, которая вполне возит кого надо, в третьих ты уже почекал jrockit jvm, azul jvm, ibm jvm, прежде чем делать столь далеко идущие выводы? Или у них тоже запорожцы?

Как вы считаете , я отстоял свою позицию??

Мне кажется ты пытаешься скрыть свой очевидный прокол за спамом.

нет
в последней версии jdk
размер массива равен 0 даже если 5 в конструктор передашь
до тех пор пока не добавишь элемент
так и при чём здесь это

В документации этот момент оговорен и четко сказано , что длинна HashMap может быть только число кратное 2
где оговорено ?и зачем если завтра могут взять и переделать к примеру как в андроиде
то вы в конструктор передаете 5 и JVM вам создаст HashMap длиной в 5
в чём длину правильно мерять по полю size(реальных элементов) по порогу или размеру внутреннего массива?
Как уже говорилось это зависит от имплементации, вот в давлике у которого HashMap взят из кода Harmony он именно создаст хештейбл размера 5, так как не вычисляет степень двойки.
Коллега вы меня путаете и сами путаетесь ... мы тут говорим о J2EE , а вы мне код чего сбросили ??? вы читали ??
аяяяя-яяя!!! внимательней надо быть ))))
@since Android 1.0
причем тут Android да еще и версии 1.0.. )))))

да я наверное архангел, все сам выдумываю , а потом подписываюсь либо Азм есть Царь, ))) либо Джошуа Блохх)))

ну шо Mike Gorchak мануальный тестировщик будешь оправдываться???
Оправдываться перед чем? Каждое моё слово железобетонное. А вот я буду в каждом месседже постить твоё лоховство:

«В документации этот момент оговорен и четко сказано , что длинна HashMap может быть только число кратное 2!!!!»

Оправдываться перед чем? Каждое моё слово железобетонное. А вот я буду в каждом месседже постить твоё лоховство:
все, самоутверждайся железобетонный ты наш , на всю свою голову железобетонный... доказуй маме своей , ты никто!!!
И это единственное место где ты можешь по самоутверждаться потому , что в жизни ты тряпка для мытья особо загрязненных сантехнических узлов , и грех у таких как ты забирать последнюю возможность хоть как то реабилитировать своё «я»... ладно ничтожество пиши все , что хочешь, и в мой адрес тоже ... тебя не существует!!!

Скорую тебе вызвать?

поле со стринговыми путями
ЛОЛ, wtf стринговые пути?

С ходу детально ответить не могу, но, на вскидку бросаются в глаза странные уровни изоляции кэша: read-write и nonstrict-read-write. Я бы исследовал как ведет себя Hibernate при таких уровнях изоляции и использовании second level cache.

Хибер проверяет есть ли у базы мастер управления транзакциями и как в этом мастере реализованы изоляции ... ну понятно база в зависимости от уровня изоляции накладывает ограничение на работу с таблицей ... это вроде , как бы понятно, но ведь мы пишем не в базу а в объект в хипе , а в хипе кто нам гарантирует неизменность объекта ?? я же в принципе могу обратиться к тому же объекту по другой ссылке (мы же можем хранить несколько ссылок на один объект) ведь я же не контролирую ОРМ записал он в базу или только в свой кеш записал ... фактически не я транзачу а Хибер

Хибер проверяет есть ли у базы мастер управления транзакциями и как в этом мастере реализованы изоляции ...
Стойте.
1. База видна через JDBC (java.sql.*/javax.sql.*). Через метаинформацию много чего видно, но того, что вы говорите там, как я помню, нет. Есть 4 стандартных уровня изоляции: TRANSACTION_READ_COMMITTED, TRANSACTION_READ_UNCOMMITTED, TRANSACTION_REPEATABLE_READ, TRANSACTION_SERIALIZABLE. Также JDBC Driver может поддерживать XA.
2. TransactionManager — это класс из JTA (javax.transaction.*). Если JDBC Driver поддерживает XA, то он производит XAConnection, которые можно регистрировать в TransacvtionManager, который за уровни изоляции не отвечает, а только делает 2PC (Two Phase Commit).

Ваня смотри, есть такая " Spring 3 для профессионалов" (авторы — Кларенс Хо, Роб Харроп ) книжка на русском и английском языках , там это разрисовано на 477 странице , на рутрекере она точно есть в обоих вариантах ... ну если надо могу в скайп или на почту скинуть ... и там описано как это работает " Третий участник — это диспетчер транзакций JTA. который отвечает за управление, координацию и синхронизацию состояния транзакции со всеми диспетчерами ресурсов, принимающих участие в транзакции. При этом будет использоваться протокол ХА. который представляет собой открытый стандарт, широко используемый для обработки распределенных транзакций. Диспетчер транзакций JTA также поддерживает 2РС. по этому все изменения будут фиксироваться вместе, и если обновление любого ресурса дает сбой, производится откат всей транзакции, в результате чего ни один из ресурсов обновляться не будет. Весь механизм целиком описан в спецификации Java Transaction Service (JTS).

ключевая фраза вот она "

который отвечает за управление, координацию и синхронизацию состояния транзакции со всеми диспетчерами ресурсов, принимающих участие в транзакции
"
Не могу найти в какой именно момент, кто за, что отвечает, и как можно управлять этим процессом
Судя по этой фразе я так понимаю , что транзакции вообще управляются на уровне основного модуля программы , если это не так , как он сможет обеспечить перечисленный функционал???
а на уровне чего блокирует Spring
Тут, как понимаю, Spring ничего не блокирует. Он только предоставляет более удобный доступ к реальному TransactionManager.

честное пионерское !!! не могу понять , чего добиваются люди сидя на этой странице и рассказывая какие хорошие курсы Ткача и мирончика , причем сам не отрицает того, что JAVA совершенно не знает???? Ума не приложу ... это такая неудачная акция антирекламы ??? Из своих трудов у них только гадости в чужой адрес ... а чего они уже добились , в смысле у себя по жизни ... или жизнь их на «0» помножила и тут у них теперь единственная точка отрыва???

Шел с утра пить горячий шоколад в «Львовскую Мастерскую Шоколада» и увидел на столбе наклейку какой-то радикальной группировки — «Смерть буржуям».
И как-то не сразу сообразил, что этот самый Буржуй, которого надо резать, вешать и прочее — это я с женой и сыном. Сижу такой себе красивый, какаву попиваю, пока Трудовой Народ под ярмом буржуйским стонет ...

Купи БТР, езди на БТРе и чувствуй себя военным!!!! )))))
А вообще то идея такая , кто работает, тот и ест , кто много работает, тот много ест... а кто не работает, тот и не ест!! И за все , совершенно за все в этой жизни надо платить, и пора к этому привыкать!!! А не лежать на кровати и ныть как все вокруг хреново и не справедливо, а всех кто в 10 раз больше тебя зарабатывает тупо ненавидеть ... и не важно, что возможно тот человек в 4 раза сильней тебя интеллектом и в 5 раз больше работает, он сволочь и гад только потому , что он больше получает!!! Ну нас так воспитывали ... равенство и братство ... и тем самым угробили целые поколения ...

Работать нужно не много, а умно, и все наладится. Подумай над этим.

кто работает, тот и ест , кто много работает, тот много ест... а кто не работает, тот и не ест!!
Ну вот белые тоже так думали до 1917 года, но потом оказалось, что «за бортом» оказалось достаточно людей (красных), что бы сделать революцию.
Как предприниматель, я конечно же «республиканец», но как внук, сын и гражданин — чуть-чуть и «демократ»:)
Ну нас так воспитывали ... равенство и братство ... и тем самым угробили целые поколения ...
Ну «угробили» — это слишком сказано. На сегодня (бСССР) мы занимаем в мире примерно то же самое положение, что и до революции. Так что нельзя сказать, что нас куда-то «назад» отбросило. Да, больше людей, полагающихся всецело на государство. Но и умеющих читать/писать больше:)

Народ а кто еще свои курсы сделал и выложил ... вот только он имеет право критиковать кинуть ссылку и показать как именно надо!!! а так на кресле пиная ноут все такие мастера и герои!! А по поводу 400 баксов ... вот вам моя подсказка сделайте лучше за ту же цену или дешевле и также и люди к вам потянуться ... но смысл такой надо не в топиках плакаться а пахать )))

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

тут в соседнем теме предлогают вообще от литературы отказаться
мол за тебя на стэковерфлов всё решат

пойми одно !! каждый решает за себя сам ... и только он отвечает за каждое свое действие

пусть решают, мне то что
тем более что формочки клепать много знаний не надо

да можно прочитать ... я так и делал ... но далеко не все и всегда понятно... в большинстве книг теорию глубоко не дают а как правило пример и текст на пол странички который якобы что то нам должен объяснить ... но из личного опыта и собственных наблюдений за другими людьми еще не видел ни одного бойца который прочитав Хорстмана или Эккеля самостоятельно разобрался с многопоточностью... или с коллекциями
... хотя это мой опыт

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

да ладно заливать ,тоже самое я могу накинуть про курсы
ты так говоришь потому что сам преподаёшь

Не думаю, что для критики необходимо создавать конкурентный продукт.
Просто создание реальной вещи требует значительных затрат времени, усилий и прочее. Когда указывают на пробелы в организации, то для меня это — не конструктивно. Понятно, что у «1+1» и освещение было бы лучше, и диктор не ругался, и сайт — красивее.
Было бы интересно услышать советы по материалу, литературе.

О какой конкуренции ты говоришь.... захочешь посмеяться напиши мне ... я тебе дам конкретные ссылки на курсы мирончика и Ткача , где эти достопочтенные джентльмены такую пургу несут ... смех и грех.. так что пока в JAVA ты лучший ... может не такой раскрученный ... но реально лучший о чем свидетельствует высказывание одного из архитекторов не без известного тебе <epam> , который разрешил готовиться к собеседованию в их фирму по следующему перечню материала автор — Гловач «Java Core + Java Junior » и автор Хорстман Core Java 2, 7th Edition и авторы Кларенс Хо и Роб Харроп — «SPRING 3 ДЛЯ ПРОФЕССИОНАЛОВ »
Вот как то так ... а на все остальные русскоязычные курсы он грязно выругался )))) если будет интерсно кто это из <epam> дашь какой нибудь адресок я в личку или на почту скину ... в общак фамилии не хорошо писать...))))))))))

Ну если с Хорстманном ставят рядом на полку, то это приятно:)

на мой взгляд заслуженно!!! А по многопоточности ты просто «красава » waitset, blockingset... об этом часто спрашивают но ни где в нете ни на форумах, ни в видео уроках , ни в книгах не встречал. Так что благодарность очень даже обоснованная!

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

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

Да это как-то непонятно образовавшиеся «темные области в информационном пространстве»:
— wait-set/blocking-set/wait()/notify()/notifyAll()
— рекурсия (скажем выполнять что-то на возврате вычисления Фибоначчи)
.
И темы то не сложные, но авторы всех учебников как-то одним разом это опускают.

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

Смейтесь... достаточно посмотреть как Мирончик работает с коллекциями , как он рассказал многопоточность, как красноречиво он её показал и всё сразу становится ясным ... ну да ладно нравится смотри никто же не запрещает . Вот только на собеседовании то, что Мирончики рассказывают лучше не повторять , а то есть вариант, что собеседующий может знать JAVA-у и твое собеседование на 3-м вопросе будет законченным , а в конце с лёгкой улыбкой попросят показать JAVA-док и где там написано то что ты только что изрек??? Тоже самое могу сказать за Ткача — он в своих рассказах по JAVA допускает очень много ошибок и неточностей , если их повторять то любой здравомыслящий Тимлид на 3-м промахе начинает сильно нервничать, и собеседование заканчивается фразой ..." Мы Вам , возможно..)))... обязательно перезвоним..))"...

Ты бы рассказал на пальцах что именно у Мирончика не так, а то пока что одни высеры и эпитеты получаются.

я вот не пойму, кто он такой, тут вроде приличный контингент сидит, и бац пришел сюда гопник какой то, ... советы на лево и на право раздает, наверно в подвале без ПК сидел, не было с кем поболтать ...

Я никому , ничего не собираюсь рассказывать , я просто предупреждаю там очень много ошибок , автор (Мирончик)— некоторых тем, которые он рассказывает , даже отдаленно не понимает о чем говорит !!!
А вот вам мой совет берите книжечки(проверенные , признанные, хорошие) , а лучше документацию кладете перед собой запускаете урок Мирончика смотрите документацию, там где Мирончик говорит не по документации Он ошибается ... это мой труд , я ничего вам показывать не буду...))))))

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

А ты не будь таким впечатлительным!!! Гляди и до пенсии доживешь...

и еще может пригодиться для изучающих некий аналог МСДН на русском для Java вот ссылка пользуйтесь spec-zone.ru/...Java/Tutorials

Специализированные Следы и Уроки
Это оракловские туториалы переведенные гугл транслейтом похоже

spec-zone.ru/...tial/io/cl.html не похоже что тут гугловским переводчиком переводили

Похоже кое что таки перевели руками.

Спасибо, не знал. всегда советовал английский вариант.

Ваня посмотри еще и это devcolibri.com начинающим мини справочник ... на мой взгляд не плохой

Спасибо, может своим буду что-то отсюда советовать.

Иван моя оценка, как преподавателя ВТУЗа ваших лекций Java Core + Java Junior + (Дженерики + XML ) в качестве дополнительных лекций из 5 возможных я вам поставлю таки «6+» ... Это редчайший случай когда практик, так рассказывает как Вы !!! И это не лесть , это правда!! Огромное вам спасибо за то что выложили в паблик столько и такого материала, посте таких лекций и книжки хорошо читаются, а главное ты уже понимаешь о чем читаешь, скажу более если самостоятельно проработать материал тот который выложен по Java Core + Java Junior этого достаточно для трудоустройства!! Сам решил просмотреть эти два курса , в них очень много полезного материала, которого очень сложно найти да ещё и на русском!!
Ещё раз огромное спасибо!!!

Спасибо, надеюсь это кому-то поможет.

небольшой совет как практикующего преподавателя практикующему преподавателю все у тебя замечательно ... только часто ругаешься «до чёрта» и «чёрт его знает» постарайся убрать эти фразы из лексикона, знаю сложно. А вообще очень интересно тебя слушать, чувствуется эрудиция

Он еще и матом может, по рассказам очевидцев.

что то мне подсказывает , что и вы сударь тоже матерщинник ещё тот ... да и я тоже чего греха таить ))))

Да, есть.
Тут проблема в том, что лучшего усваивания знаний их необходимо окрашивать эмоциями. Эмоции — это маркеры для памяти, человек запоминает то, что его рассмешило, напугало, поставило в тупик.
Мне тяжело дается быстрое «окрашивание в черные цвета».
Когда рассказываешь про две-три практики, а потом хочешь показать, что одна из них негодная (плохая производительность, масштабирование, архитектура, ...). Вот надо ее как-то «отругать».
У писателя есть часы, что бы правильно описать плохого героя, тревожную ситуацию и т.д. А тут надо на лету сочинять.

Это да, это есть.
У нас с преподающими друзьями даже игра такая была — «А как бы сказал Пушкин»:)
Скажем вместо «что за галиматью ты написал, выкинь это к такой-то бабушке» подумать, а как бы выразился Пушкин? :)

скажу более если самостоятельно проработать материал тот который выложен по Java Core + Java Junior этого достаточно для трудоустройства!!
На это и расчет.
Конечно, это не энциклопедия, не справочник и не эталонный курс с точки зрения построения программы. Но я стараюсь его ориентировать именно на получение первой работы после короткого «трамплина» в 3-6 месяцев.

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

В первой же строчке поста product placement с курсами за 400 баксов ))

а какая реклама ??? Ютаба ??? ты можешь их взять бесплатно!!! скачать с ютаба, это не сложно, просто не будешь делать лабы , и тебе не предложат в конце курсов собеседования в нескольких (количество не знаю) фирмах. НО есть куча сайтов где лежат задания, возьми пройди их, а на фирмы сам можешь позвонить и сказать что хочешь пройти собеседования и в 90% из 100 тебя пригласят , лучше будет после Java Core + Java Junior самому запилить пару не сложных веб проектов в качестве своего мини портфолио... И кого я про рекламировал??? Иван поделился своими знаниями бесплатно ... а чем поделились вы со всеми???

Тем не менее меня одолевают смутные ощущения что Иван вряд ли бы записал столько лекций и выкладывал бы их на ютуб, если бы у него не было бы курсов за 400 баксов ))

у Антона Сабурова тоже есть курсы и тоже не первый год вот java-course.ru/courses ссылочка ну вы их нигде не найдете ... а интересно было бы посмотреть не правда ли?? Да и не все в Питер могут мотнуться как в принципе и в Харьков но Антон ничего подобного не сделал!!!

Это потому что у Ивана и Антона разные маркетинговые стратегии продвижения курсов со своими преимуществами и недостатками ))

На мой взгляд Иван Головач эрудированный и очень профессиональный IT инженер , но не торгаш .. маркетинг это часть торговли !! Торгаш 2-а таких мощных курса не выложил бы за спасибо на ютаб ... подумайте над этим )))

По поводу торгаша я не согласен, Иван продавать себя вполне умеет, и лекции он не за спасибо выложил, а как способ привлечения клиентуры на курсы за 400 баксов. Его кажется тут просили еще и лабы выложить, но на этом меценатство закончилось, нужно платить 400 баксов.

Вы считаете того что он выложил мало??

Мало для чего?

Можешь говорить «спасибо» на здоровье, я как бы не запрещаю.

я в шоке человек вам просто так в ютаб выложил около 56-60 лекций Java Core + Java Junior + (Дженерики + XML ) +ООП и Collection поразному рассказывались и того около 60, что окло 120 университетских лент, причем материал отобран отжат и лишен бесплотной теории и этого реально достаточно для трудоустройства проверено и тут на тебе «400 баксов» и «лабы выложи бесплатно », а может еще и мерседес подарить??? 120 лент это 3 а то и 4-х семестровый очень насыщенный университетский курс ... И что то я тут не вижу толпу универов выкладывающих свои лучшие специализированные курсы в паблик на ютаб или куда еще можно, и стоимость обучения в ВУЗах на IT-ных специальностях 8-10 тыс. грн в год + общага + поборы разные, да и нет на памяти того , что бы можно было прийти и с 10 лент посидеть в универе за партой, посмотреть шо там это препад парит, ... а парят там такое иногда ... что на ютаб срамота одна выкладывать ))) ... Привыкайте за все надо платить !!!! А корысти я у Ивана вообще не увидел ... его видео лекции просто находка

я в шоке человек вам просто так в ютаб выложил около 56-60 лекций Java Core + Java Junior + (Дженерики + XML ) +ООП и Collection поразному рассказывались и того около 60, что окло 120 университетских лент, причем материал отобран отжат и лишен бесплотной теории и этого реально достаточно для трудоустройства проверено и тут на тебе «400 баксов» и «лабы выложи бесплатно », а может еще и мерседес подарить???
Я не понял чего именно ты от меня хочешь. Я теперь должен «ку» три раза делать?

неее просто эта фраза "

Его кажется тут просили еще и лабы выложить, но на этом меценатство закончилось, нужно платить 400 баксов.
" меня реально удивила

А что именно тебя удивило. Я какую то неправду написал?

не за спасибо выложил
Как раз за спасибо.
меценатство закончилось
Тут да, я не настолько богат, что бы работать бесплатно.
но не торгаш .. маркетинг это часть торговли !! Торгаш 2-а таких мощных курса не выложил бы за спасибо на ютаб ...
Просто есть разные стратегии продвижения на рынок и разные формы структурирования рынка.
Стратегия на начальной фазе раздавать продукт (или часть продукта) бесплатно — освобождает от затрат на продвижение.
На счет структурирования — будущее за online-обучением. Оффлайн-курсы не умрут. Но в условиях сильной конкуренции с качественным онлайном будут выдавлены в маргинальную нишу. Преподающий тысяче будет обладать в принципе иными ресурсами (бюджет денег и времени, админ-аппарат, подготовка материала), чем преподающий десятке.
С чего-то надо начинать для создания своей Coursera. Можно сказать видео — это пробный шаг в этом направлении.

В точку.

Я бы просто физически не мог бросить работу и в течении года «учить интернет» основам Java.

Выложенное видео на youtube — это «побочный продукт» курсов. Нет курсов в реале — нет никакого свободного видео. Тут, как бы, нет секрета. Видео на трубе — ЭТО ЗАПИСИ КУРСА В РЕАЛЕ.
То, что видео в свободном доступе — мое стратегическое решение как собственника и руководителя:
1. Сарафанное радио, бесплатная реклама.
2. Если я решу закрыть курсы, то хоть что-то останется "потомкам"/"сообществу"/"комьюнити".
3. Просто приятно делиться. Надоело писать безликий код в безликих проектах имя которым легион.
Я не самый лучший программист и пишу не самый лучший код. А тут эпическая битва на просторах рунета за первенство в преподавании java core:).
Ткач, JavaRush, KharkovITCourses. В тройке. Если собраться, подумать, набрать 10.000-20.000 подписчиков — то лидирование на этом рынке.

С трудом понимаю, вы меня вините в цинизме и двуличии? Или в чем проблема?
Как понимаю, вы — хороший программист, любите это дело, при этом за это получаете 8к-10к в месяц. Вам не кажется что это «любовь за деньги»? Мне, например, нет.
Аналогичная ситуация у меня, я люблю преподавать, люблю программирование, интересно создать и руководить бизнесом. Есть свободная часть — та, что лежит на youtube, есть платная — сами курсы. Как наличие платной части влияет на качество бесплатной?
Аналогичная ситуация, певец выкладывает в свободный доступ свои записи, а зарабатывает на концертах, в «реале».

С трудом понимаю, вы меня вините в цинизме и двуличии? Или в чем проблема?
Может просто не стоит додумывать то чего нету?

Может не стоит отвечать вопросом на вопрос?:)

Почему?

Спасибо вам за курсы, а именно благодарен за публичные лекции... Читая с месяц Эккеля и Шилда образовались огромные дыры в полотне понимания от простого к сложному. Проблема в отсутствии практики, невозможностью создасть себе «программу» для закрепления сухой теории (синтаксиса) из этиг книг и как следствия закрепления пройденного.
Вы действительно отлично(super) излагаете материал, хотя для меня часто порог вхождения колебался как синусоида, то сложновато, то очень просто ... возможно физ-мат дал навыки и развил логику или осадок книг.
Хочу отметить, что Вы совершенно противоположны таким циничным людям, которые не сделали ничего подобного, обладающие завышенным ЧСВ, позволяющие себе тролить, хамить и тратить чужое время отвечая на их бесконечные колкие вопросы. (if you know what i mean)
Спасибо.

Хочу отметить, что Вы совершенно противоположны таким циничным людям, которые не сделали ничего подобного, обладающие завышенным ЧСВ, позволяющие себе тролить, хамить и тратить чужое время отвечая на их бесконечные колкие вопросы. (if you know what i mean)
Жесть, только упомянул что эти лекции часть рекламной компании Ивана, с чем он вроде как сам согласен, и столько вони поднялось. Вот уж воистину удивительна натура человека.

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

ора бы выложить на ютюб свой хакингкурс и тогда воспоют хвалебные оды в твою честь
Я не жажду славы. Я простой, скромный гений ))
питон — вырви глаз
а руби тормоз
Ты же уже все написал
Проблема в отсутствии практики, невозможностью создасть себе «программу» для закрепления сухой теории (синтаксиса) из этиг книг и как следствия закрепления пройденного.
Проблема будет решена в ближайшее время.
JavaRush сделали какую-то практику (сам не смотрел, говорят 550 заданий уже).
Я в ближайшее время подумываю каким образом открыть доступ к тестовой системе и автоматической проверке лабораторных.

это я по поводу вашего высказывания....
Мой курс (Головача), скорее всего
1. Длиннее чем остальные и более полный — 24 лекции по 2.5-3 часа.
2. Более сложный, так как я начинаю не с самого нуля, а считаю, что слушатели уже достаточно много знают.""

Моя характеристика относится к сравнению Java Core курсов, доступных на рынке.
Т.е. начальные условия — человек прочитал Хорсманна/Эккеля, но собеседования проваливает из-за поверхностности знаний.
Для примера:
1. Не может ответить на вопрос — «Как работает HashMap, если hashCode() {return −1;}»
2. «Можно ли перехватить OutOfMemoryError, ведь оно unchecked?»
3. «Как связаны между собой synchronized+Object.wait()+Object.notify()+Object.notifyAll()»
4. «Расскажите про классы GZIPOutputStream, DataInput, StringWriter»
.
Я не имел в виду более продвинутые курсы, где сразу говорят —

Обзор необходимых для понимания курса технологий — Java, JavaBeans, Reflection, Annotation, JDBC, SQL — 1 час
т.е. видимо, слушатели уже знают этот материал, раз обзор. WEB-технологии идут без ServletAPI, так как, видимо, знают.

java-course.ru/...courses/javase
Программа обучения:

Общие приниципы построения и работы программ. Компилятор javac, java-машина. Основы работы с IDE NetBeans. Основы работы с IDE Eclipse. Первая программа HelloWorld — 4 часа
Элементарные типы данных. Что такое Объектно-ориентированный язык (ООЯ). Классы и объекты — 4 часа
Основные конструкции для управления ходом программы: операторы, условия, циклы, выбор — 4 часа
Массивы — сложные структуры хранения данных. Примеры работы с массивами — 4 часа
Абстрактные классы. Интерфейсы — 4 часа
Исключения. Что это такое. Работа с исключениями. Классы Object, String, Date — 4 часа
Практические занятия по закреплению конструкций, массивов, классов — 4 часа
Понятие Reflection. Аннотации — 2 часа
Система ввода/вывода — 6 часов
Потоки (threads). Работа с потоками. Синхронизация — 4 часа
Внешние библиотеки. Примеры подключения — 2 часа
Программирование запросов по сети. TCP/IP. Примеры использования сокетов. Практическая работа — 6 часов
Generics. Коллекции. Практическая работа — 4 часа
Базы данных. Теория. Основы реляционных баз данных — 4 часа
SQL — основные команды. Практические занятия — 4 часа
Что такое JDBC. Работа с базами данных из Java. Практические занятия — 4 часа
Основы WEB. Web-сервер Tomcat. Протокол HTTP. Язык HTML. Практические занятия — 2 часа
XML — язык структурирования данных — 2 часа
Создание Web-приложения в NetBeans. Инсталляция приложения под Tomcat. Основы сервлетов — 4 часа
Создание сервлетов. Основные фазы. Основные интерфейсы. Фильтры — 4 часа
Что такое JSP (Java Server Pages). Подключение custom tag. Основы JSTL — 4 часа
...
Вот их курс, соответствующий моему Java Core. Т.е. то, что вы указали — уже следующий уровень.

Иван а как вы прокомментируете это
Программа обучения:

Обзор необходимых для понимания курса технологий — Java, JavaBeans, Reflection, Annotation, JDBC, SQL — 1 час
Схема построения Enterprise-приложения и процесс создания программ — 3 часа
Принципы Unit-test, JUnit — 2 часа
ORM (Object Relation Mapping) — основные идеи, принципы и назначение — 1 час
Hibernate — XML, Annotation, Наследование, Paging, HQL — 7 часов
JPA — Java Persistance API — 2 часа
JDO, iBatis — 2 часа
Spring — IoC, AOP, Database, Testing (Mock) — 6 часов
Guice — 4 часа
EJB — JNDI, J2EE Server, Session Bean, JMS, Message Driven Bean — 6 часов
Web Services — SOAP, ReST — 4 часа
Business Process Management (jBPM) — 2 часа
Вводная информация для курса WEB. Возможности Java EE 1.6 — 2 часа
Spring — Web-MVC — 4 часа
Пакет Struts (1.x, 2.x) — 4 часа
JSF — Java Server Faces — 4 часа
Пакеты компонентов для JSF — ICEFaces, RichFaces — 2 часа
Пакет Velocity — 2 часа
Пакет Tapestry — 2 часа
Пакет Wicket — 2 часа
Пакет FreeMarker — 2 часа
Основы технологии порталов. Портлеты — 2 часа
Вводное занятие по JavaScript, принципы AJAX — 2 часа
Пакет jQuery — 2 часа
Пакет Dojo — 2 часа
Пакет Direct Web Remoting (DWR) — 2 часа
GWT — Google Web Toolkit — 2 часа
Vaadin — 2 часа
ZK — 2 часа

Длительность курса: 80 ак.ч. (10 недель)
Стоимость курса: 18000 руб. Состав группы 8-10 человек.

Для предварительной записи нужно выслать на e-mail «AntonSaburov@yandex.ru»: Название курса, ФИО, e-mail и телефон для связи.
Для Вас будет зарезервировано место (если будут места) и ближе к дате начала будет рассылаться подробоная информация как заключать договор и когда и куда приходить.

Планируются следующие группы:

Понедельник и Четверг — 23 сентября (12 человек — группа набрана). Время — с 19:00 до 22:00
Понедельник и Четверг — декабрь 2013 (3 человека). Время — с 19:00 до 22:00

Занятия проходят 2 раза в неделю по 4 ак/часа по адресу: Санкт-Петербург, Малоохтинский пр. д. 68, метро «Новочеркасская», (дом выходит окнами на набережную Невы)

Сливаем видео-курс на ютуб, пусть люди оценят качество курса и студенты будут рады =)

как только он у меня будет так сразу и солью

Java, JavaBeans, Reflection, Annotation, JDBC, SQL — 1 час

— это жесть...

наверное забыли просто еще дописать что-то вроде hadoop, MapReduce — 0.25 часа...

я очень хотел бы прочитать комментарий Вани Головача!!
Курс Middle Java Programmer (в разработке)
........Hibernate
........Spring
........JSF, RichFaces
........jQuery
согласитесь тут все значительно скромнее... но по всей видимости гораздо глубже )))

Так в разработке же. Чего придираться к сырому проекту? И где хоть какая-то ваша ссылка, кстати?

google дает такую ссылку — www.bazis.ru/java_prof.php и такую java-course.ru/...courses/javaee.
Видимо, лектор читает в двух местах.

Курс находился в разработке и был «зарезан» на ранней стадии, надо почистить сайт от старой информации.

Была идея «подтягивать» Junior до Middle.
Для этого брался один признанный framework из каждого уровня EE-приложения (browser, server front-end, business-logic container, orm/rdbms) и по каждому читалось 6 лекций (т.е. около 15-20 часов на framework). Все это показывалось на примере ОДНОГО проекта, т.е. 4 framework внедренные в один проект и работающие вместе.
.
Однако по ряду причин (мало желающих + сложность подготовки) разработка курса не вышла из ранней стадии.
Сейчас в рамках Junior Java Developer я пишу проект на ServletAPI+Spring+JDBC, а на последних лекциях решаю аналогичные задачи с использованием SpringMVC+Hibernate.

Самые жуткие темы для собеседования, с которыми, лично я все время сталкивался— это
1-я Hibernate (JPA) +JDBC
2-я Java Collections
3-я Java Multithreading
Это я тебе к размышлению о курсе «Junior Java Developer » причем в крупных компаниях я не буду их сейчас перечислять, ты их и так знаешь, Hibernate (JPA) +JDBC — самая любимая тема на собеседовании, к примеру и изоляция транзакций и наследование в JPA и кеш 1-го и 2-го уровня Hibernate и связка двух ORM в одном проекте Hibernate + MyBatis и жизненный цикл «Объекта» и его состояния (Persistence , detached, transient )... и это так по верхам ))))

1-я Hibernate (JPA) +JDBC
Ну тут понятно, никто перед собеседованием «Java Persistence with Hibernate» не перечитывает (876 страниц).
3-я Java Multithreading
Тут тоже понятно, «Java Concurrency in Practice» (еще 800 страниц) не охота перечитывать.
Но какие проблемы с коллекциями? Что там могут быть за каверзные вопросы?

Не видя видео (или кода), мне тяжело сделать выводы.
Однако я не понимаю с какой целью в каждой нише читается несколько конкурирующих библиотек:
1. ORM: Hibernate, JPA, JDO, iBatis
2. Container: Spring, Guice, EJB
3. Web: Spring-MVC, Пакет Struts (1.x, 2.x), JSF( ICEFaces, RichFace), Velocity, Tapestry, Wicket, FreeMarker, Портлеты, GWT, Vaadin, ZK
4. JavaScript: jQuery, Dojo, DWR
Единственный случай, когда это разумно — гиперинтенсивные курсы для сеньоров. Но, для этого нужен аномально высокий уровень лектора. Необходимо делать глубокий сравнительный анализ различных подходов к решению каждой задачи.

Хочу на курсы записаться, а никто нигде не отвечает...Набор не производится, что ли?На сайте написано 15 числа каждого месяца.

Приношу свои извинения.
У нас все в отпусках.
Я уже вышел, мой скайп — ivangolovach.

Иван, хочу сказать Вам от лица всех студентов — огромное спасибо!)

Пожалуйста, учитесь на здоровье:)

Кстати, не могли бы пожалуйста вкратце рассказать, что планируется провести 27.09, и что собой будет представляет «ХПИ Java club»?Заранее спасибо)

Ого! Круто! Только как узнать что «лучше» или полезнее ?

Из вещей, которые не часто рассказывают на видео:

1. В районе последних (3-4) лекций по исключениям я рассматриваю нововведения в Java 7: try-with-resources, multi-catch, more precise rethow.

2. Обычно на второй лекции по коллекциям я рассказываю про правильную реализацию метода equals, метода hashCode и их согласованность между собой. Суть в том, что можно не просто сравнивать все поля, а определять и иные отношения эквивалентности, полезные на практике. Я рассматриваю пример с анаграммами, т.е. метод equals не различает строки, полученные одна из другой перестановкой букв. И это математически корректный метод equals. А вот equals на точках плоскости:
class Point {
....double x;
....double y;
....public boolean equals(Object ref) {
........// пропущены проверки на null и соответствие классов
........Point that = (Point) ref;
........double dX = this.x — that.x;
........double dY = this.y — that.y;
........return dX * dX + dY * dY <= 0.001;
....}
}
математически некорректен (нарушается транзитивность).

математически некорректен (нарушается транзитивность).
Он и машинно неверный, эпсилон некорректный.

Вы имеете в виду ошибки связанные с тем, что double не абсолютно точно представляет R («ошибки округления») или возможность переполнения double?

Да, именно первое, неправильный эпсилон и неправильное употребление.

Классная подборка. А кто-нибудь может посоветовать с какого из курсов стоит начинать? Чем например Java Core от Головача отличается от курса Корнеева?

начни с официального туториала (если не знаком с синтаксисом и общими вещами) и переходи на видео от Ивана Головача

если прочесть официальны туториалы, то головач какбэ не нужен, там и так все есть уже

одобрямс, каждый делает как ему лучше и это правильно

Как всегда — простое, провокационное и совершенно бестолковое замечание от reality_hacker.
По существу. Мой курс — это не описание Java API, это именно «курс», который готовит слушателя к профессиональной работе.

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

в туториалах от оракла описывают далеко не только АПИ
А ну давай пример в студию.

generics это API?

Ок, это синтаксис языка.
Что есть в туторах кроме синтаксиса (generics, try-with-resources, ...) и API?

Несколько слов о наследовании и полиморфизме, а так ты прав, алгоритмов нету.

В «Effective Java», скажем, так же сказано, что equals() - должен порождать отношение эквивалентности:
— симметричное
— рефлексивное
— транзитивное.
Кажется, что это заумствование. Однако, без этого небольшого уровня абстракции тяжело иметь серьезное «внутреннее обоснование» того, что business bean может не включать произвольное поле (transient?) в equals, но все будет Ок.
А про это в туторах не слова.

Ну об этом же прямо написано в джава доке.

Итак, понеслась. Приведите, пожалуйста, ссылки на java tutorial с сайта Oracle, по которым рассказывается:
1) Модуль Procedural Java, Lecure 1: Iteration — о алгоритмах сортировки вставками, выборками, пузырьковой.

Модуль Procedural Java, Lecure 1: Iteration — о алгоритмах сортировки вставками, выборками, пузырьковой.
Смешно, тебе не кажется что название содержит несколько взаимоисключающие абзацы?
Ну и базовые алгоритмы изучаются в туториалах по базовым алгоритмам а не по джаве, например вот в этом: introcs.cs.princeton.edu/...va/23recursion

Т.е. ты признаешь, что в моих лекциях БОЛЬШЕ материала, чем в туториалах от оракла?

Нет, четкое вхождение множеств думаю сильно не наблюдается.

А я и не утверждал, что туторы оракла — собственное подмножество моих лекций. Я утверждаю, мои материала — не собственное подмножество туторов. Я убрал то, что реже требуется в жизни/собеседовании и добавил то, что чаще нужно.

Туториалы сделали тоже самое, но у тебя с программистами оракла разные взгляды на это, например касательно phantomreferences.

Эээ... Я кажется понял в чем недоразумение. Я не рассказываю детально и тем более не требую знать и использовать PhantomReference.
В рамках рассказа про методы java.lang.Object я рассказываю о том, что finalize() немного не оправдывает надежды и редко используется (в отличии от, скажем, equals). И, поверхностно, упоминаю, что взамен finalize пришел PhantomReference.

А WeakReference и SoftReference (не всегда, только когда успеваю) привожу в качестве примера при рассказе о работе GC. Когда привожу противопоставление двух алгоритмов: подсчет ссылок и поиск достижимых, говорю, что в JVM — поиск достижимых и, заодно, привожу примеры разной «степени достижимости».

2) Модуль Procedural Java, Lecure 2: Recursion — о рекурсивном вычислении чисел Фибоначчи, рекурсивной генерации всех перестановок и Ханойской башне.

3) Модуль Procedural Java, Lecure 3: Dynamic Data Structures — о итеративных и рекурсивных реализациях различных функций на односвязных списках и деревьях.

4) Модуль Procedural Java, Lecure 4: Memory in Java — о проблемах метода finalize() и его замене на java.lang.ref.PhantomReference.

Я уже лет 10 не видел что бы кто-то юзал finalize, зачем это?

Блин, ты вообще въезжаешь в контекст беседы? Это курсы — ДЛЯ НАЧИНАЮЩИХ! Ты — заканчивающий. Ты знаешь, что finalize() не используется в жизни, но начинающий видит в Object кучу методов: equals(), toString(), wait(), finalize() ... о которых спрашивают на собеседовании и которые выглядят (так как в корневом объекте) как всеми используемые.
Так вот, раз finalize() никто не использует, то надо объяснить ПОЧЕМУ.
Надо объяснить, почему рекомендуется идиома
try {
// do something
} finally {
// close all here
}
или более современная для этих целей
try (AutoCloseable resource = ...) {
// do something
}
или в случае неизбежности — PhantomReference.

Блин, ты вообще въезжаешь в контекст беседы?
А че ты такой резкив Ваня. Жена не дает?
Так вот, раз finalize() никто не использует, то надо объяснить ПОЧЕМУ.
Надо объяснить, почему рекомендуется идиома
try {
// do something
} finally {
// close all here
}
или более современная для этих целей
try (AutoCloseable resource = ...) {
// do something
}
или в случае неизбежности — PhantomReference.
Все правильно, и даже про finalize можно обьяснить что его юзать не надо, а вот про то что его нужно заменять PhantomReference уже не обязательно, особенно новичку. PhantonReference я вообще никогда не видел что бы кто-то юзал и как то совсем не представляю зачем он может быть нужен.
как то совсем не представляю зачем он может быть нужен.
Ты реально не понимаешь когда нужен PhantomReference?

А можно real world пример?

и даже про finalize можно обьяснить что его юзать не надо
Ну так я это и объясняю, а в туторах об этом ни слова. Да, есть другие места, где это объясняется. И когда ты работаешь более 5 лет, то находишь эти места и воспринимаешь это как очевидное.

Ну кое что написано:


The finalize() method may be called automatically by the system, but when it is called, or even if it is called, is uncertain. Therefore, you should not rely on this method to do your cleanup for you. For example, if you don’t close file descriptors in your code after performing I/O and you expect finalize() to close them for you, you may run out of file descriptors.

Мужики, а в чем проблемы с финалайз???

Мужики, а в чем проблемы с финалайз???

1. Время вызова метода finalize не определено. Более того, он может быть не вызван вообще (в случае, если памяти с избытком).

2. Его вызывает неконтролируемый нами поток. Скажем, что будет, если finalize содержит
while(true);
?
Мы «повесим» поток GC? И что будет делать поток, запустивший повисший поток? И сколько их, этих потоков?

3. Исключений из finalize — уходят в никуда. Из обычных потоков — таки можно хватать через Thread.UncaughtExceptionHandler

4. Ссылку на объект можно опубликовать из finalize и тогда объект снова становится достижимым. Повторно GC его таки уберет, но повторного вызова finalize уже не будет.
Публикование может произойти из-за косяков в сторонних библиотеках (наверное).

И так по каждой лекции. Я даю намного больше материала чем есть в Java Tutorial-ах от Sun/Oracle в тех темах, которых касаюсь.

Мой курс (Головача), скорее всего
1. Длиннее чем остальные и более полный — 24 лекции по 2.5-3 часа.
2. Более сложный, так как я начинаю не с самого нуля, а считаю, что слушатели уже достаточно много знают.

Так много инфы, аж глаза разгибаются.

слюни текут от такого количества полезной инф.

Надо только отранжировать видео по полезности.
Сам то я чужие лекции по Java Core не смотрю:)

UPD:
********** Юрий Ткач: Advanced Java (тут и тут) **********
Мини-курс «Advanced Java — Generics» подробно рассматривает скрытые проблемы, возникающие при игнорировании женериков, объясняет особенности наследования при использовании классов с обобщенной типизацией, а также показывает, как повысить эффективность кода с применением метасимволов (wildcard) и расширителей обобщения (extends и super).
Advanced Java — Generics
Части отдельно (??? выложена всего одна часть — 15 минут ???):
Сырые типы — Generics #1
Мини-курс «Advanced Java — Collections» посвящен детальному рассмотрению стандартных реализаций интерфейсов Java Collections Framework (hash maps, queues, sets), объясняет их особенности, способы применения и знакомит с некоторыми интересными свойствами, позволяющими повысить эффективность работы с коллекциями в программе, а также избежать возникновения скрытых багов. Вторая часть данного мини-курса знакомит с неблокирующими реализациями коллекций (non-blocking lists and sets, concurrent maps, blocking queues), объясняет разницу между ними, а также на практике показывает их плюсы и минусы, и возможное применение.
Advanced Java — Collections (5 частей последовательно)
Части отдельно:
HashSet и TreeSet — Collections #1
Реализации интерфейса Map — Collections #2
Queue и приоритетная очередь — Collections #3
Многопоточные коллекции — Collections #4
Блокирующая очередь — Collections #5
Мини-курс «Advanced Java — Concurrency» знакомит со сложными концепциями многопоточности и параллелизма в языке Java на основе пакета java.util.concurrent. В нем кратко вспоминаются основные механизмы синхронизации в Java, одновременно представляются общие проблемы, связанные с использованием потоков (например, возникновение deadlock), и показываются эффективные способы их решения. Курс знакомит с высокоуровневыми методами синхронизации с использованием CountDownLatch, CyclicBarrier, ThreadLocal, а также различными Executors для запуска потоков. В данном курcе активно применяется кодировние программ слушателями, что позволяет наработать практические навыки использования потоков в Java.
Advanced Java — Concurrency (5 частей последовательно)
Части отдельно:
Deadlock — Concurrency #1
Неблокирующая синхронизация — Concurrency #2
Сервис запуска потоков — Concurrency #3
Синхронизаторы — Concurrency #4
ThreadLocal — Concurrency #5

UPD:
********** Юрий Ткач: Java для тестировщиков (тут и на rutracker) **********
Курс учит базовому программированию на языке Java, объясняет основные понятия, знакомит с наиболее популярными библиотеками и средствами, которые могут пригодиться тестировщикам. Курс расчитан на слушателей, которые слабо подготовлены в программировании.
Программа, расположенная тут, не соответствует наименованию лекций
Урок 1 — Введение
Урок 2 — Синтаксис языка
Урок 3 — ООП
Урок 4 — ООП
Урок 5 — ООП
Урок 6 — ООП
Урок 7 — Enum, Number, String
Урок 8 — Eclipse IDE
Урок 9 — Exceptions
Урок 10 — Generics, Collections
Урок 11 — Annotations, I/O, Properties
Урок 12 — Threads
Урок 13 — Swing
Урок 14 — Swing
Урок 15 — JDBC
Урок 16 — JUnit
Урок 17 — Spring
Урок 18 — EasyMock
Урок 19 — Ant и Maven

UPD:

********** KharkovITCourses (доп. лекции) **********
Дополнительные лекции читались в разное время и по разным причинам. Они не входят в основные курсы. Из-за этого материал может быть «сыроват».
Эти две лекции подготовлены лучше:
JUnit + hamcrest
Стандарты кодирования
.
Остальные лекции более «сырые». Конкретно шаблоны проектирования читались студентам Харьковского Политеха и их уровень достаточно невысокий:
Шаблоны проектирования. Часть 1
Шаблоны проектирования. Часть 2
XML
Java generics
Введение в JDBC
Введение в реляционную алгебру

Очень интересное видео. Огромный респект за интузазизм.

На youtube можно создавать плей-листы, и группировать видео.

Из того что обнаружил — нет вложенных плей-листов. Т.е. плейлист содержащий плэйлисты.
Я их использую — собираю 45-минутные части одной лекции в лекцию. Но тогда уже лекции не могу организовывать в бо’льшие плэйлисты.

Да уж это просто бомба для русскоязычных и украиноязычных людей, не знающих хорошо инглиш.
Респект!!!

А на английском есть хорошие лекции по Java Core?
Можно подумать про перевод.
Хорошие переводчики знакомые есть.

Да, в принципе можно и в знании английского потренироваться.

кто в курсе, как можно скачать все это чудо за 1 раз ?

Мы выкладываем только на youtube.
Остальных мест не знаю, может кто-то и переливает с youtube на торренты.

Yahoo! Вот это класс! Спасибо, Иван! Ваши курсы — ценнейший источник информации по Java. Просто море информации за одну лекцию.

Спасибо.
Одна проблема — большое количество вариантов одной и той же лекции. Надо будет из, скажем, 5 вводных лекций по исключениям скомпилировать одну, из лучших моментом.
Но это выглядит нереальным по объему работы: пересмотреть 5 * 3 = 15 часов и из них склеить 3 часа.

Одна проблема — большое количество вариантов одной и той же лекции.
Ну это не такая уж и проблема. Можно просто выбрать определенный набор и смотреть его лекции. Я так и сделал. Просмотрел январский и апрельский наборы.
Поэтому, заниматься тем, чтобы
пересмотреть 5 * 3 = 15 часов и из них склеить 3 часа.
особой необходимости наверно нет.
Просмотрел январский и апрельский наборы.
Интересно Ваше мнение — какой смысл смотреть лекции разных наборов?
P.S. Мне-то кажется, что я рассказываю одно и тоже:)

Лекции всех 5 наборов смотреть, конечно, смысла нет. А вот посмотреть дважды — это другое дело. Чтобы непонятки отпали. Бывает иногда не совсем понятно с первого раза (2.5 — 3 часа лекции, информации много). Тогда, посмотрев тот же материал, но рассказанный немного по-другому, бывает полезно. Вы некоторые модули в разных потоках начинаете рассказывать, подходя к ним с разных сторон, используя другой подход. Вот такой «двойной просмотр» лично мне помогает уяснить непонятые моменты.

Спасибо за ответ.
Там еще есть такой момент: в некоторых группах рассказываю материал, который нигде не повторяется.
Скажем, в какой-то группе часа 2 рассказывал о генериках, в какой-то о тонкостях JMM (happens before, volatile, visibility, ...)

Пока есть идея унифицировать все знания в рамках тестовой системы вопросов эдак на 2.000-3.000. Что бы и ClassLoader, и java.util.concurrent, и PhantomReference ...
Тогда четко укажу слушателям ЧТО надо копать и что надо понять. А лекции будут вроде помощи.

в некоторых группах рассказываю материал, который нигде не повторяется.
Да, вот еще и поэтому. Volatile в апрельском наборе нет. Но в апрельском хорошо рассказан материал о таком тонком моменте, как String pool, классический вопрос по ООП — классы, абстрактные классы, интерфейсы. И вообще, модуль «ООП» в апрельском наборе мне очень понравился. Многие непонятные вопросы отпали.

Был бы ОЧЕНЬ признателен, если бы вы указали в каких лекциях каких курсов есть объяснения редких тем.
Вынес бы сюда в топик, что бы другим была польза.

Так то оно так, но всегда каждая лекция под своим пикантным соусом.

А чем плох вариант 5 разных лекций по одному и тому же материалу? Если кто-то что-то не понял в лекции, то может посмотреть другую лекции в другой группе. Вдруг вы там по другому (другим словами) объясняете, и слушателю сразу станет понятно что к чему. А может из присутствующих на лекции студентов кто-то задаст уточняющий вопрос, который не может задать удалённый слушатель. И этот вопрос так же прояснит непонятные моменты.

Просто слушать по исключениям (4 лекции) * (3 часа) * (5 курсов) = 60 часов — не всякий выдержит:)

Есть идея сделать граммотный отбор и компиляцию уже отснятого материала + примеры кода + тесты + ссылки к лекции.
Но это есть смысл только в рамках своей маленькой coursera. И вот тут загвоздка. Не уверен, что это экономически выгодно. Т.е. наберу ли я достаточно удаленных слушателей даже на супер-курc по Java.
Пока наблюдается скорее переезд людей из других городов (Одесса, Черновцы, Воронеж) в Харьков на «реальный» курс. Ну а coursera, как бы, пока крайне убыточный проект:(

Воронеж? Жесть! )) Это рост. Может пора открывать смежный бизнес по помощи в обустройстве жизни для приехавших?

Воронеж? Жесть! ))
Воронеж — это ж не Сибирь, до него от Харькова ближе, чем до Киева, ну и кагбэ ближайший к границе большой российский город (да, я в курсе где Белгород, я имел в виду именно большой)

Да они пока сами расселяются неплохо.
Либо комната в коммуналке ли комната с хозяйкой, рядом с нами в центре вполне можно за 1000 гривен в месяц снять.
Так что на этом много не заработаешь:)

Вот когда москвичи поедут — это будет Победа:)

Как раз обучаюсь по вашим курсам. Миллион раз спасибо за то, что выкладываете все лекции в открытый доступ!

Пользуйтесь на здоровье:)

Большое спасибо!

Постараюсь классифицировать более подробно.
Дать хотя бы краткое описание материала на лекции.

я решил
1. Cоставить «содержание» нашего youtube-канала.

давно пора было!!! а то найти нужную тему очень сложно

5 раз отснятый курс Java

один раз достаточно

главное сделайте нормальный каталог ссылок на видео у себя на сайте

один раз достаточно
Это же видео РЕАЛЬНОГО курса в Харькове.
Т.е. он столько раз снимается и выкладывается, сколько читается в реале:)
.
Это видео пересматривают слушатели дома после лекции + его смотрят удаленные слушатели (из других городов) или харьковчане, но пропустившие лекцию.

супер !!

Спасибо:)

Если есть конкретные вопросы — спрашивайте (какой материал из какой лекции посмотреть).

спасибо !!! было бы еще очень хорошо, если бы Вы в разделе Курс Junior Java Developer в подразделах по больше ключевых слов вписывали.

Сегодня-завтра сделаю.

Только это — старый курс, который читался весной.
Тот, что читается сейчас (с 26 августа) не будет выкладываться в публичный доступ.
Но еще не поздно записаться:)
Можно просто посетить две лекции бесплатно. Ближайшие:
чт 5 августа 19.00 — лекция-2 по Servlet API (MVC pattern)
пн 9 августа 19.00 — лекция-3 по Servlet API (внутренности сервлет-контейнера: потоки, пули экземпляров, ...)

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

Java for Beginners — не заливали и заливать не планируем. Там занятия фактически не лекционного типа а больше индивидуальные.
Java Core — продолжаем все заливать.
Java Junior — перестаем. Лекции доступны только оплатившим курс. Слишком ценный материал, что бы раздавать бесплатно:)

ех =( ... если видео не будет под ДЖУНА, у Вас есть возможность заполнить по больше ключевых слов и ссылок на сайте под ДЖУНА, что бы была хоть маленькая возможность подучить ... ибо 150 тон в гугле перекопать, и самому не знать, что искать =)

Ну ... Надо понимать, что к конце концов мы коммерческая компания, у нас 5 сотрудников и мы хотели бы хоть что-то продавать:)

Не думали поставить кнопку donate на сайте? Не знаю, что из этого получится, но мелочь, а приятно.

Просто думать как набирать на 10 слушателей в месяц больше стратегически более верно, чем прикручивать кнопку, приносящую 50$ в месяц.
Ну или как с 1500 подписчиков канала взять по 10$.
Ну или как отобрать долю рынка у Академии ШАГ. Ну или как выйти на рынок Москвы-Питера-Киева, ну или ...
P.S. Из подчиненных — никто кнопку прикрутить не может, нет программистов.

Как вариант, можно сделать платным доступ к новым видео по курсу джуниора

Ютуб разве поддерживает уже?

На счет платной подписки — не знаю. Но появились приваты.

Тут четкая ценовая политика. Курс стоит 574$ и включает несколько сервисов и по частям принципиально не продается. Или покупается все, или ничего.
Как только начинаешь продавать по частям покупатели выкупают самое ценное и к тебе больше не возвращаются за остальным. И вместо продаж 10 клиентам по X денег. ты осуществил продажу 20 клиентам по X/5 денег.

Сюда можно слать всех джуниоров, ноющих что хотят, мол, в «жава дивелипары». )
Заглядывал полгодика назад выборочно на канале, и хотя жутко раздражает произношение/коверкание английских слов, в целом весьма достойное разжевывание.
Хотя по некоторым темам автор сильно плавает (xml и сопутствующая обвязка, RESTful, http), выкладывание в свободный доступ полного курса это компенсирует.
P.S. Правда пополнится рынок «умеющих проходить собеседования».

жутко раздражает произношение/коверкание
Признаю, языковой кретинизм. Вообще не склонен к иностранным языкам, как, собственно и к русскому:(
Учу английский уже 20 лет, и с репетитором, и на курсах — не лезет и все:(
Ни грамматика, ни произношение.

Фильмы иногда помогают — берете любимый фильм на английском и делаете произношение как у актера. Через многократное повторение его реплик. Не панацея, но лучше чем повторять за преподавателем не носителем языка.
ИМХО

Ох ... Столько полезного можно сделать: поиграть с сыном, поговорить с женой, английский, спорт, computer science, друзья, полежать. Где бы еще времени достать:)
За совет — спасибо.

:/ учите с женой и ребенком — фильм же не обязательно 18+
Тех же «Пиратов карибского моря»

по некоторым темам автор сильно плавает (xml и сопутствующая обвязка, RESTful, http)
Тут есть невероятная разница между тем, что вы можете сделать в проекте и тем как вы объясните материал аудитории в течении 2х-3х часов.
Просто по Core я продумывал курс фактически уже около 5 лет (год свои курсы, год в харьковском EPAM, год — на мехмате Университете, ...). Поэтому примеры, терминология, хитрые трюки всплывают сами собой.
Как только выходишь на новую тему, то, что ты можешь сделать в проекте, «знания на кончиках пальцев» — не спасают. Нужно именно что готовиться к лекции — прорабатывать книги, примеры и прочее.
Сюда можно слать всех джуниоров, ноющих что хотят, мол, в «жава дивелипары». )
Обучающий материал — да, полезен для «отсекания», но был бы более полезный открытый полноценный тест по Java Core. Типа www.quizful.net или OCPJ/SCJP.
Тогда каждому создавшему пост «все знаю по Java, но не могу найти работу» задавать вопрос — а сколько у тебя баллов на бла-бла-бла-тесте? Если меньше 80% — иди смотри лекции.
Я разрабатываю похожую систему, уже около 1200 вопросов (мы по ней учимся + проводим финальное тестирование), но она точно доступна только оплатившим курс.

Пока ещё))))) .... Ты же никогда не знаешь кто её спионерет и где выложит.. на каком торенте ))))... ну я так понимаю ты к этому морально готов

С тестами есть интересный момент. Если кто-то таки напишет робота, который выкачает вопросы/ответы, то не «вставленные» в другую тестовую систему они практически бесполезны.
Нет ни классификации по темам, ни автоматической проверки правильности, ни поиска, ни удобства в использовании.
Кража, в данном случае, тоже — тяжелый труд:)

супер!!! выложите пару лекций Java для начинающих пожалуйста

Java для начинающих мы не пишем на видео.
Так что и выкладывать нечего:(
Там почти персональные занятия с преподавателем, так что — только в реале.
Но ,если в Харькове, можете прийти посмотреть. Сейчас занятия:
— среда 18.30
— суббота 9.00

Спасибо! Сохраню у себя в закладках и буду смотреть.

В ближайшие часы-дни добавлю ссылок и детальное описание лекций.
На здоровье:)

KharkovITCourses: Java Core
.
Модуль #1 (Procedural Java):
Набор июль 2013:
#1, #2, #3, #4
Набор апрель 2013:
#1, #2, #3, #4
Набор февраль 2013:
#1, #2, #3, #4
Набор январь 2013:
#1, #2, #3, #4
Набор октябрь 2012:
#1, #2, #3, #4
.
Модуль #2 (Exceptions in Java):
Набор июль 2013:
#1, #2, #3, #4
Набор апрель 2013:
#1, #2, #3, #4, #5 (???)
Набор февраль 2013:
#1, #2, #3, #4
Набор январь 2013:
#1, #2, #3, #4
Набор октябрь 2012:
#1, #2, #3
.
Модуль #3 (Java I/O, java.io.*):
Набор июль 2013:
#1, #2, #3, #4
Набор апрель 2013:
#0 (???), #1, #2, #3, #4
Набор февраль 2013:
#1, #2, #3, #4, #5
Набор январь 2013:
#1, #2, #3, #4
Набор октябрь 2012:
#1, #2, #3, #4, #5
.
Модуль #4 (Multithreading in Java):
Набор июль 2013:
#1, #2, #3, #4
Набор апрель 2013:
#1, #2, #3, #4
Набор февраль 2013:
#1, #2, #3, #4
Набор январь 2013:
#1, #2, #3
Набор октябрь 2012:
#1, #2, #3
.
Модуль #5 (Collections API, java.util.*):
Набор апрель 2013:
#1, #2, #3, #4, #5
Набор февраль 2013:
#1, #2, #3, #4
Набор январь 2013:
#1, #2, #3, #4, #5
Набор октябрь 2012:
#1, #2, #3, #4, #5
.
Модуль #6 (Java OOP):
Набор апрель 2013:
#1, #2, #3, #4
Набор февраль 2013:
#1, #2, #3, #4
Набор январь 2013:
#1, #2, #3, #4
Набор октябрь 2012:
#1, #2, #3, #4
Summary:
Набор январь 2013: итоговая лекция
Набор октябрь 2012: итоговая лекция

Спасибо, Иван! Перенесите лучше в текст сообщения, а не комментом, так удобнее читать.

Ограничение на текст топика — 15.000 символов. Этот пост — ОЧЕНЬ тяжелый (много длинных ссылок на youtube), dou отказывается принимать.

Тогда может выложите где-то извне и дайте линк, там на гугле в доках, чтобы все было в одном месте, удобнее и прядок. :)

Ограничение на текст топика — 15.000 символов.

Убрали.

Ух ты, спасибо!

Думаю, за % можно уже прикреплять к разделу первая Java работа

Спасибо, уже воспользовался.

Перенес в текст сообщения.

Вот это я понимаю за что люди «поддержал» ставят. Кастую, чтобы все посты на доу, у которых от 15 лайков имели ту же ценность, что и пост выше!

Подписаться на комментарии