Ответы пользователя по тегу Java
  • Как выбрать список сущностей с кастомным набором атрибутов через Criteria API, если у сущности есть связанная коллекция других сущностей?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Вопрос непонятен. Если CriteriaApi может получить stream произвольных объектов (UserEntity) то
    к стриму всегда можно применить метод map и взять только нужый стрим полей.
    .stream().map(userEntity -> userEntity.getAvatar)....
    Ответ написан
  • Java или C++ для сложных задач, проектов и computer science?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    C++ сегодня очень сложен как язык. Порог вхождения высок и новички часто обламывают об него зубы доходя лишь до арифметики указателей. Там - половина ньюкамеров можно выносить ногами вперед. Скорость разработки прикладного ПО под backend на Java значительно выше. Да и облачные технологии такие как Google Clound , Amazon AWS поддерживают все языки кроме С++. Вобщем если автор хочет быстрых денег - то лучше Java.
    В С++ надо вырасти до седых волос чтобы представлять что-то серъезное потому-что стек С++ плотно уходит в операционную систему и железо. Невозможно знать просто С++. Надо быть немного сисадмином и железячником. Иначе в С++ делать нечего.
    Ответ написан
    Комментировать
  • Есть ли полноценная история Java-апплетов?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Не очень понятен смысл этого доклада. Вроде как it-археология еще не появилась как наука.

    Java Appletts, ActiveX, Macromedia/Adobe Flash - это всё технологии которые умерли и браузеры их не поддерживают. В этом будет основная проблема при написании доклада. Некуда смотреть во время demo. Документация по ним скорее всего есть в архивах oracle.com (sun.com) надо просто искать мануалы от 90х 2000х годов на сайте производителя. Думаю что можно найти очень много старых электронных pdf книжек на эту тему.
    Ответ написан
    Комментировать
  • Зачем нужен Optional и почему над null нельзя выполнить те же действия?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    В отличие SQL, Lisp и прочих технологий где null/nil имеет смысловую семантику и позволяет выполнять операции в Java любая попытка применить любой метод к null выбрасывает немедленный NPE. Это означает что программист ЗАБЫЛ инициалировать объект. Это грубая ошибка и самое печальное что она не чекается компиллятором. Использование Optional в стримах необходимо чтобы защитить применение map/filter от внезапного NPE.
    Пример который привел автор в начале топика просто неудачен. Он не раскрывает преимуществ Optional. Смотрите статью на сайте Баелдунга. Она - более наглядная.
    Ответ написан
    Комментировать
  • Как работает оператор new с памятью в Java?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Выделяется память в eden space по принципу стека. Поэтому сама аллокация происходит быстро. Когда eden переполняется - запускается процедура уборки и уплотнения GC. Физические адреса объектов при этом могут изменятся. После нескольких фаз уборки выжившие объекты перемещаются в PermGen/Metaspace как постоянные. Так примерно работает lifecycle для классического gc. В новых - не знаю. Могут быть нюансы.
    Ответ написан
    Комментировать
  • Как прочитать данные в Java с ethernet порта?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Надо сначала понять роли. Клиент ты или сервер.
    Ответ написан
  • Как создать запрос к базе данных?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Данная задача не решается в рамках CrudRepository.

    Архитектурно. Для крупных систем если кто-то хочет искать произвольный текст (fuzzy text search) по вводимому выражению наподобие гугло-поиска специально подключается Apache Lucene или ELK stack. В него реплицируется искомая табличка и далее уже по этой реплике выполняются все текстовые сёрчи.

    Все что вы сейчас наделаете в рамках классической реляционной алгебры будет работать медленно и плохо ибо реляционная алгебра не создавалась вообще для подобных нечетких поисков.
    Ответ написан
    Комментировать
  • На чем пишут десктоп приложения на Java/C#?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Если писать под Windows то наверное лучше брать .Net - фреймворки. Они более нативные и как следствие
    имеют богаче возможности конкретно под Винду.

    Java сегмент разработки UI не захватила. Я сужу по количеству вакансий. И сегодня нужно быть очень смелым и дерзким чтобы что-то писать на десктоп под Java.

    Хотя есть альтернативные направления (Android) но я к сожалению не специалист в нем и как там - не знаю.
    Ответ написан
    Комментировать
  • Как продолжить изучение Java после JavaCore?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Безсмысленно изучать в Java-технологиях всё подрят. Вы утонете. Сегодня библиотек и фреймворков настолько много что вам хватит до конца жизни. С практической точки зрения полезно изучать Spring Boot и все дочерние технологии в этом домене. Так вы с гарантией пройдете 80% собеседований. Но еще лучше открыть местную газету и почитать открытые вакансии в вашем регионе. И целенаправленно узнать что требуется.
    Ответ написан
    Комментировать
  • Python или Java код, проще сопровождать в больших проектах?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Оба языка вполне себе годные. Но так вопрос ставить нельзя. Ценнось языка - это как ложка к обеду. Нужно брать тот который вы знаете лучше.

    Чисто технически Java - более строгий язык. С точки зрения типизации. Следовательно в фазе компилляции отловит большинство ошибок который Питон не заметит. И с точки зрения перформанса. Java отстает где-то на 20% от С++ кода по скорости исполнения. Питон - во много раз медленнее. На чистой алгоритмизации. Особенно если вы не использовали никаих внешних библиотек на сях.
    Ответ написан
    Комментировать
  • Что такое сервлет?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Сервлет - это аналог CGI. Была когда-то давно такая техника. Но в современной разработке сервлеты уже не принято использовать. Их заменяют на Rest-endpoints, GraphQL-endpoints которые отдают чистый контент в виде JSON/XML.
    Ответ написан
    1 комментарий
  • Зачем в sql запросе разделяют плюсами?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    В Groovy и Scala есть возможность делать переносы без кавычек в каждой строке. Это так называемые multiline. В Java тоже запланирован JEP не помню в какой версии.
    Ответ написан
    Комментировать