Ответы пользователя по тегу Java
  • Как правильно читать книги по программированию?

    Вы можете держать фокус на книге 40 минут, это очень хорошо, на мой взгляд. Читайте 20 минут книгу, а 20 минут делайте, программируйте, пробуйте, ошибайтесь, но действуйте.

    Мозг переключится.

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

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

    Разбейте задачу на маленькие куски, и решайте её с помощью языка/технологии, которые вы изучаете. Если при реализации какого-нибудь маленького куска программы у вас возникла проблема, а в книге об этом ничего нет, то спрашивайте на форумах, вроде stackoverflow.com

    Должен заметить, что при публикации вопросов на подобных форумах, если вы хотите быстро получить ответ, формулируйте свои вопросы предельно корректно. Объясните задачу, которая стоит перед вами, обязательно покажите код, которым вы пытались эту задачу решить. И напишите, что у вас не получается.

    Если с английским сложно, то есть StackOverflow на русском языке: ru.stackoverflow.com

    Это намного эффективнее, чем изучать книгу в "скучном" режиме. Читая теорию, затем делая упражнения.

    Успехов.
    Ответ написан
    Комментировать
  • Как запретить выполнять несколько экземпляров программы?

    Я применяю подход, косвенным эффектом которого является блокировка параллельно запущенных приложений.

    1. В файле настроек храните номер сетевого свободного порта, например 5555
    2. При старте программы поднимайте ServerSocket и слушайте этот порт на localhost

    Я использую этот приём, чтобы правильно погасить уже запущенную программу, запустив её ещё раз с параметром STOP. В таком случае запущенная программа отправляет на localhost:5555 команду прекращения работы. Что считывается через ServerSocket и программа аккуратно завершается.

    Побочным эффектом этого подхода является то, что запустить второй экземпляр программы (без параметра STOP) не получится, так как она попытается открыть ServerSocket по этому-же порту (5555).
    Ответ написан
    Комментировать
  • Книги по java

    Ответ написан
    Комментировать
  • Нужно зашифровать файл настроек программы Java?

    Навскидку так:

    1. Создаём потомка для ByteArrayOutputStream и перегружаем метод write(byte[] b, int off, int len), чтобы прогонять записываемый массив байт через XOR

    2. Создаём потомка для ByteArrayInputStream и перегружаем метод read(byte[] b, int off, int len) чтобы прогонять читаемый массив байт через XOR

    3. Для работы с настройками используем класс Properties и его методы: storeToXML(OutputStream os, String comment) для записи настроек в файл, и loadFromXML(InputStream in) для считывания настроек.

    В параметры этим методам передаёте экземпляры классов потоков, созданных на шагах 1 и 2
    Ответ написан
    2 комментария
  • Java for Android - с чего начать?

    Посмотрите мой ответ на один из старых вопросов на эту тему: habrahabr.ru/qa/4973#answer_21427
    Ответ написан
    Комментировать
  • Разыскиваются опен-сурсные Java проекты для участия

    Посмотрите тут: sourceforge.net/

    Там есть поиск и рубрикатор по языкам программирования.
    Ответ написан
  • Выбор Java IDE

    Мне больше всего нравится Netbeans. После него идёт Eclipse, а затем IDEA.

    Насчёт советовать — попробуйте поработать со всеми тремя средами и выберите ту, с которой вам удобнее работать. Eclipse для новичков несколько сложнее для освоения, нежели Netbeans. Но тут я ориентируюсь на свой старый опыт. У вас может сложиться совершенно другое впечатление.

    В любом случае будет очень нелишним уметь работать во всех средах. Кто знает с каким проектом вам придётся столкнуться в будущем и в какой среде он будет разрабатываться.
    Ответ написан
    Комментировать
  • Расход памяти под методы объектов?

    Виртуальная машина (JVM) хранит данные экземпляров классов и их методы в разных областях памяти.

    При умножении количества экземпляров одного класса умножения копий его методов не происходит.

    Более развёрнуто можно почитать в главе The Structure of the Java Virtual Machine спецификации JVM: The Java Virtual Machine Specification
    Ответ написан
    Комментировать