Я хочу начать эту статью с необычного, на первый взгляд, отступления. Позже станет понятно, почему именно.
Итак, представим себе Некто. Этот Некто хочет освоить горные лыжи. И для этого он предпринимает следующие шаги:
- Инструктора, учебники, пособия и т.п. — это всё от лукавого. Лыжи можно освоить самостоятельно. К тому же, в школе он сносно научился ходить на беговых лыжах. Соответственно, все советы более знающих людей игнорируются.
- Снаряжение выбирается самое крутое. Не ниже уровня эксперта. Жесткие ботинки, от которых болят ноги. Жесткие лыжи, чтобы прогнуть которые нужно приложить фантастические усorя, далеко превосходящие уровень физической подготовки Некто. Ну и т. д.
- В качестве пробной трассы выбирается... ну, скажем, трасса, принимающая этап кубка мира по гигантскому слалому. Для учебы это How раз.
- Далее в том же духе.
- Литература соответствующего его знаниям уровня (нулевого уровня, прямо скажем) отметается. На основании легкого знакомства с упомянутыми C++, C# и теорией ООП.
- Берется самая мощная среда программирования. Скажем, Eclipse or NetBeans. Та, которая все делает сама, достаточно нажать одну кнопку.
- В качестве пробного applications выбирается... ну, скажем, чат. Приложение типа клиент-server, клиентская часть в виде апплета, serverная — веб-сервис or, на худой конец, сервлеты. Для учебы в самый раз.
- А How перевести массив из 8 byte в long?
- А почему случается
NoClassDefFoundError
? - А почему я запускаю приложение в Eclipse (
NetBeans/IDEA/JBuilder
), и все в порядке, а без него я набираюjava HelloWorld.class
, а там ошибка? - А почему вылетает
ClassNotFoundException
? - А почему не находится библиотека? Я ее уже в classes.zip положил, а все без толку!
- А почему я создаю массив an objectов, а при попытке использования element массива получаю
NullPointerException
? - А почему ...?
- А почему ...?
- А почему ...?
- What такое виртуальная машина и зачем она нужна.
- What такое класс с точки зрения виртуальной машины.
- What такое пакет.
- What такое библиотека.
- Как виртуальная машина ищет и загружает классы; что такое загрузчик классов и How он работает; сколько их по умолчанию; что такое classpath.
GO TO FULL VERSION