Ответы пользователя по тегу Java
  • Где взять полные либы Телеграм бота для Java?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Сделай проект на мавене, все зависимые либы подтянутся.
    Ответ написан
    Комментировать
  • Какая будет структура программы?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Раз сомневаетесь то то покажите что у вас уже есть и что не нравится. Пока вопрос выглядит как задание и может улететь в бан.
    Ответ написан
  • Зачем учить jvm языки кроме Java?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Вот есть напиток кофе. одним подавай кофе со сливками, другим с молоком, третьим с сахаром а четвертым вообще двойной крепости и без кофеина.
    Тут таже ситуация. Если Вам привычнее java пишите на ней т.к. вакансий все еще очень много, хочется нового ну кто Вам запрещает?
    Ответ написан
    Комментировать
  • Как делать что-то при открытие окна в JavaFX FXML?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    В случае с FXML из конструктора контроллера еще нельзя обращаться к fxml элементам, зато есть метод initialize() который отрабатывает уже после инициализации всего fxml, используйте его.
    Ответ написан
    2 комментария
  • Как найти эффективное решение задачи (Java)?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Виктор Мальков,
    еще в копилку, не короче но вызовет приступ у ненавистников лямбд и стримов
    IntStream.rangeClosed(1, n).forEach(i -> {
                IntStream.rangeClosed(1, n).forEach(j -> 
                    System.out.print((i + j) % 2 == 0 ? '*' : '-'));
            System.out.println();});


    Еще изврат, правда будет работать только с нечетными числами но зато в один цикл! =).
    IntStream.rangeClosed(1, n*n).forEach(i -> System.out.print(i % n != 0 ? (i % 2==0 ?'*':'-') : '\n'));
    Ответ написан
    Комментировать
  • Как связать таблицу где ее pk ключ является составным от pk внешней таблицы и поля cамой таблицы??

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Мы тут в первую очередь чтобы помочь в решении проблемы которая уже возникла, а тут скорее голая просьба решить задачу. Где Ваши попытки? Где суть проблемы по итогам Ваших проб и ошибок?
    Есть гениальная поговорка хоть и не помню дословно но помню смысл "Попробуй объясни обезьяне суть проблемы и получишь ответ на свой вопрос", как то так. Так к чему я, попробуйте для начала сами себе объяснить вопрос, возьмите бумажку и на ней начеркайте что есть и как хотите, хоть текстом хоть диаграммой, попробуйте в живую объяснить суть девушке\жене\ребенку\брату\другу. Уверен что ответ сам придет, вот если по какой то причине даже так не осеняет то уже с результатами умозаключений идите сюда.
    Без обид но я крайне часто вижу тенденцию, что все обленились и гораздо проще бежать спрашивать ответ, вместо того чтобы хоть чуть чуть напрячь извилины и попробовать пораскинуть мозгами с разных сторон. А что случится если внезапно окажитесь без интернетов да без опытных умов вокруг и спросить будет негде?
    Ответ написан
    3 комментария
  • (Java) Как отсортировать этот массив объектов?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Читать основы, и даже не jav'ы в частности.
    Ответ написан
    3 комментария
  • Java проблемы с кодировкой, поможете?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    ReversedLinesFileReader(File file, int blockSize, String encoding)
              Creates a ReversedLinesFileReader with the given block size and encoding.
    Ответ написан
    1 комментарий
  • Наследование методов Java?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Thread myThread = new Thread() {
        public void run() {
           //тут код ваш
        }  
    };

    Или вот так с лямбдами
    Thread myThread  = new Thread(() -> {
        //тут код ваш
    });
    Ответ написан
    3 комментария
  • Как продолжить изучение Java после JavaCore?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Берете яйца в руки и идите собеседоваться. Не прокатит, сразу узнаете причины как минимум сами по вопросам на которых плавали. В нормальной конторе посмотрят знания и спокойно, если действительно знаете описанное, возьмут.
    Ответ написан
    Комментировать
  • [Мне хочется странного] Можно-ли подменить класс при импорте в Java?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Курите рефлексии, класслоадеры, агенты. Выбирайте что вам больше подойдет.
    Ответ написан
    Комментировать
  • Как конвертировать .jar в .exe на JDK 11?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Ну начнем по порядку.
    Java как язык и среда крайне консервативная и любые нововведения как правило воспринимаются в штыки. Плохо это или хорошо вопрос крайне тонкий и в глазах потребителя всегда разный. Со стороны энтерпрайза это просто восхитительно, есть огромный выбор в хороших специалистах, есть огромное время поддержки нужной версии которая обкатана годами и уже почти все известно о всех тонкостях. Со стороны мелких инноваторов и разработчиков развитие идет непостижимо медленно а значит есть отставание от трендов и оно значительное.
    Предрекая вопрос что за бред привожу следующий факт по поддержке версий:
    J2SE 1.4 выход 2002 год, конец поддержки 2013
    J2SE 5.0 выход 2005 год, конец поддержки 2015
    J2SE 6 выход 2006 год, конец поддержки 2018
    J2SE 7 выход 2011 год, конец поддержки 2022
    J2SE 8 выход 2014 год, конец поддержки 2025
    J2SE 9-10 вышли в 2017/18 годах, проходные бэты и ключевой момент развития и политики java в котором произошло множество огромных изменений политики. Особенно изменилась лицензия по моему именно где то тут и очень сильно, рекомендую почитать холивары на эту тему.
    J2SE 11 вышла в 2018, конец поддержки 2026 год.
    Если вдаваться в абстракцию могу предложить следующую иллюстрацию. (еще раз это просто иллюстрация для понимания и попыток провести параллель с чем то иным).
    Предположим что майкрософт идет тем же трендом что и оракл как и весь мир большого бизнеса. На выходе имеем следующее:
    -основная ОС на которую ориентируются большие игроки рынка софта и игр является winXP.
    -миром до сих пор правят однопоточные но многогерцовые процессоры которые правда уперлись в 5Ггц. Зачем менять то что и так прекрасно в простоте. Просто удешевляем и "ухолодняем" производство. Да и вообще у основной массы все еще камни уровня 1 поток и 3.4 ГГц. Ориентируемся на это.
    -миром видеокарт до сих пор правят dx9c без новомодных нововведений, без cuda\opencl, без dxr, без подходом низкоуровнего апи вида вулкана\dx12. Зачем менять то что итак прекрасно работает и давно известно с каждой стороны. Видеокарты выходят давно упер в возможности выходя из ревизии к ревизии с фиксами багов и удешевлением производства. Да и в общем то зачем что то новое, т.к. у основной массы еще графика уровня встройки.
    - всякие nvme\m2\pcie4 все от лукавого, зачем это если у массового пользователя все еще sata2 hdd который едва ли выдает что то среднее.
    -мониторы у всех в среднем 800х600 пикслей, а зачем больше то?
    + На выходе с этими ориентировками имеем универсальный продукт(софт\игру) которая будет работать вообще у всех в среднем отлично, все возможные баги были известны и пофикшены еще 10 лет назад. Новомодное все от лукавого и только у единиц энтузиастов, а значит не берем их в расчет или берем пытаясь выдать это как фичу.

    Теперь немного пояснений к вышесказанному, разработчики, большие естественно, получают колоссальное преимущество т.к. их много, есть выбор, они знают и понимают что и как происходит, у них есть богатый стаж как делать можно и как нельзя, а главное почему. Изучение языка и стандарта версии крайне подробное, тонны книг, курсов, обсуждений. С другой стороны никаких новшеств нет, все как на уровне 10 лет назад так и осталось, хочешь круглую кнопочку так забудь или только медленными костылями за которые сразу объявят костылеписателем рукожопом.

    Надеюсь параллель понятна. Теперь к вопросу.
    Сейчас, я напомню 2019 год, скажу честно видел не один десяток энтерпрайз решений которые до сих пор все еще развиваются на jre7. Есть те кто скрипя зубами переходит на jre8, но пока, опять же лично мои наблюдения, это вот прям скрипя зубами о асфальт, очень нехотя, очень не хочется.

    Касательно компиляции в ехе, нет такого понятия в мире java. Опять же дам пояснения.
    Java это про изоляцию хостового железа от софта. Т.е. у Вас есть софт которому глубоко фиолетово сколько там ядер, какая ФС, какая ОС и т.д. .JRE это "виртуальная машина" и в этом ее прелесть, "есть один бинарник который работает везде и которому пофиг где он был запущен" главное чтобы была JRE.
    И вот тут возникает прикол, самих реализаций JRE множество, есть платные, есть бесплатные, есть условно платные, у каждой своя лицензия и ограничения Каждая решает свои проблемы.

    Так вот, предложу очередную аналогию. Предположим Вы создали автомобиль который ездит на "топливе", все замечатально, в вашем определении топливо "все что горит". На практике же на бензине он как бы работает и так как ожидалось. На дизельном как то вообще не очень. На авиационном, ну работает правда не долго. На водородном вот даже не заводится.

    Ну ладно хватит вокруг да около, а то развел демагогию. Лично мое мнение и практика, JAVA приложения вообще нельзя, еще раз НЕЛЬЗЯ собирать в ехе или любую другую самодостаточную сборку.
    Банально но потому что Вы врезаете пользователя или СЕБЯ в лицензию или ограничения. Ну например вы собрали ехе который по сути включает jre под win10 и скинули мне, а у меня winXP и нифига не работает, а если работает то с совершенно непонятными логами багов. Вот скинули бы jar файл с пометкой что собран под jre7 то проблем бы не было от слова совсем.

    А, и к слову, даже встроенный механизм java по сборке так называемых native сборок не решает проблем разношерстности от слова совсем.

    PS. надеюсь не зря написал такое эссе и донес свою мысль. Мысль основывается на моих наблюдениях и опыте.
    Ответ написан
    7 комментариев
  • Какие есть opensource ide/редакторы на Java?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Arduino IDE
    Ответ написан
    Комментировать
  • Как перебрать ресурсы с помощью цикла?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Упихай ресурсы в массив, читай циклом.
    <resources>  
    <string-array name="myStringsArray">  
        <item>adamt1</item>  
        <item>adama1</item>  
        <item>adama1t</item>  
        <item>adam2</item>  
        <item>adama2</item>
        <item>adama2t</item>
    </string-array>
    
    
    ....
    String[] myStringsArray= getResources().getStringArray(R.array.myStringsArray);
    for (int i = 0; i < 11; i+=3) {
                 items.add(new Send( myStringsArray[i]));
                 items.add(new Send2( myStringsArray[i+1],myStringsArray[i+2]));
    }
    Ответ написан
    1 комментарий
  • Как реализовать функционал cutter mp3 в приложении для Android?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Сложно открыть гитхаб, набрать "mp3 cut" и нажать фильтр по "java"? Там вам будет сразу с десяток реализаций и посмотреть как и что кто делал.
    Кроме того у вас не вопрос а фактически задание в котором вы хотите чтобы вам все разжевали.
    Если углубиться еще сильнее то вы даже не пытались воспользоваться поиском тостера и внезапно обнаружить что такой вопрос уже был и он решен.
    Ответ написан
  • Как разбить программу на компоненты?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    1) пишите цели сборки и проекты в maven\gradle
    2) такое есть в idea, нужно просто ткнуть носом где лежат исходники либы.
    Ответ написан
    3 комментария
  • Какова будет связь методов System.arraycopy() и Arrays.binarySearch() при таком использовании?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Не совсем понятен вопрос, вы бы лучше кодом кинули что именно у вас вызывает вопрос.
    А так на заметку
    - для binarySearch массив всегда должен быть отсортирован иначе поведение будет ошибочно и непредсказуемо
    - binarySearch вернет позицию искомого элемента или -1 если его нет(или если массив не отсортирован)

    Условно говоря у вас следующая картина и в принципе тут все крайне понятно что и откуда.
    int sourcePos = Arrays.binarySearch(source_arr,40);  //3
    int destPos     = Arrays.binarySearch(dest_arr,65);     //5
    int len =4;
    System.arraycopy(source_arr, sourcePos, 
                                  dest_arr,    destPos,     len);
    Ответ написан
    7 комментариев
  • Как правильно перенаправить вывод работы потоков в TextArea?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Синхронизировать потоки с потоком javafx.
    Ответ написан
    Комментировать
  • Как писать программы на java?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Основы и есть все что железобетонно необходимо знать, все опирается на это.
    Как пример что вы привели массивы и графический редактор.
    Если взять за основу 3д редактор то выйдет следующее. Утрированно все работает на этих массивах. Модель состоит из массива точек, еще один массив описывает соединения точек из первого массива в полигоны, дальше еще один массив описывает координаты текстурной развертки по этим полигонам. Все операции в том или ином виде идут над этими массивами, причем как правило они весьма простые но математические.
    В общем учите основы, дальше уже берите книжки с уклоном что вам нравится, если графика то по большей части это будут книги не языковые а матан,геометрия и т.д. .Если хочется в сеть то для начала книжку про то как это устроено, спецификации и стандарты, потом уже можно взять книжку именно по java и сетям и дело пойдет очень легко.
    Любая программа даже самая огромная в конечном счете состоит из множества простейших участков кода основ.
    Ответ написан
    3 комментария