Пользователь
0,0
рейтинг
27 октября 2008 в 12:28

Разработка → Начинающим Java программистам

Java*
Программирую на Java вот уже 7 лет. Но на работе часто приходится обучать новое поколение. В связи с этим и решил сделать некоторую шпаргалку, которая, надеюсь, пригодится и для хабрчан. Если кто-то может помочь дополнить чем-то информацию из этой статьи, то пишите! Итак:

Основные ресурсы для начального обучения


  • www.javable.com — сайт со статьями и tutorial'ом по Java. Все в основном на русском.
  • www.exampledepot.com — очень полезный ресурс, где собраны краткие примеры использования классов для тех или иных пакетов
  • java.sun.com — без первоисточника не обойтись. Для любого Java программиста JavaDoc должен быть истиной в последней инстанции. Так же здесь можно найти серию tutorial'ов на все возможные темы.


Основные Java пакеты


Ниже приведён список Java пакетов, в которых программист должен свободно ориентироваться. Знакомиться с ними рекомендуется как по JavaDoc'ам, так и с помощью www.exampledepot.com. Все пакеты выстроены в рекомендуемом порядке для изучения. Итак:
  1. java.lang — основа основ. Каждый класс в этом пакете нуждается в отдельном внимании.
  2. java.io — ни одна программа не может обойтись без операций с вводом-выводом.
  3. java.util — пакет в основном содержит все необходимое для работы с коллекциями: Collection, Enumeration, Set, List, Map и т.д. и т.п.
  4. java.net — содержит основные классы для работы с сетью.
  5. java.text — все необходимое для форматирования текста
  6. java.lang.reflect — Java не была бы Java'ой если бы не Reflection. Reflection стирает грань между данными и кодом.
  7. javax.sql — все необходимое по работе с базами данных
  8. javax.xml.*, org.w3c.dom.*, org.xml.sax.* — без этих пакетов работа с XML просто немыслима


Ресурсы для расширения кругозора


  • onjava.com — рано или поздно все новости мира Java попадают сюда
  • www.javaspecialists.eu — ресурс полезен как новичкам, так и продвинутым программистам, так как содержит много статей о тонкостях работы с Java.
  • www.theserverside.com — рекомендуется подписаться на RSS, так как часто проскакивают весьма интересные вещи по Java.


Java Библитеки, которые должны знать все


Java не заканчивается знаниями лишь о возможностях JSDK. Чтобы чувствовать себя комфортно необходимо знать еще десятка два сторонних библиотек, используемых Java программистами повсеместно. Итак, начнем с основных:

  • Commons Lang — то что «забыли» включить в JDK
  • Commons Math — отличное дополнение для java.math
  • Commons Logging — логирование должно быть грамотным. За System.out.println для вывода логов начинающим программистам уже через неделю обучения следует отрубать руки.
  • Commons Net — логическое продолжение для пакета java.net. Множество классов для работы с основными сетевыми протоколами.
  • Commons VFS — отличная библиотека для абстрагирования от способа хранения файла. Позволяет достаточно обобщено иметь доступ до файлов по FTP, SFTP, WEBDAV, (G)ZIP и т.д.
  • Commons IO — работа с вводом-выводом часто получается весьма муторной, но с этой библиотекой все становится несколько веселее.
  • HttpClient — библиотека по работе с http ресурсами.
  • JUnit — любой код, должен сопровождаться тестированием. Для автоматизации тестирования и предназначена эта библиотека.


На этом пока все. Если подобные шпаргалки по Java вам интересны, то могу так же выложить свою коллекцию «простейших» задач по Java, которые ориентированы, на то, чтобы быстро освоить основные пакеты Java.
DbLogs @DbLogs
карма
25,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

Комментарии (58)

  • 0
    Полезно, предлагаю перенести в блог Java.
    • 0
      Спасибо всем повысившим карму! Перенес в Java.
  • +8
    Если подобные шпаргалки по Java вам интересны, то могу так же выложить свои коллекцию «простейших» задач по Java, которые ориентированы, на то, чтобы быстро освоить основные пакеты Java.

    Буду Вам очень благодарен если вы сделайте это:) Просто в скором времени придётся тоже разбираться с этим языком
    • +3
      Как будет время, причешу и опубликую:)
    • +1
      java-tips.org
  • +4
    можно еще добавить www.skipy.ru за авторские статьи
    • 0
      Это великолепно, спасибо.
    • 0
      Спасибо!

      Особенно понравилось это Начинаем с начала, или 'Hello, Java World!'. Рекомендую всем жаверам. И начинающим и опытным =)
      • 0
        А я зачитался почти всем — синхронизация (и так её в книге параллельно читаю, жаль на работе не используется), сериализация, XP…
  • +1
    Не подскажете, где найти хорошие примеры использования аннотаций? *смотрит голодными глазами*
    • +1
      в EJB3 туториалах))

      самому писать аннотации обычно не приходится, зато постоянно с ними сталкиваешься при работе с Hibernate, EJB3, Spring и т. п. Так что советую смотреть сразу на примере работы того или иного фрэймворка.
      • 0
        Слышал что в Hibernate их можно использовать чтобы отказаться от xml-маппингов, но ничего не смог на эту тему найти :(
        • +2
          Ищите по EJB3 Persistence API. К примеру вот:
          docs.jboss.org/ejb3/app-server/tutorial/
          www.laliluna.de/ejb-3-tutorial-jboss.html
          А так же рекомендую почитать и саму спецификацию:
          java.sun.com/products/ejb/docs.html

          Я тут пытался вспомнить, а как же я сам изучал EJB3… И пришел к выводу, что, о ужас(!), делал я это именно по спецификации.

          Так же рекомендую EJB3 смотреть в совокупности с Jboss Seam — это просто потрясающий фреймворк!
        • +1
          а документацию на сайте hibernate пробовали читать?
          • 0
            Разумеется. К сожалению, не смог там этого найти.
            • +2
              • 0
                Классно, спасибо.
            • +1
              так же «Java Persistence with Hibernate» издательства Manning, находится в сети с пол-пинка
    • +1
      Рекомендую вот эту статью:
      www.developer.com/java/other/article.php/3556176
      Но, как верно написал ancalled, часто работаешь именно с «чужими» аннотациями, а следовательно надо смотреть уже в нужной библиотеке:)
      • 0
        Спасибо, но я знаю что это такое. Мне именно примеры нужны были. :)
  • 0
    Спасибо, очень интересно! Буду ждать продолжения.
  • +2
    Думаю не помешает добавить Java Tutorial в «Основные ресурсы для начального обучения»:
    http://java.sun.com/docs/books/tutorial/
  • +2
    Вы даже не представляете, на сколько ваш пост вовремя. ОГРОМНОЕ спасибо.
  • +1
    Я бы добавила еще вот это:
    www.javapractices.com/home/HomeAction.do

    Полезные практики, из разряда «объекты для сессии должны быть Serializable», «закрывайте потоки», «не пишите пустые трай-кетчи» и т. п.
  • +3
    и еще, думаю нелишне будет упомянуть суперкнигу Joshua Bloch Effective Java — ИМХО это must-read для начинающего (и не только) Java программиста. Хотя книги это тема для отдельного поста конечно
  • +2
    c2p.ru/java — книжки
    https://www.ibm.com/developerworks/ru/java/ — много статей (на русском)

    Из форумов, имхо, наиболее живые это:
    javatalks.ru
    forum.vingrad.ru/forum/java-forum.html
    www.sql.ru/forum/actualtopics.aspx?bid=38
  • 0
    Унёс в закладки. для меня в данный момент это воздух. Спасибо
  • 0
    Спасибо за пост! Буду ждать продолжения. Также думаю, что новичкам будет полезно рассказать о наборе ПО, необходимом для программирования на Java.
  • +3
    «хабрчан» — слово смешное :-)
    • +3
      Хабр-кун (сорри вырвалось) ;)
      • +4
        палитесь =)
  • 0
    Отличная подборка, в закладки.
    Спасибо.
  • 0
    Подробное руководство программирования на Java, также примеры с исходниками, все на русском языке
    ru.sun.com/java/education/index.html
  • +1
    Поскольку на основных-java библиотеках далеко не уедешь, молодому java-программисту почти сразу приходится вникать в дебри различных фрэймворков и прочих технологических решений, коих в Java мильон, от чего у молодого неокрепшего организма могут начинаться различные java-неврозы, java-спазмы и даже java-фобии))

    Сразу посоветую не гнаться за всеми технологиями сразу, а постепенно разбираться, начиная с самых основных.

    Касательно EJB3, лучше сразу найти книгу «Mastering Enterprose JavaBeans 3.0», например здесь или
    здесь и попробовать разобраться в туториалах к ней (можно тут)

    По hibernate можно почитать Reference Guide, Java Persistence with Hibernate или сразу попробовать какой-нибудь простенький туториал вместе с веб-компонентами, вроде этого

    Spring — можно смотреть сразу и смело Reference Documentation, ну и начинать изучать простые примеры, опять же, вроде этого.

    Хороший ресурс (для более или менее продвинутых java-разработчиков): in.relation.to — блог таких монстров, как Gavin King-а (один из создателей Hibernate и Seam), Emmanuel Bernard, Christian Bauer и т. д.
  • 0
    Спасибо, сохранил в избранное! Если понадобиться, буду знать, к чему обратиться и где искать! :)
  • –1
    google.com одной из первых ссылок надо поставить
  • 0
    juga.ru — ИМХО, много полезного;
    www.mobilab.ru/forum/viewforum.php?f=6 — форум j2me.
  • 0
    Отличная статья, жду продолжения про задачки.
  • +1
    На NetBeans помимо IDEшки туториалы еще хорошие лежат: www.netbeans.org/kb/index.html
  • –1
    Отличная статья!

    От себя хочу добавить пару слов.

    У меня опускаются руки, когда я слышу вопросы от новичков из серии «Я хочу стать Java-программистом. Какую IDE мне скачать: эклипс или идею? ». Либо «Я хочу начиться делать веб-сайты на Java. И даже уже нашёл и создал Struts-проект в идее. Что делать дальше?».

    Мой совет: до тех пор, пока вы не научитесь без страха писать программы в блокноте, компилировать и запускать их из консоли, даже не садитесь за IDE.

  • +1
    FindBugs — найдет в вашем java проекте, все известные ему ошибки и укажет на плохой стиль, если он присутствует. Очень полезная утилита.
  • +3
    Ребята, как же вы забыли про see.stanford.edu?
    Это полный набор компьютерных курсов Стенфорда. Видеозаписи и листинги лекций, раздачка, домашние задания, контрольные…

    Вообще там не только Java, но, например, курс Programming Methodology полностью посвящен программированию на Java.
  • 0
    вообще-то главным ресурсом по java считается java.dzone.com/.
  • +1
    Советую ещё почитать книгу Философия Java Брюса Эккеля, её можно скачать в электронном виде.
  • 0
    www.javable.com/ почему-то не открывается :-(
  • 0
    добавил в избранное, за комменты тоже спасибо
  • 0
    Хотелось бы увидеть задачки.
  • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      Заступлюсь за Commons Logging

      JCL уже начиная с версии 1.0.5 лишён большинства проблем, обнаруженных далёком 2002-м году. Остались только фундаментальные проблемы с загрузкой и использованием общих данных/классов, касающиеся любой библиотеки в целом.

      Единственный минус, ИМХО, который доставляет неудобства — это генерируемое в случае ошибки инициализации исключение org.apache.commons.logging.LogConfigurationException. Проблемы в подсистеме логирования не должны «мешать» работе основного кода.
  • 0
    а что-нибудь для J2ME есть? )
  • НЛО прилетело и опубликовало эту надпись здесь
  • 0
    А какой-нибудь курс статей или книжек по java generics не подскажите?
  • 0
    Есть ещё одна неплохая коллекция примеров: java2s.com
    • 0
      Хороший сайт, с пол года назад скачал весь ихний раздел по жаве, 1.4 гига, теперь я вооружен :)
  • +1
    Если кому будет инетересно, есть такой сотрудник фирмы Sun Microsystems — Java Evangelist по имени Sang Shin.
    В свободное время он проводит большое число тренингов по Standard и Enterprise Java; отдельным технологиям и фреймфоркам (Struts, Ajax etc).
    Можно заниматься с группой — при этом проверяются домашние задания, даются ответы на вопросы.
    Можно учиться самому, все презентации, задания, примеры есть на сайте.
    Адрес сайта:
    www.javapassion.com
  • 0
    Еще забыли упомянуть про курс с intuit: www.intuit.ru/department/pl/javapl/

    Если там зарегистрироваться, то станет доступна версия для печати/кпк. Довольно удобно.
  • 0
    Спасибо, что включили JUnit. Это действительно маст, хотя многие до сих пор не используют юнит-тесты. Я бы подвинул его на первое место среди библиотек.
    И вот статья на хабре для начинающих, как писать юнит-тесты: habrahabr.ru/post/112851/

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