• Жизненный цикл servlet'ов в Tomcat'e?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    1. Да, доступны. Да, необходимо использовать потокобезопасные коллекции.
    2. Зависит от реализации контейнера. Лучше не делать предположений на эту тему.
    3. Вы можете зарегистрировать ServletContextListener для инициализации общих для всех сервлетов данных. Но создание источника данных лучше доверить контейнеру и получить сервлетами из JNDI.

      1. Можно передать Tomcat'у параметр
        -Dorg.apache.catalina.startup.EXIT_ON_INIT_FAILURE=true

      2. Наверное, можно в обработчике исключения сервлета вызывать System.exit(1)
      3. Можно в конфигурации настроить shutdown port
        <Server port="8005" shutdown="someLongAndSecretString">

        и потом в коде
        Socket socket = new Socket("localhost", 8005); 
        if (socket.isConnected()) { 
            PrintWriter pw = new PrintWriter(socket.getOutputStream(), true); 
            pw.println("someLongAndSecretString");
            pw.close(); 
            socket.close(); 
        }



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

    @FoxInSox
    Напрягитесь.
    Ответ написан
    Комментировать
  • Как научиться реализовывать алгоритмы?

    sim3x
    @sim3x
    Практикуйся
    Ответ написан
    Комментировать
  • Стоит ли изучать Java после прекращения разработки EE?

    jaxtr
    @jaxtr
    JavaEE/Spring-разработчик
    Для начала: Java != Java EE. Прекращение разработки Java EE со стороны Oracle никак не повлияет на жизнь самого языка программирования. Есть вообще сомнения, что Oracle решится на этот шаг, т.к. у них самих большое количество проектов именно на Java EE разработано.

    Плюс стоит помнить, что Java EE - это набор спецификаций, а не конкретная реализация. Java EE состоит из кучи JSR, которые обсуждаются и принимаются JCP (Java Community Process), то есть сообществом, в котором кроме самих Oracle есть Red Hat, IBM, Spring, Apache и многие другие. Oracle может просто передать управление Java EE сообществу. И да, новые JSR выходят вне зависимости от Java EE.

    И стоит помнить, что на Java EE интерпрайз не кончается, ведь есть ещё Spring, который развивается гораздо быстрее и занимает существенную нишу на рынке.

    Так что, учитывая сказанное выше, учить однозначно стоит, если есть желание.
    Ответ написан
    Комментировать
  • Как установить IntelliJ IDEA на ubuntu 15.10?

    mourr
    @mourr
    Passionate JS developer
    MaxPermSize упразднена в Java 8, оттуда и ошибка
    В папке bin, или выше есть файлы idea.vmoptions и idea64.vmoptions - найдите в них строку -XX:MaxPermSize=350m и закоментируйте ее (т.е. добавьте # в начало), должно получиться

    # -XX:MaxPermSize=350m
    Ответ написан
    1 комментарий
  • Как из домашнего стационарного компьютера сделать сервер?

    martin74ua
    @martin74ua Куратор тега Linux
    Linux administrator
    заказать в типографии большую красивую табличку "СЕРВЕР" и приклеить к компьютеру.

    Что вы подразумеваете под "Сервер хочу сделать для хранения данных пользователей со своего сайта (только для хранения данных пользователей)" ?
    Можно посоветовать поставить на компьютер mysql сервер, запустить, перенести в него базу данных с хостинга, настроить сайт на хостинге на использование вашего mysql сервера. Да, не забудьте про статический реальный IP адрес, закажите у провайдера.
    Ответ написан
    Комментировать
  • Как из домашнего стационарного компьютера сделать сервер?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    1. Не менее RAID1
    2. 2 сетевухи (одна к интернету, другая внутри локалки к свитчу)
    3. Настроить маршрутизацию
    ОС - по вкусу.
    Ответ написан
  • Как вы храните накопленные знания?

    moropsk
    @moropsk
    Складываю найденное сюда https://raindrop.io/app
    Ответ написан
    Комментировать
  • Как настроить с нуля PXE-установку Linux?

    RicoX
    @RicoX
    Ушел на http://ru.stackoverflow.com/
    Ничего сложного, только описывать долго, постараюсь кратко с примерами.

    В конфиг DHCP добавляем настройку типа:
    #PXE boot for Server
    subnet XXX.XXX.6.0 netmask 255.255.255.XXX {
         range XXX.XXX.6.20 XXX.XXX.6.254;
         option routers XXX.XXX.6.1;
         option subnet-mask 255.255.255.XXX;
         option domain-name-servers  8.8.8.8;
            next-server XXX.XXX.6.10;  # TFTP server address
            filename "pxelinux.0";   # PXE boot loader filename
    }

    Ключевое это строки с передачей IP для сервера TFTP и имя файла загрузчика.

    Делаем каталог для будущих образов
    mkdir -p /usr/tftpboot/images
    mkdir /usr/tftpboot/pxelinux.cfg


    Устанавливаем tftp-hpa (легко найти для любой системы)
    В конфиге ставим флаги:
    "-p -s /usr/tftpboot -B 1024 --ipv4"

    Скачиваем свежий syslinux (например https://www.kernel.org/pub/linux/utils/boot/syslin...
    Свежие версии всегда можно найти тут www.syslinux.org/wiki/index.php/The_Syslinux_Project

    Разархивируем
    tar tar xjf syslinux-4.04.tar.bz2 -C /tmp
    копируем в /usr/tftpboot/ следующие файлы:
    chain.c32
    ldlinux.c32
    libcom32.c32
    libutil.c32
    memdisk
    menu.c32
    poweroff.c32
    pxelinux.0
    pxelinux.cfg
    reboot.c32
    vesamenu.c32


    Так же если планируем использовать кириллицу в меню скачаем шрифты, например эти
    ftp://ftp.itrc.hp.com/applications/experteventadmi...
    Кодировка меню должна быть в CP866 он же Russian(DOS)
    сконвертировать из koi8-r (тандартная кирилическая для фри) можно командой.
    iconv -f koi8-r -t CP866 defaultKoi8 -o default

    создаем папку с образами
    mkdir images
    В ней подпапки с нужными системами, в каждую подпапку кидаем нужные для загрузки систем файлы, вот пару примеров:

    Установка FreeBSD
    Скачиваем образы
    x32
    fetch mfsbsd.vx.sk/files/images/i386/9/mfsbsd-9.1-RELEAS...
    x64
    fetch mfsbsd.vx.sk/files/images/amd64/9/mfsbsd-9.1-RELEA...

    Установка Debian 7
    x32
    fetch ftp://ftp.debian.org/debian/dists/Debian7.0.0/main...
    fetch ftp://ftp.debian.org/debian/dists/Debian7.0.0/main...
    x64
    fetch ftp://ftp.debian.org/debian/dists/Debian7.0.0/main...
    fetch ftp://ftp.debian.org/debian/dists/Debian7.0.0/main...

    Установка CentOS
    x32
    fetch mirror.mirohost.net/centos/6.4/os/i386/images/pxeb...
    fetch mirror.mirohost.net/centos/6.4/os/i386/images/pxeb...
    x64
    fetch mirror.mirohost.net/centos/6.4/os/x86_64/images/px...
    fetch mirror.mirohost.net/centos/6.4/os/x86_64/images/px...

    Установка Kali
    x32
    fetch repo.kali.org/kali/dists/kali/main/installer-i386/...
    fetch repo.kali.org/kali/dists/kali/main/installer-i386/...
    x64
    fetch repo.kali.org/kali/dists/kali/main/installer-amd64...
    fetch repo.kali.org/kali/dists/kali/main/installer-amd64...

    Далее правим фаил конфига загрузчика:
    /usr/tftpboot/pxelinux.cfg/default (Ну или с привязкой к конкретным сервакам, тогда не default)
    Вот пример, пути править на свои:
    ui vesamenu.c32
    PROMPT 0
    MENU WIDTH 77
    MENU MARGIN 10
    MENU PASSWORDMARGIN 3
    MENU ROWS 12
    MENU TABMSGROW 18
    MENU CMDLINEROW 18
    MENU ENDROW 24
    MENU PASSWORDROW 11
    MENU TIMEOUTROW 60
    MENU AUTOBOOT Starting Local System in # seconds
    
    MENU PASSPROMPT Enter Password
    
    NOESCAPE 0
    ALLOWOPTIONS 0
    
    MENU COLOR SCREEN 44;30 #00FFFFFF #00000000
    MENU COLOR BORDER 44;30 #FFFFFFFF #FF000000
    MENU COLOR TITLE 1;44;30 #FFFFFFFF #FF000000
    
    MENU COLOR SCROLLBAR 44;30
    
    MENU COLOR HOTKEY 44;30 #FFFFFF00 #FF000000
    MENU COLOR UNSEL 44;30 #FFFFFFFF #FF000000
    MENU COLOR HOTSEL 1;30 #FFFFFFFF #FF333333
    MENU COLOR SEL 7;44;30 #FFFFFF00 #FF333333
    
    MENU COLOR CMDMARK 44;30
    MENU COLOR CMDLINE 44;30
    MENU COLOR TABMSG 44;30
    MENU COLOR DISABLED 44;30
    MENU COLOR HELP 44;30
    
    MENU COLOR PWDBORDER 44;30 #FF187CCA #FFFFFFFF
    MENU COLOR PWDHEADER 1;44;30 #FF187CCA #FFFFFFFF
    MENU COLOR PWDENTRY 5;44;30 #FF187CCA #FFFFFFFF
    
    menu background background.jpg
    FONT pxelinux.cfg/Cyr_a8x16.psf
    menu title RealWeb PXE boot menu (c)Rico-X
    
    LABEL bootlocal
       menu label ^Загрузка с локального диска
       kernel chain.c32
       append hd0 0
       timeout 150
     TEXT HELP
    Загрузка с первого локального жесткого диска,
    произойдет автоматически по ситечении таймера.
     ENDTEXT
    
    menu begin
    menu title FreeBSD 9.1
    
    label FreeBSD91p2x64
      menu label Установить FreeBSD-9.1 x64
      kernel memdisk
      initrd images/mfsbsd/mfsbsd-9.1-RELEASE-p2-amd64.img raw
     TEXT HELP
    После запуска параметры входа:
    имя root пароль mfsroot
    Для начала установки FreeBSD введите bsdinstall
     ENDTEXT
    
    label FreeBSD91p2x32
      menu label Установить FreeBSD-9.1 x32
      kernel memdisk
      initrd images/mfsbsd/mfsbsd-9.1-RELEASE-p2-i386.img raw
     TEXT HELP
    После запуска параметры входа:
    имя root пароль mfsroot
    Для начала установки FreeBSD введите bsdinstall
     ENDTEXT
    
    label < Назад
     menu exit
    
    menu end
    
    menu begin
    menu title Debian
    
    label Debian_7x64
      menu label ^Debian 7 wheezy x86_64 install
      kernel images/debian/linux7_64
      append priority=low vga=788 initrd=images/debian/initrd7_64.gz --
      TEXT HELP
    Устанавливает Debian 7 64 в ручном режиме.
      ENDTEXT
    
    label Debian_7x32
      menu label ^Debian 7 wheezy i386 install
      kernel images/debian/linux7_386
      append priority=low vga=788 initrd=images/debian/initrd7_386.gz --
      TEXT HELP
    Устанавливает Debian 7 32 в ручном режиме.
      ENDTEXT
    
    label < Назад
     menu exit
    
    menu end
    
    menu begin
    menu title CentOS
    
    label CentOS_6.4_x86_64
      menu label ^CentOS 6.4 x86_64 install
      kernel images/centos/amd64/vmlinuz
     APPEND initrd=images/centos/amd64/initrd.img method=http://mirror.mirohost.net/centos/6/os/x86_64/ devfs=nomount ksdevice=link ramdisk_size=100000
      TEXT HELP
    Устанавливает CentOS 6.4 x64 в ручном режиме.
    Для установки уиспользуется http://mirror.mirohost.net/centos/6/os/x86_64/
      ENDTEXT
    
    label CentOS_6.4_i386
      menu label ^CentOS 6.4 i386 install
      kernel images/centos/i386/vmlinuz
      APPEND initrd=images/centos/i386/initrd.img method=http://mirror.mirohost.net/centos/6/os/i386/ devfs=nomount ksdevice=link ramdisk_size=100000
      TEXT HELP
    Устанавливает CentOS 6.4 i386 в ручном режиме.
    Для установки уиспользуется http://mirror.mirohost.net/centos/6/os/i386/
      ENDTEXT
    
    label < Назад
     menu exit
    
    menu end
    
    #label Centos6_64
    #MENU LABEL CentOS 6 amd64
    # KERNEL /memdisk
    # APPEND iso
    # INITRD images/centos/CentOS-6.4-x86_64-netinstall.iso
    
    LABEL ProxMox
    MENU LABEL ProxMox3 install
        KERNEL images/proxmox/linux26
    #    APPEND ramdisk_size=102400 vga=791 video=vesafb:ywrap,mtrr splash=verbose url=http://195.114.6.10/images/proxmox/initrd.iso.img
        APPEND ramdisk_size=524288 vga=791 video=vesafb:ywrap,mtrr splash=verbose
        INITRD images/proxmox/initrd.iso.img
    
    menu begin
    menu title ^Kali ^Linux
    
    label KaliLinux_x64
      menu label ^Kali Linux x86_64
      kernel images/kalilinux/amd64/linux
      append priority=low vga=788 initrd=images/kalilinux/amd64/initrd.gz --
      TEXT HELP
    Дистрибьютив для пинтестирования,
    cодержит различные инструменты для проведения тестов.
    Русская документация http://ru.docs.kali.org/
      ENDTEXT
    
    label KaliLinux_x32
      menu label ^Kali Linux i386
      kernel images/kalilinux/i386/linux
      append priority=low vga=788 initrd=images/kalilinux/i386/initrd.gz --
      TEXT HELP
    Дистрибьютив для пинтестирования,
    cодержит различные инструменты для проведения тестов.
    Pусская документация http://ru.docs.kali.org/
      ENDTEXT
    
    label < Назад
     menu exit
    
    menu end
    
    LABEL Pmagic
    LINUX images/pmagic/bzImage
    append noapic initrd=images/pmagic/initrd.img root=/dev/ram0 init=/linuxrc ramdisk_size=100000
      TEXT HELP
    LiveCD дистрибьютив для восстановления и проверки систем.
      ENDTEXT
    
    label reboot
      menu label Reboot
      kernel reboot.c32
      TEXT HELP
    Перезагрузить компьютер
      ENDTEXT
    
    LABEL poweroff
     MENU LABEL Power off
     KERNEL poweroff.c32
      TEXT HELP
    Выключить компьютер
      ENDTEXT


    Для загрузки windows нужно использовать специально собранный образ WinPE, который будет монтировать нужные образы с сетевой шары, но описание сборки вменяемого образа займет еще страниц 5 и мне лень уже печатать.
    Ответ написан
    2 комментария
  • Как получить pdf-файл как строку?

    @mars2003
    Если не нужно изменять содержимое пдф а просто передать в виде строки и потом восстановить, то можно преобразовать его в base64
    Ответ написан
    1 комментарий
  • Как вычислить значение строки, аналог eval в java?

    @cbgx74
    Собственно ответы думаю отсюда stackoverflow.com/questions/2605032/using-eval-in-java
    Ответ написан
    Комментировать
  • Как вычислить значение строки, аналог eval в java?

    Scorpi
    @Scorpi
    ScriptEngineManager manager = new ScriptEngineManager();
    ScriptEngine engine = manager.getEngineByName("js");        
    Object result = engine.eval("3243-854+6-100");
    Ответ написан
    Комментировать
  • А какие у вас цветовая схема и шрифт в вашей любимой IDE?

    jenovas
    @jenovas
    Шрифт Сonsolas , тему настраивал сам
    theme.jpg
    Ответ написан
    Комментировать
  • Как заставить maven работать в оффлайн по дефолту в Android Studio?

    @dedik Автор вопроса
    Всё, разобрался, как знал что проблема где-то в забытом чекбоксе, стыдно за вопрос даже)
    Для тех у кого такая же проблема будет - File->Other Settings->Default Settings... там слева выбираем Maven и ставим галку Work offline
    Ответ написан
    Комментировать
  • Какую книгу по java купить для новичка?

    Gibbzy
    @Gibbzy
    Вот Эккеля, Хорстмэна хорошо.
    Шилдт — справочник больше какой-то.
    Ответ написан
    1 комментарий
  • Стоит ли выбирать ноутбук с металлическим корпусом?

    Antares19
    @Antares19
    Есть еще интересный фактор, мне вот металлические корпуса нотубуков тактильно неприятны.
    Слегка шершавый пластик куда лучше.

    Насчет прочности — Леново хороши. С рассеиванием тепла проблем тоже нет, у меня на борту NVidia, когда в полную силу работает — нагревается, но не чрезмерно.
    Ответ написан
    2 комментария
  • Как резать логи nginx по файлам $host-access.log?

    RicoX
    @RicoX
    Ушел на http://ru.stackoverflow.com/
    server {
    server_name localhost.com;
    # Папка с контентом сайта (удобно, когда совпадает с именем домена)
    root /var/www/localhost;
    # Настройка логов, каждому виртуальному домену — свой лог
    access_log /var/log/nginx/localhost.com-access.log;
    error_log /var/log/nginx/localhost.com-error.log;
    Я тут недавно заметку писал, посмотрите там это есть habrahabr.ru/post/164401/
    Ответ написан
    1 комментарий
  • Что разрабатываю Java и .NET программисты?

    @isergeymd
    самое толковое — открываешь сайт работы в своем городе и смортришь кто требуется, смотришь какие технологии, что за проекты, и уже решаешь, смотришь чего больше, что интреснее ну и все, рынок делает выбор за тебя…
    Ответ написан
    Комментировать
  • Что разрабатываю Java и .NET программисты?

    @xaoc80
    Java Enterprise — как правило сложные сетевые системы промышленного уровня, например банковские или ERP
    В основном это WEB приложения, сервисы
    Java SE — клиентская часть к ним или независимые десктоп приложения, приложения, которые можно запускать в браузере
    К примеру интерфейс MatLab написан на Java SE, Eclipse etc.
    Java ME — мобильная ява
    Java Android, тут я думаю и так все понятно

    Я использую java для android и немного SE. Под Android я использую Eclipse. Но можно и idea, она немного быстрее
    Если начинать писать под Java EE, то удобно для начала Net Beans
    Ответ написан
    1 комментарий