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

Sdílet
Vložit
  • čas přidán 19. 02. 2018
  • Как и почему возникла Java, и зачем нужна виртуальная машина и чем Java отличается от традиционных языков программирования.
    © «Хороший программист»
    #QnA_программиста

Komentáře • 112

  • @brayanhustler93
    @brayanhustler93 Před 4 lety +48

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

  • @allonbillon
    @allonbillon Před 5 lety +22

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

    • @goodprogrammer
      @goodprogrammer  Před 5 lety +5

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

    • @allonbillon
      @allonbillon Před 5 lety +3

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

  • @foxes2307
    @foxes2307 Před 6 lety +50

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

    • @WofWca
      @WofWca Před 6 lety +2

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

    • @goodprogrammer
      @goodprogrammer  Před 5 lety +1

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

    • @DevPlayGame
      @DevPlayGame Před 3 lety

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

  • @tilekzholdoshbek726
    @tilekzholdoshbek726 Před 3 lety +11

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

  • @jhvjhbkjn6050
    @jhvjhbkjn6050 Před 4 lety +4

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

  • @Deletedeletedelete
    @Deletedeletedelete Před 6 lety +4

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

  • @niko852
    @niko852 Před 6 lety +34

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

  • @liiapavlenko8138
    @liiapavlenko8138 Před 3 lety +3

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

  • @sergeykireev1431
    @sergeykireev1431 Před 5 lety +6

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

  • @anastasiiapavlenko3858
    @anastasiiapavlenko3858 Před 2 lety +13

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

  • @eugenegreer7542
    @eugenegreer7542 Před 6 lety +15

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

  • @dikiykipovec4918
    @dikiykipovec4918 Před 5 lety +3

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

  • @axaxa6681
    @axaxa6681 Před 5 lety +4

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

  • @adolfkozarski4556
    @adolfkozarski4556 Před 4 lety +2

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

  • @check_and_test
    @check_and_test Před 2 lety

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

  • @user-uy9jr8hs6r
    @user-uy9jr8hs6r Před 4 lety +3

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

  • @chydomonahsilver7855
    @chydomonahsilver7855 Před rokem

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

  • @dmytroboiko1
    @dmytroboiko1 Před 4 lety +5

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

  • @user-dv8sl7xh7d
    @user-dv8sl7xh7d Před 6 lety +9

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

    • @alexanderalexander1637
      @alexanderalexander1637 Před 3 lety

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

  • @user-xk5qx3cj2m
    @user-xk5qx3cj2m Před rokem

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

  • @ZAZA-fo2ts
    @ZAZA-fo2ts Před 4 lety +7

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

  • @raccoon8230
    @raccoon8230 Před 4 lety +4

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

    • @goodprogrammer
      @goodprogrammer  Před 4 lety +2

      Спасибо!

    • @user-ix9no6lk3o
      @user-ix9no6lk3o Před rokem +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.

  • @M27B_our_victory
    @M27B_our_victory Před 3 lety +1

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

  • @FessNiklas1987
    @FessNiklas1987 Před 3 lety +2

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

  • @amylouis7750
    @amylouis7750 Před 6 lety +3

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

  • @tsimbaland2905
    @tsimbaland2905 Před 3 lety +3

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

  • @user-wo3nm2gz1b
    @user-wo3nm2gz1b Před 3 lety

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

  • @user-ib7vx3yc4i
    @user-ib7vx3yc4i Před 7 měsíci

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

  • @robin_hood22
    @robin_hood22 Před 4 měsíci

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

  • @danil007777
    @danil007777 Před rokem

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

  • @kirbulichev3329
    @kirbulichev3329 Před 3 lety +2

    Супер super like

  • @alexchabanenko6347
    @alexchabanenko6347 Před 3 lety +1

    спасибо

  • @vasilym5
    @vasilym5 Před 3 lety +16

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

  • @darkhunter777
    @darkhunter777 Před rokem +2

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

  • @TheLogiko
    @TheLogiko Před 5 lety +5

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

    • @goodprogrammer
      @goodprogrammer  Před 5 lety +1

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

  • @user-hp3xr8it8n
    @user-hp3xr8it8n Před 3 lety +2

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

  • @Name-wo9jo
    @Name-wo9jo Před rokem +1

    👍

  • @lifeisstrange3134
    @lifeisstrange3134 Před 6 lety +2

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

    • @Artistofun
      @Artistofun Před 6 lety +1

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

  • @DevPlayGame
    @DevPlayGame Před 4 lety +2

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

  • @MrRomanque
    @MrRomanque Před 6 lety +2

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

    • @Artistofun
      @Artistofun Před 6 lety

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

    • @zoomzoomchannel
      @zoomzoomchannel Před 6 lety

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

  • @100nirosta
    @100nirosta Před 3 lety +1

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

    • @goodprogrammer
      @goodprogrammer  Před 3 lety

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

  • @slavianskiy
    @slavianskiy Před měsícem

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

  • @FeelUs
    @FeelUs Před 6 lety +5

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

    • @Artistofun
      @Artistofun Před 6 lety +2

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

    • @FeelUs
      @FeelUs Před 6 lety

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

    • @Artistofun
      @Artistofun Před 6 lety +2

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

    • @rembata3097
      @rembata3097 Před 5 lety

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

  • @zloypatrick4232
    @zloypatrick4232 Před 5 lety +6

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

    • @goodprogrammer
      @goodprogrammer  Před 5 lety +4

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

  • @RedkeiGost
    @RedkeiGost Před 5 lety +1

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

    • @Artistofun
      @Artistofun Před 5 lety

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

    • @RedkeiGost
      @RedkeiGost Před 5 lety

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

    • @Artistofun
      @Artistofun Před 5 lety

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

    • @RedkeiGost
      @RedkeiGost Před 5 lety

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

    • @RedkeiGost
      @RedkeiGost Před 5 lety

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

  • @maxforest7133
    @maxforest7133 Před 5 lety +2

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

  • @UnitXXVII
    @UnitXXVII Před 4 lety +2

    СПС

  • @user-uc4pf5to9h
    @user-uc4pf5to9h Před 6 lety +5

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

  • @SuperRusticus
    @SuperRusticus Před rokem

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

  • @stepanbazrov6330
    @stepanbazrov6330 Před 3 lety +1

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

    • @goodprogrammer
      @goodprogrammer  Před 3 lety

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

    • @stepanbazrov6330
      @stepanbazrov6330 Před 3 lety

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

    • @goodprogrammer
      @goodprogrammer  Před 3 lety

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

  • @davlatbekmirakilov2061
    @davlatbekmirakilov2061 Před 3 lety +3

    Java рулит

  • @domeno8525
    @domeno8525 Před 2 lety

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

    • @goodprogrammer
      @goodprogrammer  Před 2 lety

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

  • @inbuckswetrust7357
    @inbuckswetrust7357 Před 2 lety +1

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

    • @Aleksei_Filatov
      @Aleksei_Filatov Před rokem

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

  • @alexpiskal173
    @alexpiskal173 Před 2 lety

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

  • @user-pm7ui9gc3c
    @user-pm7ui9gc3c Před 7 měsíci

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

  • @gobpblueex
    @gobpblueex Před rokem

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

  • @rubizer
    @rubizer Před 2 lety

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

  • @evan_kirk
    @evan_kirk Před 8 měsíci

    C# >>>>>>

  • @askarovich6601
    @askarovich6601 Před 3 lety

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

    • @goodprogrammer
      @goodprogrammer  Před 3 lety

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

  • @darkhunter777
    @darkhunter777 Před rokem +1

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

  • @100nirosta
    @100nirosta Před 3 lety

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

  • @a.o.yaroslavov
    @a.o.yaroslavov Před 4 lety

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

    • @goodprogrammer
      @goodprogrammer  Před 4 lety

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

  • @neghahfa5645
    @neghahfa5645 Před rokem

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

  • @PROGamersf36
    @PROGamersf36 Před 3 lety

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

  • @ruslanbu9924
    @ruslanbu9924 Před 5 lety

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

    • @Artistofun
      @Artistofun Před 5 lety +2

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

    • @goodprogrammer
      @goodprogrammer  Před 5 lety

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

    • @ruslanbu9924
      @ruslanbu9924 Před 5 lety

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

    • @ruslanbu9924
      @ruslanbu9924 Před 5 lety +1

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

    • @Artistofun
      @Artistofun Před 5 lety +2

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

  • @arturiobn
    @arturiobn Před 5 lety

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

    • @goodprogrammer
      @goodprogrammer  Před 5 lety +4

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

    • @arturiobn
      @arturiobn Před 5 lety

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

    • @goodprogrammer
      @goodprogrammer  Před 5 lety +1

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

  • @oldjohn1503
    @oldjohn1503 Před 10 měsíci

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