Автор, спасибо тебе за видео, это одно из лучших видосов по проге, которые я видел в ютубе. Ты прям четко по теме говоришь, а многие авторы много воды льют, в итоге видос на 10 мин, а сути 0. Подписался на канал, буду следить за твоими видосами)
Очень интересно и наглядно, в классических традициях Хорошего программиста. А где находится JVM? Вот например пишется приложение на Java под Andriod, соответственно JVM - это компонента Android Studio?
jvm в андроид называется иначе en.wikipedia.org/wiki/Android_Runtime и работает она в самом андроиде, для каждого приложения запускается системный процесс, в котором оно выполняется (очень грубо говоря)
Филя Усков пишите по стандартам и на кроссплатворменных либах, будет кроссплатформенно. Серьезные приложения все равно надо тестить. Вы придумали себе искусственную проблему. Зачем вам вручную управлять памятью??
У нас есть два компилятора, которые могут компилить код в байт-код под две разные операционки. Ок. Берем код, отдаем его двум разным компилятором на двух разных операционках - получаем два результата. Теперь у нас есть код, который компилится в джава-байткод, который отправляется двум виртуалкам, которые умеют компилить его каждая под свою операционку. У нас был универсальный код на языке программирования, теперь мы взяли универсальный код на языке программирования и сделали из него тоже универсальный джава-байткод и скормили его уже не компилятору, а виртуальной машине? В чем разница? Если не говорить об управлении памятью? И вроде как джава-машина интерпретирует джава-байткод прямо по ходу исполнения, нет?
Разница в том, что на плюсах по-настоящему универсальный код возможен только в очень узких классах задач или очень простых проектах. Потому что ЖВМ для вас абстрагирует ОС почти полностью, включая низкоуровневый доступ, например, к USB портам. На плюсах вам надо под каждую ОС искать свои либы для работы с железом и с самой ОС.
@@Artistofun, я на плюсах не писал, я писал на питоне. Вот устанавливаю я питон на линукс через апт или на винду через .exe - он у меня и там и там интерпретирует один и тот же код. И если я не могу через встроенную либу питона подключиться к usb портам, это значит, что в интерпретаторе питона просто нет такой библиотеки. И все. Ну, допустим в ДжВМ есть такая под винду и такая же под линукс. Нужно разрабатывать две версии виртуальных машин под разные операционки, чтобы одинаковый код на джаве работал и там и там. Допустим, в питон добавили встроенную либу, которая умеет работать с усб-портами. И допустим, разработали два интерпритатора для винды и линя. Чем это отличается от разработки двух виртуальных машин с похожим функционалом, но под джаву?
@@Artistofun тут виртаульная машиныа умеет в порты усб, там либа в компиляторе умеет в порты усб. Или компилятор не может дополнительные либы включать?
Java классный язык. Он - первый из тех, что я начал изучать. Из минусов для меня, Java громоздкая для небольших программ (утилит), поэтому для них лучше другие языки: python, kotlin и т.д. Но для больших приложений Java почти идеальная.
Теоретически можете, но упоретесь портировать и адаптировать ваш код под каждую платформу. Если это сложное приложение, использующее множество библиотек и сложных функций системы. А не hello world
Джависты сделали круто виртуальную машину ? :)))) В то время когда жава машина требовала обновления железа до топового на протяжении многих лет та же самая смалталк машина летала на железе 90х только в путь. Причем установка этой самой машины под ту же винду требовала просто папки с дллками :)
И на самом деле да, это будет тормозить. Слава закону Мура, который сделал возможным плодить говнокод, абстракции над абстракциями над абстракциями. И наш Hello World соберется в файл на несколько мегабайт, запуск потребует уже под сотню и пару секунд времени, пока стартанет jvm. На железе, которое еще 30 лет назад считалось бы суперкомпьютером. Триумф потре#лядства.
Только если это исходный код программы. Если речь о машинных кодах например это еще как countable. Потому что таких кодов (как чит-кодов в doom) всегда определенное количество.
Концепция автоматического сборщика мусора - самый тупой маркетинговый миф, что можно было придумать. Фактически, если вы не хотите «out of memory» вам нужно ВСЕГДА отслеживать области видимости и где нужно вручную освобождать ресурсы. Последние 20 лет разработки, факапы из-за утечки памяти вижу только на Java-проектах среди секты Свидетелей Сборщика Мусора. 😁
Вот сколько ни встречал программистов, если начинает докапываться до написания/произношения слов (не путать с code style) в первую очередь - так себе специалист. А видео отличное на самом деле (см. соотношение лайков и дизлайков).
ошибку в коде:
трудно найти
легко потерять
и невозможно забыть...
Большое спасибо! Это краткое видео по объему и полезности информации на единицу времени просто супер! И главное, очень понятно
Спасибо! Лайк, подписка, кинуть ролик другу! :)
@@goodprogrammer само собой )))
Крутой формат объяснения
Только вот есть подозрение, что видео спизжено с какого-то англоязычного источника, а "афтар" чисто перевёл и зачитал.
@@WofWca обижаете, у нас только эксклюзив, только топ.
@@WofWca даже если так - спасибо автору.
while(true) { System.out.println("Спасибо, очень понятно!"); }
Примерно так я и представлял себе сборщика мусора))
Ну а в целом хорошее видео, приятный формат!
Крутой формат! Просто, понятно, музыка приятная))
Классный формат! Дикция отличная
жаль, что нельзя поставить больше одного лайка. Спасибо Вам за отличную подачу материала
Благодарю за прекрасное объяснение 😌👍
Чувак, надеюсь ты хорошую зарплату получаеш за програмирования!!! Очень круто!!!
Объяснил понятным языком спасибо !!!
Классный формат, хотелось бы и курсы по Java от Вас ))
Согласен
Искал что такое jvm и нашел ответ именно тут)
Спасибо)
Очень интесное и познавательное видео!
Очень доступно. Спасибо большое!
Очень хорошая падача, и рисуночки топчик )) Спасибо!
Спасибо!
ахуеть. нормально объяснил, нормальная дикция, прикольная визуализация. я думал так не бывает
На нашем канале бывает )
Прикольно смотрится!
классно, но хотелось бы чуть побольше про JIT
I like this tutorial!) I want more these video!) You have good channel!)
Очень доходчиво. Спасибо
Интересно, а главное все понятно,
++++СПАСИБО++++
смотря кому. мне понятно все но я сам могу рассказать подробнее.
Прекрасно, спасибо!🙂
Божественное объяснение!)
Спасибо!
agree, I'm impressed, I was thinking I could never understand this but now it's more than clear to me. Thanks a lot.
Круто, спасибо!
Просто лучший!)
Видео мне понравилось)
Офигенная подача
Чувак спасибо
Спасибо супер спасибо за работу.
Классный ролик
Автор, спасибо тебе за видео, это одно из лучших видосов по проге, которые я видел в ютубе. Ты прям четко по теме говоришь, а многие авторы много воды льют, в итоге видос на 10 мин, а сути 0. Подписался на канал, буду следить за твоими видосами)
Для новичка в программировании визуальный формат подачи материала - лучше и не придумаешь!
Наконец то я понял все это муть с языками. Спасибо:)
Отлично! Рады, что помогли! :)
спасибо
Только недавно читал такую статью на википедии,не знал что выйдет это видео(
эх, придется вернуть инфу обратно на википедию (
урок рисования без PAINT 😁
ошибка в обьяснении 3:58, байт-код не джава машина компилирует, а принимает его на вход
Супер super like
Очень интересно и наглядно, в классических традициях Хорошего программиста.
А где находится JVM? Вот например пишется приложение на Java под Andriod, соответственно JVM - это компонента Android Studio?
jvm в андроид называется иначе en.wikipedia.org/wiki/Android_Runtime
и работает она в самом андроиде, для каждого приложения запускается системный процесс, в котором оно выполняется (очень грубо говоря)
JVM находится там же где все остальные программы и с какими либо IDE статической связи не имеет.
👍
а почему в андроид устройствах нет java, но ест байт-код? Я нигде не могу найти java, где она спрятана?
Да там же, рядом с байткодом!
Java рулит
Это ты все парты изрисовал?
Неприличными словами из 3х букв типа... JVM ?? )
СПС
Вот почему они не сделали джаву с ручным удалением мусора? Я хочу это делать САМ!!!!111
что за бред, пишите на С++ и будет вам как джава без управления памятью )
Но это не кроссплатформенно. Чтобы было кроссплатформенно - надо тестить код сразу на куче платформ.
Филя Усков пишите по стандартам и на кроссплатворменных либах, будет кроссплатформенно. Серьезные приложения все равно надо тестить.
Вы придумали себе искусственную проблему. Зачем вам вручную управлять памятью??
Филя Усков можно вызвать в коде гарбадж-коллектор и он очистит память, но там есть нюансы
У нас есть два компилятора, которые могут компилить код в байт-код под две разные операционки. Ок. Берем код, отдаем его двум разным компилятором на двух разных операционках - получаем два результата.
Теперь у нас есть код, который компилится в джава-байткод, который отправляется двум виртуалкам, которые умеют компилить его каждая под свою операционку. У нас был универсальный код на языке программирования, теперь мы взяли универсальный код на языке программирования и сделали из него тоже универсальный джава-байткод и скормили его уже не компилятору, а виртуальной машине? В чем разница? Если не говорить об управлении памятью? И вроде как джава-машина интерпретирует джава-байткод прямо по ходу исполнения, нет?
Разница в том, что на плюсах по-настоящему универсальный код возможен только в очень узких классах задач или очень простых проектах.
Потому что ЖВМ для вас абстрагирует ОС почти полностью, включая низкоуровневый доступ, например, к USB портам.
На плюсах вам надо под каждую ОС искать свои либы для работы с железом и с самой ОС.
@@Artistofun, я на плюсах не писал, я писал на питоне. Вот устанавливаю я питон на линукс через апт или на винду через .exe - он у меня и там и там интерпретирует один и тот же код. И если я не могу через встроенную либу питона подключиться к usb портам, это значит, что в интерпретаторе питона просто нет такой библиотеки. И все. Ну, допустим в ДжВМ есть такая под винду и такая же под линукс. Нужно разрабатывать две версии виртуальных машин под разные операционки, чтобы одинаковый код на джаве работал и там и там. Допустим, в питон добавили встроенную либу, которая умеет работать с усб-портами. И допустим, разработали два интерпритатора для винды и линя. Чем это отличается от разработки двух виртуальных машин с похожим функционалом, но под джаву?
RedkeiGost ну питон гораздо ближе к жаве в этом плане, чем к сям
@@Artistofun так заменить в примере питон на си, а интерпретатор на компилятор - суть вопроса моего не поменяется, я разницу не понимать.
@@Artistofun тут виртаульная машиныа умеет в порты усб, там либа в компиляторе умеет в порты усб. Или компилятор не может дополнительные либы включать?
Java классный язык. Он - первый из тех, что я начал изучать. Из минусов для меня, Java громоздкая для небольших программ (утилит), поэтому для них лучше другие языки: python, kotlin и т.д.
Но для больших приложений Java почти идеальная.
JVM написан на C++ , Jit на Cи.
Интересно, а почему вы стали преподавать руби, а не java?
Для новичка лучший язык - руби, а не java
Почему нельзя написать свой компилятор для каждой операционки? Их не так уж и много
А разве я не могу 1 раз написать на c, а на разные платформы просто компилировать разными компиляторами?
Теоретически можете, но упоретесь портировать и адаптировать ваш код под каждую платформу.
Если это сложное приложение, использующее множество библиотек и сложных функций системы. А не hello world
@@goodprogrammer ну наверное я могу использовать кросплатформенные библиотеки-прослойки для этих функций?
@@stepanbazrov6330 ну попробуйте и расскажите нам как получится
Джависты сделали круто виртуальную машину ? :)))) В то время когда жава машина требовала обновления железа до топового на протяжении многих лет та же самая смалталк машина летала на железе 90х только в путь. Причем установка этой самой машины под ту же винду требовала просто папки с дллками :)
JVM писалась для бытовых устройств. Какое топовое железо?
Только Java принадлежит Oracle, как и Sun
На плюсах же тоже есть сборщик
C# >>>>>>
И на самом деле да, это будет тормозить.
Слава закону Мура, который сделал возможным плодить говнокод, абстракции над абстракциями над абстракциями.
И наш Hello World соберется в файл на несколько мегабайт, запуск потребует уже под сотню и пару секунд времени, пока стартанет jvm. На железе, которое еще 30 лет назад считалось бы суперкомпьютером. Триумф потре#лядства.
Пипец хоть и малолетка, но понял, спасибо!
Код - uncountable понятие, нельзя говорить коды/кода
Только если это исходный код программы.
Если речь о машинных кодах например это еще как countable. Потому что таких кодов (как чит-кодов в doom) всегда определенное количество.
Мущина, запили видос как EXE шник из JAVA добывать - йа чото ваще непойму. После плюсов все как то убого выглядит
Через graalvm
Лучше расскажи зачем нужен Stop The World. Хехе.
Александр Ярославов обязательно
я обсалютно ничего не понял.
Концепция автоматического сборщика мусора - самый тупой маркетинговый миф, что можно было придумать. Фактически, если вы не хотите «out of memory» вам нужно ВСЕГДА отслеживать области видимости и где нужно вручную освобождать ресурсы. Последние 20 лет разработки, факапы из-за утечки памяти вижу только на Java-проектах среди секты Свидетелей Сборщика Мусора. 😁
Музыка мешает смотреть
не джава а ява назван в честь кофе ява
А у вас какой стаж "ява" программистом?
Питон или пайтон? Пхп или пиэйчпи?
@@goodprogrammer ну если ты Вася то питон а если Джонни из канзаса то пайтон как ты думаешь как правильней будет звучать у нас
@@goodprogrammer кто курил яву 100 и катал на яве 350 никогда не назовет остров ява джавой и яванское море джаванским как и японский авто джапанским
Пока вы курили яву, я «курил» джаву. И не надо сюда, где не шарите, свои гоп порядки тащить.
машинные КАДА - 80 уровень! Machine code или на Машинные коды! Дальше уже даже не интересно, dislike однозначно!
Вот сколько ни встречал программистов, если начинает докапываться до написания/произношения слов (не путать с code style) в первую очередь - так себе специалист. А видео отличное на самом деле (см. соотношение лайков и дизлайков).
@@goodprogrammer Я просто улыбнусь в ответ.
@@arturiobn И хорошо (bit.ly/32CwNkj)
Ты бы с динозавров еще начал.