Подтвердить что ты не робот

Как освоить Java?

Я изучил 2 курса в Java:
1- Введение в программирование с Java.
2- Структуры данных с Java.

В обоих курсах мы использовали Java SE.

Мне понравилось, и я действительно хочу стать отличным программистом Java.

Но я обнаружил, что должен знать много технологий, связанных с разработкой программного обеспечения Java:
Spring, Struts, JSP, JSF, GWT, Hibernate, apache tomcat и многие другие на самом деле намного больше.

Я надеюсь, что это станет простым процессом, например .NET. вы выбираете один язык с одним фреймворком и его IDE.

Может ли кто-нибудь привести меня к лучшему маршруту или пути для освоения Java, пожалуйста?
Что вы думаете об этих двух курсах:
http://www.oreillyschool.com/certificates/java-programming.php
и
Расширенная серия сертификатов Java (из той же школы будет доступна в сентябре).

4b9b3361

Ответ 1

Я думаю, что у большинства программистов есть своя средняя квалификация выпускников колледжа, включая меня. У нас очень много терпения.

Тем не менее, существуют эффективные способы изучения и неэффективные способы обучения.

  • Если вы застряли в одном учебнике/книге, попробуйте другую книгу. Как только вы закончите работу с основами, действительно не существует "правильного" порядка обучения.
  • Просматривайте стандартную документацию библиотеки Java. Не утруждайте себя запоминанием, но убедитесь, что знаете, что инструменты есть там, где они вам нужны.
  • Сделайте много тестовых программ. Если вам когда-нибудь интересно что-то, попробуйте и посмотрите, что произойдет. Не знаете, насколько большой int? Напишите программу, которая выведет sizeof. Не знаете, что происходит, когда вы вызываете виртуальную функцию экземпляра переопределения? Напишите программу с двумя классами, одну наследующую другую и попробуйте.
  • Прочитать код других людей. Обратите внимание на стиль и структуру. И я не имею в виду такие глупые вещи, как {следует идти по той же строке, что и оператор, но как они перерабатывают переменные, как они организуют свои классы, как они используют циклы, где они хотят оптимизировать и где они не и т.д. Эмуляция, что вам нравится.
  • Практика построения "заглушки" программ - вы можете сделать это в своей голове, как только вы ее повесите. Найдите свою любимую программу и выпишите все классы/методы, которые, по вашему мнению, были бы использованы для ее создания. Это поможет вам с архитектурой.
  • Проведите много времени, назвав ваши классы. Не используйте причудливые имена, просто описательные. Это хорошее умственное упражнение, чтобы думать о именах, даже если вы не ожидаете когда-либо поделиться своим кодом.
  • Попробуйте Project Euler, если вы входите в такой классный материал. Я не верю, что программирование связано с математикой, но вам может понравиться.
  • Изучите C когда-нибудь. С++, вероятно, не стоит того, если вы делаете java, но C научит вас, как работает ваш компьютер. Вам не нужно осваивать его, но, по крайней мере, дойти до того, что вы понимаете управление памятью и указатели. Это поможет вам быстрее принимать решения, если вы хотите, чтобы ваш код был действительно быстрым.
  • Изучите функциональное программирование когда-нибудь. Haskell - хороший выбор, потому что это чистый функциональный язык. Сначала это чрезвычайно сложно, но концепции, которые вы узнаете из него, ценны независимо от того, на каком языке вы программируете. Вы будете принимать дизайнерские решения намного быстрее, и ваш код будет намного более надежным.
  • Сохранять актуальность. Тенденции приходят и уходят в эту отрасль так же быстро, как в индустрии моды. Многое - это дерьмо, но многое из этого имеет решающее значение как для занятости, так и для производительности. Всегда следите, или вы пойдете по пути динозавров.

Ответ 2

Лучший способ стать чем-то хорошим? Практика, практика, практика.

Не сосредотачивайтесь на единой структуре, просто делайте много Java, просматривайте проекты с открытым исходным кодом, находите что-то, что нужно для исправления или реализации, и делайте это или думайте о чем-то, что хотите, но не существует и не создаете он.

Ответ 3

Практика не делает совершенной - совершенная практика делает совершенным. Если вы продолжаете совершать те же ошибки, вам удастся только создать плохие привычки.

Вам нужно прочитать это.

Ваша дорожная карта Java должна выглядеть так:

  • Сконцентрируйтесь на основных классах Java JDK. Не беспокойтесь о Java EE, пока вам не понравится интерфейс, классы и основы. JDBC является важной частью ядра Java, поэтому будьте в курсе. Вы должны будете знать о реляционных базах данных, нормализации и SQL. Технология GUI здесь - Swing.
  • После этого возьмите сервлеты, JSP, написанные исключительно с использованием JSTL (без скриптов), и JDBC. Вам нужно будет что-то понимать о Tomcat (или другом сервлете/JSP-движке), HTTP, HTML, CSS и немного JavaScript. Вы можете пройти очень долгий путь только с этими.
  • Как только вы освоите 1 и 2, вам нужно будет сделать выбор в рамках фреймворка. Я бы рекомендовал либо усвоить Spring, либо EJB 3 в целом. Сначала я рекомендовал бы Spring, но я признаю, что я не знаю EJB 3 хорошо.

Ответ 4

Я получаю впечатление от формулировки вашего вопроса о том, что Java является вашим первым языком программирования. Я приветствую ваше желание "освоить Java", но если бы я мог, я хотел бы предложить вам попробовать немного, прежде чем вы получите слишком большую глубину!

Легко, я думаю, со степенью CS, где большинство курсов преподаются на Java, попасть в ловушку, полагая, что все языки программирования:

  • объектно-ориентированный (и с одним наследованием реализации и множественным наследованием интерфейсов)
  • статически типизированный (без ввода типа)
  • императив (т.е. использование итерационных конструкций и изменяемое состояние)
  • многословным

и поэтому все программирование должно выглядеть примерно так же, как Java-программирование.

Я смиренно предлагаю делать некоторые чтения по различным парадигмам и языкам: изучать динамически типизированный язык (исходящий из Java, я предлагаю Python или Ruby), изучать не-OO-язык (например, C) --- и внедрить OO, узнать о функциональном программировании (Haskell - отличный инструмент для открывания глаз). По крайней мере, оглянитесь перед тем, как погрузиться в первую очередь в суффиксу Java-алфавита (культура Java высоко ценит акронимы --- но я не буду судить об оценках здесь).

Только мои US $0,02!

Ответ 5

Запишите в него программы. Найти программы с открытым исходным кодом, которые используют его, и исправить свои ошибки и добавить к ним функциональность. Лучший способ получить опыт - испытать его.

Ответ 6

Если вы действительно хотите узнать, что вы должны изучать, в рамках ваших примеров (Spring, Struts, JSP, JSF, GWT, Hibernate, apache tomcat), затем найдите некоторые подкасты и сообщения в блогах, которые позволят вам для изучения этих технологий. Затем вы можете выбрать те, которые вас больше всего интересуют для дальнейшего изучения.

Ответ 7

Я согласен с двумя другими респондентами (практика, особенно с проектами с открытым исходным кодом, - лучший способ улучшить язык). Однако я хотел добавить одну вещь. Из вашего ответа неясно, сколько опыта у вас есть с объектно-ориентированным дизайном и с Java, что очень важно. Я бы порекомендовал изучить расширенный дизайн OO, чтобы понять, что там. Моя любимая книга по дизайну OO доступна бесплатно и связана ниже - посмотрите, соответствует ли она вашему уровню. Если нет, найдите что-то более/менее продвинутое и работайте с ним.

http://homepage.mac.com/s_lott/books/oodesign/build-java/html/index.html

Ответ 8

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

Первый разговор о Java SE (программирование приложений), а затем начать микширование в Java J2EE и Java EJB.

Если вы хотите спуститься по веб-маршруту или корпоративному серверу, вам необходимо изучить J2EE, EJB, Hibernate, Spring и т.д., иначе эти технологии не будут рассматриваться так часто при программировании приложений.

По-прежнему кажется, что у вас есть долгий путь, вероятно, наиболее полезным для вас, чтобы узнать, будет Java Swing (gui).

Ответ 9

Практикуйте и изучайте основы по мере необходимости (или встретите их). Есть слишком много фреймворков там (для Java и для .NET), чтобы учиться одним выстрелом.

Изучение стандартных библиотек классов Java всегда начинается

Ответ 10

Лучший способ стать чем-то хорошим? Получите работу, которая позволит вам использовать эту технологию. Получайте деньги во время занятий.

Есть время, чтобы прекратить читать книги и статьи, и приступить к работе над проектом.

Как вы работаете, учитесь у других, кто лучше вас. Продолжайте читать статьи по интересующим вас темам и применяйте то, что вы изучаете на работе.

Ответ 11

Найдите наставника и часто выбирайте его/ее мозг. После того, как вы работаете в поле, попросите кодовые обзоры от старших разработчиков. Это избавит вас от ваших привычек, и чтение предложений людей о том, как вы можете улучшить, даст вам много информации. Не сидите рядом с чтением, не решайте проблемы по каждой проблеме и не прокладывайте себе путь оттуда.

Ответ 12

Не так легко стать мастером в Java, что я сделал для изучения Java 1) попробуйте преобразовать все приложения, которые я видел в java, например: краска для java 2) используется для участия в группах пользователей JAVA и конференции в моем состоянии 3) Пошел в группы в Goolge для проверки кодов Java вот и все, что я делаю, я не могу сказать, что я хозяин, но я могу сделать материал