Контакты

Достижения

Все достижения (1)

Наибольший вклад в теги

Все теги (11)

Лучшие ответы пользователя

Все ответы (22)
  • Как можно намеренно уронить JVM?

    vlad20012
    @vlad20012
    Ну-ну, все ваши примеры - всего лишь необработанные исключения. Обычно под "уронить" подразумевают более веселые вещи. Давайте возьмем Unsafe и прочтем байт по нулевому адресу.
    import sun.misc.Unsafe;
    
    public class CrashTheJVM
    {
        private static final Unsafe UNSAFE = createUnsafe();
    
        private static Unsafe createUnsafe()
        {
            try
            {
                Field uf = Unsafe.class.getDeclaredField("theUnsafe");
                uf.setAccessible(true);
                return (Unsafe) uf.get(null);
            }
            catch (Exception e)
            {
                throw new RuntimeException(e);
            }
        }
    	
        public static void main(String[] args)
        {
            UNSAFE.getByte(0);
        }
    }

    Сегфолт! 100% падение. Ну, и если это запрещает делать SecurityManager или реализация JVM не поддерживает Unsafe, мы таки получим необработанное исключение.
    Ответ написан
    Комментировать
  • Как спроектировать/организовать TCP сервер на Java?

    vlad20012
    @vlad20012
    Если нужен высокопроизводительный NIO сервер, то нужно смотреть в сторону Netty (на хабре писали здесь)
    Ответ написан
    Комментировать
  • Почему в языке Java нет таких языковых конструкций как "свойства" и "индексаторы"?

    vlad20012
    @vlad20012
    По тем же причинам, почему в Java нет перегрузки операторов и огромного количества других плюшек. Разработчики языка не любят всякий синтаксический сахар, а свойства и индексаторы - это и есть синтаксический сахар над простыми методами.
    Ответ написан
    Комментировать
  • С чего начать разработку таск менеджера на Java?

    vlad20012
    @vlad20012
    Есть 2 большие проблемы. Во-первых, "специалисты" вашего уровня обычно пишут на каком-нибудь PHP, и информации о разработки подобных проектов на PHP можно найти тонны. Инфы по Java найти гораздо сложнее, ибо если ты пишешь на Java, то ты по умолчанию специалист, и тебе не нужно объяснять такие "простые" вещи. Во-вторых, те, кто в этом реально разбираются, скорее всего скинут вам пачку непроизносимых названий, вроде EJB, JSP, JSF, Spring, Hibernate и прочее и прочее, ибо это именно те технологии и фреймворки, с которыми обычно имеют дело java-разработчики.

    Лично я считаю (т.е. ИМХО, да?), что начинающему разработчику категорически противопоказано использовать какие-либо сторонние библиотеки и фреймворки. Только стандартная библиотека, только vanilla java, только хардкор. Только так можно понять, как там оно на самом деле работает, и стать действительно хорошим специалистом, а не фреймворк-разработчиком. Кстати, по поводу "упражняться с консолью и файлами". Не знаю какие книги вы читаете, но обычно там последовательно излагается все необходимое, от консоли и файлов до GUI и WEB-приложений. К примеру, есть отличная книжка Шилдта... в общем, рекомендую все-таки почитать, а не сразу рваться в бой.

    Но уверен, вы, конечно же, не прислушаетесь к предыдущему совету. Так что по поводу создания WEB-приложений. Поищите в направлении servlets API. Как я и говорил изначально, довольно сложно нагуглить что-нибудь толковое, тем более на русском. Может быть, ниже кто-нибудь подкинет хорошую статеечку. Установите IDE для JavaEE и напишите простой сервлет. С его помощью можно принимать HTTP запросы от клиентов и отправлять ответы. А что дальше зависит от ваших познаний о структуре WEB-приложений, о которых я не имею представления. А статей именно с упором на Java как-то... Короче, обычно свой путь в WEB-разработке далеко не с Java начинают.
    Ответ написан
    4 комментария