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

    @tsegorah
    volatile означает, что переменная не кэшируется в "памяти потока", а всегда используется "основное значение", с данном случае это схоже с тем, что переменная синхронизированна собой же.

    С учетом того, что это не просто переменная, а поле к классе, которое может быть много где использовано,
    то у вас может получиться так, например, что один поток вызовет somePublicMethod, а второй поток захочет изменить переменную где то в середины выполнения метода.
    Рекомендую вам сделать синхронизацию методов доступа к полю по инстансу объекта. (тот же synchronized на метод)
    Ответ написан
    Комментировать
  • Как реализовать удаление элемента из коллекции Java?

    @tsegorah
    Попробуйте воспользоваться ListIterator , он поддерживает операцию удаления, но с ограничениями, рекомендую почитать javadoc.
    Ответ написан
    Комментировать
  • Подойдет ли java в качестве первого языка?

    @tsegorah
    Подойдет.
    Советую Философия Java - Брюс Эккель. Лучше английский вариант, из перевода вырезали часть.

    пс - не стоит ненавидеть какой то стек технологий, если он есть и не вымер, значит у него есть свое предназначение.
    Ответ написан
  • Что можно реализовать на разных языках программирования? С++ Java Python на какие ОС?

    @tsegorah
    Вы написали бы ещё свой текущий уровень знаний по математике, программированию, алгоритмам, было бы проще подсказать.
    А вообще для обучения, если у вас совсем мало знаний в этой области я рекомендовал бы java, по моему мнению в обучении язык со строгой типизацией был бы лучше. Си хорош, но предполагаю что для начинающего порог вхождения будет выше чем в java. Попробуйте книгу "Head First Java / Изучаем Java" - конкретно её я не читал, но остальные книги серии для начального обучения самое то. Потом рекомендую философию java от Эккеля, а дальше сами поймете что вам нужно ещё.
    А с точки зрения применения языков, на работе используем java, python, c++(qt), правда я в основном на java пишу. Все эти языки нужны и с ними вы не пропадете, но вакансий на java больше)
    Ответ написан
  • Как работает аннотация @Inject?

    @tsegorah
    А почему Inject у вас? а не @PersistenceContext(unitName = «Blablabla») и тд? Может я что-то не правильно понял в вашем вопросе, но я всегда использую @PersistenceContext.
    Ответ написан
    3 комментария
  • Ссылка на файл вне JAR'a?

    @tsegorah
    Не придумывается ничего кроме как аргументов при запуске(если отдельное приложение), или положить внутрь jar файл с настройкой, например в файл свойств.
    А сервером вы называете просто саму машину, или сервер приложений? В последнем случае вы могли бы задать JNDI имя на сервере со строковым содержанием и им пользоваться.
    Ответ написан
    Комментировать
  • Нагрузочное тестирование игрового сервера на SmartFox?

    @tsegorah
    Как было написано выше, уточните протокол и что тестировать будете.
    Я для нагрузочного тестирования использую grinder, может и вам пододет.
    Ответ написан
    Комментировать
  • Kниги и проекты для возможности практиковаться по многопоточности в Java?

    @tsegorah
    Кроме уже посоветованной выше Java Concurrency in Practice ( по моему личному мнению книгу стоит прочитать), еще могу посоветовать вам Effective Java — Joshua Bloch, там конечно заметно меньше про многопточность, но в книге еще освещены другие интересные вопросы.
    Ответ написан
    2 комментария
  • Работа regexp в java и javascript

    @tsegorah
    А вам что нужно получить из исходной строки, вам надо выцепить пары attr1=val1?
    Если да, то тогда так сработает

            String inpt= "object[attr1=val1 attr2=val2 attr3=val3]";
            Pattern pathPattern = Pattern.compile("\\w{1,}=\\w{1,}");
            Matcher matcher = pathPattern.matcher(inpt);     
    // перебор по результатам
            while(matcher.find()){
                String tmp = inpt.substring(matcher.start(), matcher.end()) ;
                System.out.println(tmp);
            }


    на выходе будет:
    attr1=val1
    attr2=val2
    attr3=val3
    Ответ написан
  • Какие есть методики тестирования производительности и нагрузки приложений на tomcat и glassfish?

    @tsegorah
    для нагрузочного тестирования использую grinder,
    удобно, что можно эмулировать разные параметры, правда я тестировал этой утилитой только ejb бины и веб сервисы(jax-rs/ws),
    но судя по faq на сайте можно и сайт помучать
    Ответ написан
    Комментировать
  • А бывают ли вакансии Java Developer в Google Russia?

    @tsegorah
    вообще видел несколько месяцев назад вакансию Software Enginee, где было указано в требованиях знание c++ или java, сейчас уже не вижу
    Ответ написан
    Комментировать
  • С чего начать изучение Java для веб-разработки?

    @tsegorah
    воопервых хорошо изучить сам язык,
    рекомендую книгу Философия java эккеля (Thinking in Java — Druce Eckel ), читайте лучше на английском языке,
    там намного больше материала, в русском переводе почти пол книги выкинуто.

    Коогда разберетесь хорошо и попрактикуетесь лучше изучить азы EJB,
    могу посоветовать книгу EJB3 In Action — Debu Panda, Reza Rahman, Derek Lane (Author),
    довольно понятно на примерах расмотрены основные механизмы, как минимум половина книги будет полезна,
    что бы понять дальнейшие вещи.

    Изучение веб части, я бы рекомендовал бы начать
    с чистого JSF, пока не углубляясь в популярные библиотеки потипу richfaces и primefaces
    (список популярных библиотек для веб приложений можно погуглить, есть еще сайт www.jsfmatrix.net/ )
    Но если есть желание понять как работают веб билиотеки, то сначала изучите сервлеты и немного jsp.

    По поводу ide и тд, я когда только начинал писать на java связка netbeans + glassfish у меня не вызывала трудностей,
    благо сервер ключен в поставку ide, и из среды им легко управлять.
    кстати на сайте netbeans достаточно хороших, для начинающих, мануалов.
    Ответ написан
    1 комментарий
  • Простенькое веб приложение-парсер

    @tsegorah
    парсить html можно руками тем же саксом, или можете попробовать какую-то из билиотек по ссылке
    тут

    как написали выше, для работы с базой данных подойдет любой jpa, тот же Hibernate
    для rest интерфейса сторонним приложениям попробуйте библиотеку jersey

    если вам необходим что-то небольшое, то рекомендую обратить внимание сначала на стандартные вещи, которые все это умеют, а потом уже на отдельные фреймворки
    Ответ написан
    Комментировать
  • Плагины для web - приложения Java

    @tsegorah
    Так как вопрос не четко сформирован постараюсь помочь общими рекомендациями.
    Сначала продумайте интерфейсы взаимодействия между приложением и плагинами,
    продумайте как плагины должны цепляться к приложения, например через какой-то конфигурационный файл,
    или плагин должен вызывать какой-то метод в приложении, реализуя что-то наподобее подписки.

    Не знаю что из книг можно посоветовать, так как не знаю что вам нужно,
    по jsf хорошая есть книга Хорстмана ссылка тут

    Я думаю если вы подробнее сформулируете вопрос, то проще будет ответить.
    Ответ написан
    2 комментария