Ответы пользователя по тегу Java
  • Что разрабатываю Java и .NET программисты?

    @odissey_nemo
    Программист, ГИС-системы, растры, космоснимки
    На java можно писать всё то, что пишут и на других языках. И базы данных (через JDBC) и приложения с формами (Swing) и обработку графики (через GDAL, например). Это не считая WEB приложений, на которые Java особенно заточена.

    Так, за последние 7 лет в в одиночку или содружестве написаны:
    1. Ядро ГИС-системы (отрисовка и пространственные запросы.
    2. Предобработка спутниковых изображений (любого размера через кэширование по кускам).
    3. Быстрая медианная фильтрация однобитовых изображений.
    4. WEB сервис для хранения и выдачи разнородных данных. Написан полностью на Java SE, без каких либо JavaScript'ов, Питонов и т.д.. Но с помощью библиотеки Vaadin.

    Ядро ГИС писалось, в частности, с целью сравнения скорости работы Java с С и Дельфи. В настольном приложении пользователя потери скорости не обнаружены. Куски карты размером в экран монитора генерировались из векторных данных на диске за десятые доли секунды. При этом память оставалась константного размера независимо от размера данных или одновременно открытых карт.

    Отсюда вывод: пишет программист, но не язык, который он использует. И на выбор языка для разработки больше влияют запросы и условия заказчика, а не пристрастия разработчиков.

    Наверное, на КОБОЛе программировать сегодня посложнее, нем на Java, C[#] или Fortran, но и язык этот из тех, что закончили своё существование.
    Ответ написан
    Комментировать
  • Java - тормозит, а Cи - нет?

    @odissey_nemo
    Программист, ГИС-системы, растры, космоснимки
    Числодробительный код на Java примерно в 2-3 раза медленнее, чем на С++ или, скажем, Delphi. Так кажется на собственной субъективном опыте. Т.к. на Java слишком много разных фич пристыкованы в байт-коде чисто механически.

    Но писать программы со вполне удовлетворительным быстродействием вполне можно. Даже нумерологические. Скажем, полная обработка растров размерами 10000 на 10000 (бинаризация или другие матричные фильтры) средствами собственного кода (без нативных библиотек) вполне отрабатывает за секунды. Не утомляя пользователя. Но!Тут и встаёт вопрос о знании алгоритмов, вернее, какой где стоит применить.
    Ответ написан
    Комментировать
  • Какой java библиотекой конвертировать multi-strip tiff на pdf?

    @odissey_nemo
    Программист, ГИС-системы, растры, космоснимки
    Strips - это отдельные последовательные блоки в Tiff. Для ускорения доступа к произвольным частям растра.

    Использовать в целях всеядности и оптимальности можно GDAL (есть Java коннект) - то натуральный зверь, жрущий всё подряд. Относительно сложен в освоении, но достаточно прост в использовании. Примеров - много.
    Т.к. GDAL работает почти с любыми форматами растров, проблем с переделкой существующего кода не будет. Разве только с новым кодом работы с GDAL) И да, он занимает много места (на каждый формат своя библиотека).

    Возможно, ради только TIFF и не стоит с GDAL заморачиваться.
    Ответ написан
    2 комментария
  • Почему выполняется только последнее if?

    @odissey_nemo
    Программист, ГИС-системы, растры, космоснимки
    Вместо str1 == str2 лучше использовать str1. equals(str2)
    Ответ написан
    Комментировать
  • В какие крупные компании можно устроиться JAVA программистом, и как?

    @odissey_nemo
    Программист, ГИС-системы, растры, космоснимки
    Смотрят на диплом, опыт работы. Пропускают через детектор лжи (в конторах, приближённых или вышедших из органов). Пропускают через собеседование.

    Поработал. От 3 месяцев до 6 лет.

    Выкидывают по сигналу западного контролёра. В любой момент. Т.к. весь твой отдел/департамент нуждается в оптимизации (секвестировании) расходов.

    Бездушная атмосфера. Менеджирование не процессов, а людей. Контроль времени, а не результатов. Ибо цель - прибыль, а не решение.
    Ответ написан
    Комментировать
  • Как округлить число до двух знаков после запятой (Java)?

    @odissey_nemo
    Программист, ГИС-системы, растры, космоснимки
    Для конкретного примера может и подойдут решения верхние, но в общем случае - сильно не уверен.
    Гарантированно можно так:
    jLabel5.setText(jLabel5.getText() + String.format( Locale.US, "%.2f", y) );
    Тут и разделитель чёткий - точка, и форма представления не окажется вдруг научная.
    Ответ написан
    Комментировать
  • Как последовательно выводить текст на JFrame?

    @odissey_nemo
    Программист, ГИС-системы, растры, космоснимки
    Ссылка на учебник текстовых компонентов Java. Я использовал для сходных целей JTextArea. Для разбиения по строкам использую txtArea.getText() + '\n' + "Тест новой строки"; (это только пример).

    Не очень удобно перед компьютером обновлять текст целиком, добавляя новую строку к общему буферу предыдущего текста, но ничего более простого в Java нет. Можно, впрочем, организовать устранение предыдущих строк, чтобы отображаемый буфер не становился очень уж большим.
    Ответ написан
    Комментировать