Профи Java! Поможите составить программу самостоятельного изучения этого языка?

Здравствуйте!

У меня имеется большой опыт в программировании на php, javascript.
Знаю и применяю ООП в своих проектах, шаблоны проектирования и прочее доброе.

Совершенно не новичок в программировании.

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

Моя цель научиться делать десктопные приложения, а далее начать разработку приложений на андроиде. Но в чем вопрос спросите вы. А в том, что прочитав много книг я понял - много мусора! И хотелось бы у ПРОФИ Java узнать наиболее быстрый и оптимальные способ изучения этого языка. Например, список хороших книг, сайтов и прочее.

Я люблю учиться и с радостью буду изучать хороший материал без боязни попасть на разводил) Документацию, если что читаю, но нехватает реальных примеров) Заранее спасибо, друзья!
  • Вопрос задан
  • 775 просмотров
Решения вопроса 1
@Gokudera
java developer
У меня есть к вам другое предложение:
  1. лезете в гугл, вбиваете "Программирование под Android курсы программа курса"
  2. Смотрите программу курса
  3. осваиваете все темы самостоятельно


Введение
ОС Android
android.developers.com
Основы
Установка Android Sdk и настройка IDE
Hello World!
Структура проекта
Основные компоненты
Activity
Service
BroadcastReceiver
ContentProvider
AndroidManifest
Ресурсы
Drawable
Values
Анимации
Классификаторы
Разработка пользовательского интерфейса
Activity и ее жизненный цикл
Основные View: TextView, Button, ImageView, CheckBox, ProgressView и др.
Основные ViewGroup: FrameLayout, LinearLayout, GridLayout, TableLayout
Стили и темы (практика)
Работа с меню Activity. ActionBar
Диалоги и toast
Списки в UI: ListView, GridView. Адаптеры
Сохранение и восстановление состояния
Вызав новой Activity
Передача данных в Intent (практика)
Хранение данных
SharedPreference
Файлы
База данных
Фоновая работа
AsyncTask
Loaders
Service
Жизненный цикл
Запуск
Взаимодействие из Activity
Рабора с сетью
BroadcastReceiver
Создание BroadcastReceiver
Подписка на системные события
-------------------
Введение
Разработка интерфейса под различные размеры экранов
Разработка под различные версии ОС
Android Support Library
Написание кода с учетом версии ОС
Фрагменты
Жизненный цикл
Создание
Операции с фрагментами
DialogFragment
Notifcation API
Виджеты домашнего экрана
Анимация
ViewAnimation
Property Animation
Transition
Определения местоположения
ContentProvider
ContentObserver
Работа со стандартными ContentProvider: Контакты, СМС
Google Play Services
Лучшие практики для разработки кода
Производительность
Память
Батарея
-----------------------------------
Уаля и вы умеете разрабатывать под андроид...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
AlexXYZ
@AlexXYZ
O Keep Clear O
Дам совет, но не скажу, что профи в java. За годы общения с этим языком я почти не встречал приложений типа desktop на java. А тем более таких, которые дико популярны (eclipse и всякие IDE не в счет). Вот backend - это его родная стихия, но там красот нет, нет цветного desktop и ничто, никакой цвет, кроме черного не нарушает мрачную темноту сервера в темном шкафу. Вот мне это нравится, но не все это понимают :) как вам? Программы там как рабы, даже баллон всплыть не может, чтобы привлечь мое внимание. Только логи...

Андроид веселее. Ну а по информации - не скидывайте свой предыдущий опыт, учеба - она одинакова и там и тут. Начинайте с того, что вам знакомо и поймете, что азы одинаковые.
Ответ написан
Комментировать
angry_cellophane
@angry_cellophane
1. Для начала - джава на примере GoF паттернов. Можно увидеть, как типичные задачи решаются в джаве.
2. В джаве все плохо с десктопом, поэтому лучше сразу писать под андроид.
Ответ написан
Комментировать
Foror
@Foror
Графоман
Начните с JavaFX, его метят на замену как HTML5, так и Swing. По самому языку читайте Философия Java. Если хотите Android, то ставьте сразу Android Studio от Google. В противном случае Eclipse, либо IDEA.

Сразу разберитесь с template-ами в этих IDE, типа sysout, который делает подстановку на System.out.println, или main -> public static void main(String[] args) {}. Не забудьте про hot keys, они серьезно облегчают работу в IDE. Можете еще мой твиттер прошерстить, я там иногда делюсь всякими полезными, не очевидными штуками по работе с Eclipse.

Обязательно разберитесь с GC и аргументами запуска JVM. Это место, где возможен гибкий тюнинг. Вот можете оценить масштабы тюнинга docs.oracle.com/javase/8/docs/technotes/tools/unix... А здесь можете почитать про GC docs.oracle.com/javase/8/docs/technotes/guides/vm/...

А вообще начать можно отсюда docs.oracle.com/javase/8
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы