Здравствуйте Сергей , а Вы не задумывались о том что исходный код java машины имеет разные api обращения к разным ОС ? Я к тому что бывают ли такие случаи когда на одной ОС работает без ошибок а на другой ОС тот же jar файл выдает ошибки , при том если углубляться то ошибка будет иметь источник исключения в конфликте ОС и java машины
Впервые возник вопрос, который не стыдно задать и, возможно, это хороший вопрос для отдельного видео. JSR - я так понял, что это стандарты в джаве. 330 - вроде про DI, 166 - про атомики. откуда пошло первое JSR, сколько их всего, нужно ли их знать досконально и вообще зачем они особо нужны, ведь всегда достаточно знать практические имплементации?
Сергей говорил в других роликах, что AWT и Swing уже давно не используются нигде и учить их не нужно. Последние лет восемь все работает на веб-интерфейсах.
@@SergeyNemchinskiy было бы круто. Не так конечно познавательно, как серия видео "Нужно ли программисту уметь владеть клавиатурой и все такое", но это имидж языка, которому посвящен твой канал. Начинающим программистам, которые не знают стоит ли им учить sql, так же должно быть не понятно зачем учить джаву, если она медленная, многословная и на ней даже не пишут сайты. Расставь все точки на "емое".
специально писал когда-то года 2 назад синтетические программки чтобы замерить разницу в производительности. На чисто вычислительных задачах разница в скорости у Java меньше процентов на 30-40. При работе с ФС и сокетами - раза в 2.5 - 3. Кстати, возможно это вас удивит, но при работе с ФС PHP оказался примерно вдвое быстрее java.
@@ОлегПавлюков-я2я писались программы, которые делают одно и то-же (например в цикле выполняют арифметические операции или делают запись в файл) с использованием разных языков и высчитывалось время, за которое будет выполнена операция.
Я сам учусь, но могу сказать, что если ты знаешь алгоритмы сортировки, поиска и структуры данных, которые у тебя на собеседовании в 90% случаев спросят, то можешь не читать, там все что ты уже знаешь.
@@ОлегПавлюков-я2я в целом знаю настолько ,сколько в течении изучения джава приходилось сталкиваться.Можно сказать знаю поверхностно.Спасибо Олег,все таки наверно стоит прочитать ,выучить что то новое и закрепить все то что знаю
@@Ро́бертДжеймсФишер-в5е почитай и в коде реализуй или хотя бы найди код на джава и разбери его. Могут попросить написать хотя бы пузырьковую сортировку. Книжка небольшая, а любые дополнительные знания будут плюсом рядом с твоей фамилией. Да и посмотреть как можно писать грамотный код будет плюсом для мышления.
Я может чего-то не понимаю, но зачем передавать исходники куда-то для компиляции под другую операционную систему (это к вопросу о языках которые компилируются сразу в машинный код)? Просто компилируешь под несклько целевых платформ/архитектур процессора. На своей поганой винде.
Вы сказали, что DESKTOP-приложение на Java будет медленно стартовать. Но как так, скорость Java-приложений на Android всех устраивает, почему вдруг скорость на Windows или Linux должна быть низкой?
@@ДанилПриколотин , она быстрее потому что к неё другая архитектура. Андроидовская ВМ регистровая, а жвм - стековая. Меньше команд, грубо говоря, нужно для выполнения операции. Чтобы понять разницу посмотри dalvik bytecode & JVM's.
@@ДанилПриколотин , сильно проще разработка и оптимизация под другие платформы в первую очередь, также проще ложится семантически на самую популярную парадигму - ООП. Собственно расшифровка аббревиатуры LLVM, low level VM, (регистровой ВМ) намекает об этом. Эрланговская ВМ, замечу, тоже регистровая (там свои как цели, преимущества и недостатки). Написание ВМ, компиляторов, GC и просто их изучение - это очень интересная тема.
Не в курсе задавался ли такой вопрос, обычно я смотрю все подобные видео. Есть ли способ защитить свою программу на Java от деобфускаторов, не используя обфускаторы кода, так как это зачастую влияет на производительность программы?
Только у винды своё апи, у линукса - своё. Общим будет только код бизнес логики, а часть кодовой базы придется писать отдельно для каждой операционной системы. А потом этот зоопарк ещё и поддерживать. Если б все было так просто - взять и скомпилировать под другую ось.
Основная причина - лишний вес. Гуи/графика на жаве непомерно толстые - оч много запакованных значений/структур в типичном зоопарке объектов. Не оч хорошая математика, а в нативный код ходит долго. Можешь посмотреть инди-хуинди на очередной libgdx и сколько они жрут. Когда смотришь на толстяка, играющего, допустим, в спортивный бадминтон - это выглядит смешно и нелепо. Как раз этого толстяка и зовут Жаба.
А кожен може написати консольну программу яка друкує літери заданного розміру символами накшталт зірочок ./graph "Vashe povidomlenia" ? Я можу на С написав
Глупый вопрос в студию: а C# компилируется теперь как, если он недавно стал кросс-платформенным? Вспомнилось потому, что этот язык в народе называют Microsoft Java и у них очень похожий синтаксис.
Слушайте, ну вот не хочет разработчик передавать открытый исходный код своей программы для компиляции под определенную ОС. Что мешает самому разработчику программы на си скомпилировать ее под все платформы пользователей своего софта? Чем не кроссплатформенность?
Есть ещё принтеры и холодильники, это сейчас только они на Андроиде делать начали, а раньше каждый производитель имел свою ОСь, я как-то увидел значку джавы на принтере и тогда понял в чем ее мощь/фишка, не только мобильники кнопочные
Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders. - Программисты .NET (Lurkmore)
Всё познается в сравнении! Из вашего рассказа становится понятно, что JVM -это интерпритатор/компилятор, написанный под каждую ОС, просто название другое. Некоторые разработчики программу называют аплетом, кодом, а здесь компилятор решили назвать JVM. Дешевые понты! В любом случае к такому преподу лучше не идти, т.к. не умеет ясно рассказывать. И ни одной картинки! ЖУТЬ. Это же основы обучения: текст+образы (уши+глаза).
Java машина нужна что бы, java девелоперы ездили на java работу, и получали за это java зарплату...)
в джава деньгах, да....
😂😂😂
Отличное видео! И кружка зачёт!
Приобрел себе МАШИНУ Java, что бы понтаваться перед девченками)
от оракел хоть ?
ахахаха
Я бесплатно скачал, мдаа тебя обманули походу
А я кофе на ней варю и дом отапливаю. Если мир якобы борется с "глобальным потеплением" - почему Java ещё не вне закона?)
Только не говори девченкам что она бесплатная
Здравствуйте Сергей , а Вы не задумывались о том что исходный код java машины имеет разные api обращения к разным ОС ? Я к тому что бывают ли такие случаи когда на одной ОС работает без ошибок а на другой ОС тот же jar файл выдает ошибки , при том если углубляться то ошибка будет иметь источник исключения в конфликте ОС и java машины
если только используешь в своей программе особенности какой-то определённой ОС
Супер. Коротко и ясно. Выделил главное из 100500 миллионов фактов. Спс!
Сергей, а расскажите пожалуйста по-подробнее про компиляцию и интерпретацию
сниму видео
Очень доступно рассказано, спасибо огромное
Спасибо
Впервые возник вопрос, который не стыдно задать и, возможно, это хороший вопрос для отдельного видео.
JSR - я так понял, что это стандарты в джаве. 330 - вроде про DI, 166 - про атомики.
откуда пошло первое JSR, сколько их всего, нужно ли их знать досконально и вообще зачем они особо нужны, ведь всегда достаточно знать практические имплементации?
Даже не знаю. рассказывать ли про JCP, JSR....
@@SergeyNemchinskiy JSP, JSF, JPA)) в джаве любят такие сокращения)
Здравствуйте, Сергей, нужно ли back end программисту знать AWT и Swing?
Нужно
Сергей говорил в других роликах, что AWT и Swing уже давно не используются нигде и учить их не нужно. Последние лет восемь все работает на веб-интерфейсах.
@@vitalienglin1079 Swing seriosly? Устаревшая да ещё и никем серьёзно не использующаяся технология. Побаловаться, но не для работы
@@vesony4765 А я с помощью них даже игры пишу)))
@@vitalienglin1079 Ну вы тот ещё мазохист)))
Можно ли изучать JAVA по книге Брюса Эккеля "Философия JAVA", если там описана версия SE5/SE6 ? Или нужно о более новой версии?
Можно. Все, что там рассказано - еще валидно.
Даешь видео про тормоза джавы! А то сишники до сих пор спорят во сколько раз джава медленее плюсов в 10 раз, в 1000 раз или и в правду в миллион.
Много раз про это рассказывал, но сниму отдельно видео
@@SergeyNemchinskiy было бы круто. Не так конечно познавательно, как серия видео "Нужно ли программисту уметь владеть клавиатурой и все такое", но это имидж языка, которому посвящен твой канал. Начинающим программистам, которые не знают стоит ли им учить sql, так же должно быть не понятно зачем учить джаву, если она медленная, многословная и на ней даже не пишут сайты. Расставь все точки на "емое".
специально писал когда-то года 2 назад синтетические программки чтобы замерить разницу в производительности. На чисто вычислительных задачах разница в скорости у Java меньше процентов на 30-40. При работе с ФС и сокетами - раза в 2.5 - 3. Кстати, возможно это вас удивит, но при работе с ФС PHP оказался примерно вдвое быстрее java.
@@homo-ergaster как замерял, на каких нагрузках?
@@ОлегПавлюков-я2я писались программы, которые делают одно и то-же (например в цикле выполняют арифметические операции или делают запись в файл) с использованием разных языков и высчитывалось время, за которое будет выполнена операция.
Часто ли используються двумерные или многомерные массивы в Java и программировании вообще?
коллекции чаще
практически никогда.
Что-то в моей Java машине движок барахлит. Давно техобслуживание не проходила. Не подскажите, стоит новую модель брать?
масло поменяйте, и фильтр же
Получается, вместо того, чтобы плодить много разных компиляторов, теперь нужно плодить много разных JVM под разные процессоры. Так а в чем профит?
Что такое веб-сервер и сервер приложений? Их отличия.
Уже в списке на съемку
СЕРГЕЙ 👏👏👏👏👏
спасибо
подскажите пожалуйста Сергей ,стоит ли новичку читать книгу Грокаем Алгоритмы??если можно хотя бы вкратце ответить.С нетерпением жду
Я сам учусь, но могу сказать, что если ты знаешь алгоритмы сортировки, поиска и структуры данных, которые у тебя на собеседовании в 90% случаев спросят, то можешь не читать, там все что ты уже знаешь.
@@ОлегПавлюков-я2я в целом знаю настолько ,сколько в течении изучения джава приходилось сталкиваться.Можно сказать знаю поверхностно.Спасибо Олег,все таки наверно стоит прочитать ,выучить что то новое и закрепить все то что знаю
@@Ро́бертДжеймсФишер-в5е почитай и в коде реализуй или хотя бы найди код на джава и разбери его. Могут попросить написать хотя бы пузырьковую сортировку. Книжка небольшая, а любые дополнительные знания будут плюсом рядом с твоей фамилией. Да и посмотреть как можно писать грамотный код будет плюсом для мышления.
Я может чего-то не понимаю, но зачем передавать исходники куда-то для компиляции под другую операционную систему (это к вопросу о языках которые компилируются сразу в машинный код)? Просто компилируешь под несклько целевых платформ/архитектур процессора. На своей поганой винде.
По поводу переносимости С. Сергей, не надо никому передавать свой код если нет желания. Существует кросс-компиляция для таких целей.
Вопрос другой - зачем современному java enterprise приложению запускаться на разных ОС?
@@nailsaggitarius4212 , разным заказчикам нужна одна и та же программа?
Это вопрос оптимизации бизнес-процессов. Гарантированная кроссплатформенность -> устранение одной из потенциальных проблем -> плюс к стабильности.
А джава-машину не нужно приспосабливать ко всему возможному железу, ОС и их сочетаниям?
Нужно.
нужно. но это делает ее производитель один раз. А не каждый программист на своем коде
Под каждую ось своя jvm
Вы сказали, что DESKTOP-приложение на Java будет медленно стартовать. Но как так, скорость Java-приложений на Android всех устраивает, почему вдруг скорость на Windows или Linux должна быть низкой?
В Андроиде СОВЕРШЕННО другая виртуальная машина dalvik/arm instead of jvm. Да и разработка совершенно специфичная тоже.
@@БарометрАтмосферный Эта другая jvm быстрее, потому что там нет библиотек для сервера?
@@ДанилПриколотин , она быстрее потому что к неё другая архитектура. Андроидовская ВМ регистровая, а жвм - стековая. Меньше команд, грубо говоря, нужно для выполнения операции. Чтобы понять разницу посмотри dalvik bytecode & JVM's.
@@БарометрАтмосферный А почему Oracle не написал регистровую виртуальную машину, раз она быстрее работает?
@@ДанилПриколотин , сильно проще разработка и оптимизация под другие платформы в первую очередь, также проще ложится семантически на самую популярную парадигму - ООП. Собственно расшифровка аббревиатуры LLVM, low level VM, (регистровой ВМ) намекает об этом. Эрланговская ВМ, замечу, тоже регистровая (там свои как цели, преимущества и недостатки). Написание ВМ, компиляторов, GC и просто их изучение - это очень интересная тема.
Не в курсе задавался ли такой вопрос, обычно я смотрю все подобные видео.
Есть ли способ защитить свою программу на Java от деобфускаторов, не используя обфускаторы кода, так как это зачастую влияет на производительность программы?
Правильно ответили - смысла в этом чуть менее, чем ноль
можно написать такой говнокод, что он не нужен будет даром. И без обфускации
@@SergeyNemchinskiy а вот тут ошибаетесь. Смысл есть. Не все хотят saas, кому-то нужно на их серверах.
Смотри видос про говнокод и делай и всё наоборот.
А я думал что "Ява" это не машина, а мотоцикл. фить-ха!))
Так ведь можно компилить самому на две оси и продавать программу, и все будет норм, или я что-то путаю и не понимаю?
не совсем так. Хотя и так люди делают
Только у винды своё апи, у линукса - своё. Общим будет только код бизнес логики, а часть кодовой базы придется писать отдельно для каждой операционной системы. А потом этот зоопарк ещё и поддерживать. Если б все было так просто - взять и скомпилировать под другую ось.
@@PTolkachev спасибо за пояснение. Теперь понятнее стало, в чем сложность)
ещё вопрос , почему Java не используется в геймдеве ?
Основная причина - лишний вес. Гуи/графика на жаве непомерно толстые - оч много запакованных значений/структур в типичном зоопарке объектов. Не оч хорошая математика, а в нативный код ходит долго.
Можешь посмотреть инди-хуинди на очередной libgdx и сколько они жрут.
Когда смотришь на толстяка, играющего, допустим, в спортивный бадминтон - это выглядит смешно и нелепо. Как раз этого толстяка и зовут Жаба.
то есть кроссплатформенность java это круто, а кроссплатформенность flutter фигня только для пруфконцепт. Почему так?
А кожен може написати консольну программу яка друкує літери заданного розміру символами накшталт зірочок ./graph "Vashe povidomlenia" ? Я можу на С написав
на любом современном языке это пара строк. Да и на С тоже
@@SergeyNemchinskiy github.com/hendalf332/hendalf332.github.io/blob/master/MalueLitery.cpp Ну да конечно абсолютно с вами согласен
Глупый вопрос в студию: а C# компилируется теперь как, если он недавно стал кросс-платформенным? Вспомнилось потому, что этот язык в народе называют Microsoft Java и у них очень похожий синтаксис.
Sergey, Так ли важно программисту иметь прокаченный аккаунт на stackoverflow и учитывается ли это при приеме на работу?
Да, у меня спрашивали
@@mixelx :D зачем работодателю твой аккаунт там вообще?
строго пофиг
Знаю тех, кто смотрит. И github тоже. Так что не помешает.
@@jewgenijmoldawski3306 github да, это наглядный пример того, что ты написал или на что способен. Однозначно будет плюсом в копилку.
Сергей вы немного ошиблись, не everywhere, а anywhere)))))
Слушайте, ну вот не хочет разработчик передавать открытый исходный код своей программы для компиляции под определенную ОС. Что мешает самому разработчику программы на си скомпилировать ее под все платформы пользователей своего софта? Чем не кроссплатформенность?
Вперёд, компилируй под все версии линукса, винды, айоса. Думаю после двух-трёх таких компиляций желание этим заниматься отпадет.
@@dubovikovpv Так можно ж нонять ково то
Для прохождение курса менторство какую книгу посоветовали бы? Из всех перечисленных вами. Под видео где рассказываете про книг
Файна. Она самая простая
Типа операцоинок много. Их всего-то три, а самых популярных две, а самых-самых популярных - одна (без учета мобильных).
Работая на бэке могу с уверенностью сказать, что ПО придется делать под линукс.
Есть ещё принтеры и холодильники, это сейчас только они на Андроиде делать начали, а раньше каждый производитель имел свою ОСь, я как-то увидел значку джавы на принтере и тогда понял в чем ее мощь/фишка, не только мобильники кнопочные
Это для всех существенно
1:24 AXAXAXA)
Red Hat сменил своего владельца только совсем недавно, в 2019 году, .... кагбэ...
www.opennet.ru/opennews/art.shtml?num=49980
Аргументы за "почему нельзя просто скомпилировать под разные ос" очень не убедительны
А зачем нужны курсы?! Они дадут работу?!
Джава машина нужна чтобы все тормозило.
Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders. - Программисты .NET (Lurkmore)
Всё познается в сравнении! Из вашего рассказа становится понятно, что JVM -это интерпритатор/компилятор, написанный под каждую ОС, просто название другое. Некоторые разработчики программу называют аплетом, кодом, а здесь компилятор решили назвать JVM. Дешевые понты! В любом случае к такому преподу лучше не идти, т.к. не умеет ясно рассказывать. И ни одной картинки! ЖУТЬ. Это же основы обучения: текст+образы (уши+глаза).