Как работает Java - ликбез

Поділитися
Вставка
  • Опубліковано 19 лют 2018
  • Как и почему возникла Java, и зачем нужна виртуальная машина и чем Java отличается от традиционных языков программирования.
    © «Хороший программист»
    #QnA_программиста

КОМЕНТАРІ • 112

  • @brayanhustler93
    @brayanhustler93 4 роки тому +48

    ошибку в коде:
    трудно найти
    легко потерять
    и невозможно забыть...

  • @allonbillon
    @allonbillon 5 років тому +22

    Большое спасибо! Это краткое видео по объему и полезности информации на единицу времени просто супер! И главное, очень понятно

    • @goodprogrammer
      @goodprogrammer  5 років тому +5

      Спасибо! Лайк, подписка, кинуть ролик другу! :)

    • @allonbillon
      @allonbillon 5 років тому +3

      @@goodprogrammer само собой )))

  • @foxes2307
    @foxes2307 6 років тому +50

    Крутой формат объяснения

    • @WofWca
      @WofWca 6 років тому +2

      Только вот есть подозрение, что видео спизжено с какого-то англоязычного источника, а "афтар" чисто перевёл и зачитал.

    • @goodprogrammer
      @goodprogrammer  5 років тому +1

      @@WofWca обижаете, у нас только эксклюзив, только топ.

    • @DevPlayGame
      @DevPlayGame 3 роки тому

      @@WofWca даже если так - спасибо автору.

  • @tilekzholdoshbek726
    @tilekzholdoshbek726 3 роки тому +10

    while(true) { System.out.println("Спасибо, очень понятно!"); }

  • @niko852
    @niko852 6 років тому +34

    Примерно так я и представлял себе сборщика мусора))
    Ну а в целом хорошее видео, приятный формат!

  • @jhvjhbkjn6050
    @jhvjhbkjn6050 4 роки тому +4

    Крутой формат! Просто, понятно, музыка приятная))

  • @Deletedeletedelete
    @Deletedeletedelete 6 років тому +4

    Классный формат! Дикция отличная

  • @anastasiiapavlenko3858
    @anastasiiapavlenko3858 2 роки тому +13

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

  • @liiapavlenko8138
    @liiapavlenko8138 3 роки тому +3

    Благодарю за прекрасное объяснение 😌👍

  • @ZAZA-fo2ts
    @ZAZA-fo2ts 4 роки тому +7

    Чувак, надеюсь ты хорошую зарплату получаеш за програмирования!!! Очень круто!!!

  • @sergeykireev1431
    @sergeykireev1431 5 років тому +6

    Объяснил понятным языком спасибо !!!

  • @eugenegreer7542
    @eugenegreer7542 6 років тому +15

    Классный формат, хотелось бы и курсы по Java от Вас ))

  • @DevPlayGame
    @DevPlayGame 4 роки тому +2

    Искал что такое jvm и нашел ответ именно тут)
    Спасибо)

  • @axaxa6681
    @axaxa6681 5 років тому +4

    Очень интесное и познавательное видео!

  • @chydomonahsilver7855
    @chydomonahsilver7855 Рік тому

    Очень доступно. Спасибо большое!

  • @dmytroboiko1
    @dmytroboiko1 4 роки тому +5

    Очень хорошая падача, и рисуночки топчик )) Спасибо!

  • @FessNiklas1987
    @FessNiklas1987 3 роки тому +2

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

    • @goodprogrammer
      @goodprogrammer  3 роки тому

      На нашем канале бывает )

  • @dikiykipovec4918
    @dikiykipovec4918 5 років тому +3

    Прикольно смотрится!

  • @tsimbaland2905
    @tsimbaland2905 3 роки тому +3

    классно, но хотелось бы чуть побольше про JIT

  • @M27B_our_victory
    @M27B_our_victory 3 роки тому +1

    I like this tutorial!) I want more these video!) You have good channel!)

  • @user-xk5qx3cj2m
    @user-xk5qx3cj2m Рік тому

    Очень доходчиво. Спасибо

  • @user-dv8sl7xh7d
    @user-dv8sl7xh7d 6 років тому +9

    Интересно, а главное все понятно,
    ++++СПАСИБО++++

    • @alexanderalexander1637
      @alexanderalexander1637 3 роки тому

      смотря кому. мне понятно все но я сам могу рассказать подробнее.

  • @check_and_test
    @check_and_test 2 роки тому

    Прекрасно, спасибо!🙂

  • @raccoon8230
    @raccoon8230 4 роки тому +4

    Божественное объяснение!)

    • @goodprogrammer
      @goodprogrammer  3 роки тому +2

      Спасибо!

    • @user-ix9no6lk3o
      @user-ix9no6lk3o 11 місяців тому +1

      agree, I'm impressed, I was thinking I could never understand this but now it's more than clear to me. Thanks a lot.

  • @adolfkozarski4556
    @adolfkozarski4556 4 роки тому +2

    Круто, спасибо!

  • @user-uy9jr8hs6r
    @user-uy9jr8hs6r 4 роки тому +3

    Просто лучший!)

  • @robin_hood22
    @robin_hood22 3 місяці тому

    Видео мне понравилось)

  • @danil007777
    @danil007777 Рік тому

    Офигенная подача

  • @amylouis7750
    @amylouis7750 6 років тому +3

    Чувак спасибо

  • @user-wo3nm2gz1b
    @user-wo3nm2gz1b 2 роки тому

    Спасибо супер спасибо за работу.

  • @user-ib7vx3yc4i
    @user-ib7vx3yc4i 7 місяців тому

    Классный ролик

  • @user-hp3xr8it8n
    @user-hp3xr8it8n 3 роки тому +2

    Автор, спасибо тебе за видео, это одно из лучших видосов по проге, которые я видел в ютубе. Ты прям четко по теме говоришь, а многие авторы много воды льют, в итоге видос на 10 мин, а сути 0. Подписался на канал, буду следить за твоими видосами)

  • @vasilym5
    @vasilym5 3 роки тому +16

    Для новичка в программировании визуальный формат подачи материала - лучше и не придумаешь!

  • @TheLogiko
    @TheLogiko 5 років тому +5

    Наконец то я понял все это муть с языками. Спасибо:)

    • @goodprogrammer
      @goodprogrammer  5 років тому +1

      Отлично! Рады, что помогли! :)

  • @alexchabanenko6347
    @alexchabanenko6347 3 роки тому +1

    спасибо

  • @lifeisstrange3134
    @lifeisstrange3134 6 років тому +2

    Только недавно читал такую статью на википедии,не знал что выйдет это видео(

    • @Artistofun
      @Artistofun 6 років тому +1

      эх, придется вернуть инфу обратно на википедию (

  • @darkhunter777
    @darkhunter777 Рік тому +2

    урок рисования без PAINT 😁

  • @slavianskiy
    @slavianskiy 19 днів тому

    ошибка в обьяснении 3:58, байт-код не джава машина компилирует, а принимает его на вход

  • @kirbulichev3329
    @kirbulichev3329 3 роки тому +2

    Супер super like

  • @MrRomanque
    @MrRomanque 6 років тому +2

    Очень интересно и наглядно, в классических традициях Хорошего программиста.
    А где находится JVM? Вот например пишется приложение на Java под Andriod, соответственно JVM - это компонента Android Studio?

    • @Artistofun
      @Artistofun 6 років тому

      jvm в андроид называется иначе en.wikipedia.org/wiki/Android_Runtime
      и работает она в самом андроиде, для каждого приложения запускается системный процесс, в котором оно выполняется (очень грубо говоря)

    • @zoomzoomchannel
      @zoomzoomchannel 5 років тому

      JVM находится там же где все остальные программы и с какими либо IDE статической связи не имеет.

  • @Name-wo9jo
    @Name-wo9jo Рік тому +1

    👍

  • @100nirosta
    @100nirosta 3 роки тому +1

    а почему в андроид устройствах нет java, но ест байт-код? Я нигде не могу найти java, где она спрятана?

    • @goodprogrammer
      @goodprogrammer  3 роки тому

      Да там же, рядом с байткодом!

  • @davlatbekmirakilov2061
    @davlatbekmirakilov2061 3 роки тому +3

    Java рулит

  • @zloypatrick4232
    @zloypatrick4232 5 років тому +6

    Это ты все парты изрисовал?

    • @goodprogrammer
      @goodprogrammer  5 років тому +4

      Неприличными словами из 3х букв типа... JVM ?? )

  • @UnitXXVII
    @UnitXXVII 4 роки тому +2

    СПС

  • @FeelUs
    @FeelUs 6 років тому +5

    Вот почему они не сделали джаву с ручным удалением мусора? Я хочу это делать САМ!!!!111

    • @Artistofun
      @Artistofun 6 років тому +2

      что за бред, пишите на С++ и будет вам как джава без управления памятью )

    • @FeelUs
      @FeelUs 6 років тому

      Но это не кроссплатформенно. Чтобы было кроссплатформенно - надо тестить код сразу на куче платформ.

    • @Artistofun
      @Artistofun 6 років тому +2

      Филя Усков пишите по стандартам и на кроссплатворменных либах, будет кроссплатформенно. Серьезные приложения все равно надо тестить.
      Вы придумали себе искусственную проблему. Зачем вам вручную управлять памятью??

    • @rembata3097
      @rembata3097 5 років тому

      Филя Усков можно вызвать в коде гарбадж-коллектор и он очистит память, но там есть нюансы

  • @RedkeiGost
    @RedkeiGost 5 років тому +1

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

    • @Artistofun
      @Artistofun 5 років тому

      Разница в том, что на плюсах по-настоящему универсальный код возможен только в очень узких классах задач или очень простых проектах.
      Потому что ЖВМ для вас абстрагирует ОС почти полностью, включая низкоуровневый доступ, например, к USB портам.
      На плюсах вам надо под каждую ОС искать свои либы для работы с железом и с самой ОС.

    • @RedkeiGost
      @RedkeiGost 5 років тому

      ​@@Artistofun, я на плюсах не писал, я писал на питоне. Вот устанавливаю я питон на линукс через апт или на винду через .exe - он у меня и там и там интерпретирует один и тот же код. И если я не могу через встроенную либу питона подключиться к usb портам, это значит, что в интерпретаторе питона просто нет такой библиотеки. И все. Ну, допустим в ДжВМ есть такая под винду и такая же под линукс. Нужно разрабатывать две версии виртуальных машин под разные операционки, чтобы одинаковый код на джаве работал и там и там. Допустим, в питон добавили встроенную либу, которая умеет работать с усб-портами. И допустим, разработали два интерпритатора для винды и линя. Чем это отличается от разработки двух виртуальных машин с похожим функционалом, но под джаву?

    • @Artistofun
      @Artistofun 5 років тому

      RedkeiGost ну питон гораздо ближе к жаве в этом плане, чем к сям

    • @RedkeiGost
      @RedkeiGost 5 років тому

      @@Artistofun так заменить в примере питон на си, а интерпретатор на компилятор - суть вопроса моего не поменяется, я разницу не понимать.

    • @RedkeiGost
      @RedkeiGost 5 років тому

      @@Artistofun тут виртаульная машиныа умеет в порты усб, там либа в компиляторе умеет в порты усб. Или компилятор не может дополнительные либы включать?

  • @SuperRusticus
    @SuperRusticus Рік тому

    Java классный язык. Он - первый из тех, что я начал изучать. Из минусов для меня, Java громоздкая для небольших программ (утилит), поэтому для них лучше другие языки: python, kotlin и т.д.
    Но для больших приложений Java почти идеальная.

  • @maxforest7133
    @maxforest7133 5 років тому +2

    JVM написан на C++ , Jit на Cи.

  • @domeno8525
    @domeno8525 2 роки тому

    Интересно, а почему вы стали преподавать руби, а не java?

    • @goodprogrammer
      @goodprogrammer  2 роки тому

      Для новичка лучший язык - руби, а не java

  • @alexpiskal173
    @alexpiskal173 Рік тому

    Почему нельзя написать свой компилятор для каждой операционки? Их не так уж и много

  • @stepanbazrov6330
    @stepanbazrov6330 3 роки тому +1

    А разве я не могу 1 раз написать на c, а на разные платформы просто компилировать разными компиляторами?

    • @goodprogrammer
      @goodprogrammer  3 роки тому

      Теоретически можете, но упоретесь портировать и адаптировать ваш код под каждую платформу.
      Если это сложное приложение, использующее множество библиотек и сложных функций системы. А не hello world

    • @stepanbazrov6330
      @stepanbazrov6330 3 роки тому

      @@goodprogrammer ну наверное я могу использовать кросплатформенные библиотеки-прослойки для этих функций?

    • @goodprogrammer
      @goodprogrammer  3 роки тому

      @@stepanbazrov6330 ну попробуйте и расскажите нам как получится

  • @inbuckswetrust7357
    @inbuckswetrust7357 2 роки тому +1

    Джависты сделали круто виртуальную машину ? :)))) В то время когда жава машина требовала обновления железа до топового на протяжении многих лет та же самая смалталк машина летала на железе 90х только в путь. Причем установка этой самой машины под ту же винду требовала просто папки с дллками :)

    • @Aleksei_Filatov
      @Aleksei_Filatov Рік тому

      JVM писалась для бытовых устройств. Какое топовое железо?

  • @user-uc4pf5to9h
    @user-uc4pf5to9h 6 років тому +5

    Только Java принадлежит Oracle, как и Sun

  • @user-pm7ui9gc3c
    @user-pm7ui9gc3c 7 місяців тому

    На плюсах же тоже есть сборщик

  • @evan_kirk
    @evan_kirk 8 місяців тому

    C# >>>>>>

  • @gobpblueex
    @gobpblueex 11 місяців тому

    И на самом деле да, это будет тормозить.
    Слава закону Мура, который сделал возможным плодить говнокод, абстракции над абстракциями над абстракциями.
    И наш Hello World соберется в файл на несколько мегабайт, запуск потребует уже под сотню и пару секунд времени, пока стартанет jvm. На железе, которое еще 30 лет назад считалось бы суперкомпьютером. Триумф потре#лядства.

  • @rubizer
    @rubizer 2 роки тому

    Пипец хоть и малолетка, но понял, спасибо!

  • @askarovich6601
    @askarovich6601 3 роки тому

    Код - uncountable понятие, нельзя говорить коды/кода

    • @goodprogrammer
      @goodprogrammer  3 роки тому

      Только если это исходный код программы.
      Если речь о машинных кодах например это еще как countable. Потому что таких кодов (как чит-кодов в doom) всегда определенное количество.

  • @darkhunter777
    @darkhunter777 Рік тому +1

    Мущина, запили видос как EXE шник из JAVA добывать - йа чото ваще непойму. После плюсов все как то убого выглядит

  • @a.o.yaroslavov
    @a.o.yaroslavov 4 роки тому

    Лучше расскажи зачем нужен Stop The World. Хехе.

    • @goodprogrammer
      @goodprogrammer  4 роки тому

      Александр Ярославов обязательно

  • @100nirosta
    @100nirosta 3 роки тому

    я обсалютно ничего не понял.

  • @neghahfa5645
    @neghahfa5645 Рік тому

    Концепция автоматического сборщика мусора - самый тупой маркетинговый миф, что можно было придумать. Фактически, если вы не хотите «out of memory» вам нужно ВСЕГДА отслеживать области видимости и где нужно вручную освобождать ресурсы. Последние 20 лет разработки, факапы из-за утечки памяти вижу только на Java-проектах среди секты Свидетелей Сборщика Мусора. 😁

  • @PROGamersf36
    @PROGamersf36 3 роки тому

    Музыка мешает смотреть

  • @ruslanbu9924
    @ruslanbu9924 4 роки тому

    не джава а ява назван в честь кофе ява

    • @Artistofun
      @Artistofun 4 роки тому +2

      А у вас какой стаж "ява" программистом?

    • @goodprogrammer
      @goodprogrammer  4 роки тому

      Питон или пайтон? Пхп или пиэйчпи?

    • @ruslanbu9924
      @ruslanbu9924 4 роки тому

      @@goodprogrammer ну если ты Вася то питон а если Джонни из канзаса то пайтон как ты думаешь как правильней будет звучать у нас

    • @ruslanbu9924
      @ruslanbu9924 4 роки тому +1

      @@goodprogrammer кто курил яву 100 и катал на яве 350 никогда не назовет остров ява джавой и яванское море джаванским как и японский авто джапанским

    • @Artistofun
      @Artistofun 4 роки тому +2

      Пока вы курили яву, я «курил» джаву. И не надо сюда, где не шарите, свои гоп порядки тащить.

  • @arturiobn
    @arturiobn 4 роки тому

    машинные КАДА - 80 уровень! Machine code или на Машинные коды! Дальше уже даже не интересно, dislike однозначно!

    • @goodprogrammer
      @goodprogrammer  4 роки тому +4

      Вот сколько ни встречал программистов, если начинает докапываться до написания/произношения слов (не путать с code style) в первую очередь - так себе специалист. А видео отличное на самом деле (см. соотношение лайков и дизлайков).

    • @arturiobn
      @arturiobn 4 роки тому

      ​@@goodprogrammer Я просто улыбнусь в ответ.

    • @goodprogrammer
      @goodprogrammer  4 роки тому +1

      @@arturiobn И хорошо (bit.ly/32CwNkj)

  • @oldjohn1503
    @oldjohn1503 9 місяців тому

    Ты бы с динозавров еще начал.