Как стать инженером-программистом Java

Java база данных внешний интерфейс Android

Java эти вещи - знать почти столбецПосле запуска реакция была очень хорошей, превзойдя все мои ожидания, она привлекла тысячи внимания и получила много личных сообщений, большинство из которых задавали следующие вопросы: Для чего Java используется в работе? Как выучить Java? Сложно ли изучать Java? Могу ли я хорошо выучить Java, если я плохо разбираюсь в английском и математике? Во-первых, я обычный инженер-программист, после работы мне приходится программировать, а после работы приводить ребенка, я не могу отвечать на каждое личное сообщение, пожалуйста, простите меня, но я не хочу отказывать всем. вопросы, поэтому я открыл эту статью, чтобы поговорить о том, как стать программистом Java.

первый,Для чего может быть полезно изучение Java? Каковы текущие направления трудоустройства для Java?Давайте посмотрим на картинку ниже

На приведенном выше рисунке показаны два наиболее важных направления, Java Web и Ardroid, На самом деле разработчики программного обеспечения Java, о которых мы часто говорим,Я думаю, что было бы более уместно называть его инженером программного обеспечения для веб-сайтов Java или инженером по серверной части Java.. Java Web может делать многое.Когда мы используем Taobao для поиска продуктов, мы открываем браузер и вводим URL-адрес, вводим название продукта и нажимаем поиск.В это время интерфейсная страница (браузер) передает продукт имя на сервер Java по протоколу HTTP. , Сервер Java использует технологию JDBC для извлечения данных из базы данных и возврата их, а затем собирает их в содержимое веб-страницы и возвращает в браузер, а затем отображает перед Пользователь. Джава В Интернете есть чему поучиться, включая протоколы сетевых запросов (HTTP и т. д.), интерфейсные веб-технологии, серверные технологии Java, JDBC, базы данных и т. д.

Андроиду чуть меньше учить.Андроид вообще клиентский софт,в принципе не задействующий сервер.Теоретически на серверную технику(контент в сером поле) и фоновую базу обращать внимание не стоит,но думаю нам нужно сделать Квалифицированные инженеры Android, эти вещи по-прежнему необходимо потратить время, чтобы понять. Точно так же инженеры Android также должны изучать протоколы сетевых запросов (HTTP и т. д.), в конце концов, им также нужно обращаться к базе данных через веб-сервер, чтобы получить данные обратно и отобразить их в приложении. В настоящее время появляется все больше и больше приложений со смешанной разработкой (нативная + HTML5), поэтому вам необходимо получить некоторые знания о внешнем интерфейсе.

Обратите внимание, что веб-сервер в карте направлений Android может быть написан на Java или на других языках, таких как C# и т. д., но программистам Android это не нужно.

Независимо от того, изучаете ли вы Java Web или Ardroid, Java Foundation (J2SE) является обязательным для изучения, и я подробно расскажу об этих двух направлениях позже. Другие включают в себя некоторые настольные программы (Swing/awt), разработку встраиваемых систем (J2ME) и разработку JavaFX, которые практически исключены. Найти работу непросто. Не всем рекомендуется учиться. Ниже приведены данные о найме на различные должности в Пекине, которые были найдены на большом веб-сайте по подбору персонала для справки.

Кроме того, в Java тоже есть направление больших данных (Hadoop), но новичкам не рекомендуется выбирать это направление.

Многие люди спрашивали меня в частном порядке,Как среда занятости Java? Ява трудно учиться? Могу ли я узнать Java хорошо, если я не хорош в математике и английском?

Пришло время показать эту картинку:

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

Кроме того, Java легко освоить,Java — это C-подобный язык, и его синтаксис не сильно отличается от C/C++. Я считаю, что все немного изучали языки C или C++, когда шли в школу, поэтому многие из них просты в использовании. используется в C++ Непонятные и запутанные функции, такие как перегрузка операторов, множественное наследование, автоматическое приведение типов и т. д. В отличие от C/C++, Java работает на JVM (виртуальная машина Java), как показано ниже

JVM скрывает детали базовой операционной системы и делает много вещей для разработчиков, таких как выделение и повторное использование памяти.Поэтому разработчикам Java не нужно учитывать выделение и повторное использование памяти при написании программ, а также не нужно учитывать фрагментацию памяти. Проблема в том, что эта часть работы была сделана JVM. Вот почему язык Java является кроссплатформенным (компилируется один раз, работает везде).То есть до тех пор, пока машина JVM может быть установлена, написанная программа Java может быть запущена в теории. Некоторые люди говорят, что C # также очень просто, ему не нужно распространять и перерабатывать память, а язык спроектирован лучше, чем Java, почему бы не выбрать C #? Да, я не отрицаю эту проблему, давайте посмотрим на большие данные найма на сайт:

Местоположение Пекин, поиск по ключевому слову Java дал 24564 рабочих мест, поиск C#, предоставление 6177 рабочих мест. Есть еще много возможностей для трудоустройства, предлагаемых Java,Это также соответствует таблице лидеров.

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

Java не предъявляет высоких требований к математике, а часто используемые структуры данных и алгоритмы инкапсулированы.Java в основном используется для приложений корпоративного уровня, крупномасштабных веб-сайтов и т. д. Он в основном имеет дело с бизнес-логикой, а не с научными вычислениями, поэтому друзьям, которые плохо разбираются в математике, не стоит беспокоиться.Для написания Java-кода требуется английский язык не на высоте,В общей сложности десятки ключевых слов ключевых слов, в основном, кто знает, что это значит, например, как бы, иначе, в то время как, для, публично, частные и т. Д., Не вижу ветеранов на экране на английском языке напуганы, на самом деле, только те Переменные Имя на английском языке это, от имени его,Хотя плохой английский мало влияет на написание Java-программ, читать справочную документацию по API на английском сложнее., Многие материалы из первых рук имеют только англоязычные документы, а в исходниках JDK тоже англоязычные комментарии, но не надо перебарщивать.Большинство API могут найти китайские версии, но всегда чувствуют себя не в своей тарелке при просмотре оригинальной версии.Поэтому, пожалуйста, постарайтесь выучить английский, Если у вас хороший английский, вы можете не найти работу за границей (высокая зарплата).

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

Не говоря уже об основах Java, мы должны сосредоточиться на изучении других, таких как: JavaScript, JQuery, Ajax, JSP, HTML5, oracle, DB2, framework, template, Servlet, Spring, SpringMVC, Struts, Mybatis/ibatis, база данных, MySql и т. д. Подождите, это действительно ослепительно, и некоторые мои друзья боятся отступать, Среди них чаще всего появляются Spring, SpringMVC, Struts, Mybatis/ibatis и MySQL, а многие новички, возможно, не слышали о некоторых слова.Не бойтесь, большая часть упомянутых выше терминов — это фреймворки, основная цель фреймворков — повысить производительность и стандартизировать разработку для всех, то есть если это напишут другие — просто используйте в проекте. Что такое кадр?Не используйте фреймворк, когда впервые начинаете изучать проект, это поможет вам понять нижний слой.Вернемся к первой картинке в начале этой статьи:

Как упоминалось выше, независимо от того, идет ли речь о веб-направлении Android или Java, JavaSE (основа Java) является ключевым моментом, и необходимо заложить хорошую основу.Среди них можно пропустить знания, связанные с Swing/awt.Клиент, сервер и база данных на приведенном выше рисунке Основные вещи, которые нужно изучить, заключаются в следующем, что намного освежает.

Веб-клиент (веб-интерфейс): JavaScript, HTML, CSS

Java-сервер: JDBC, Servlet/JSP и т. д.

База данных: MySQL

Среди вышеперечисленного наиболее важным является сервер Java, базу данных MySQL также необходимо хорошо изучить, а также необходимо понимать веб-интерфейс.Код веб-интерфейса на работе обычно пишется фронтендом. -конечный инженер, но мы должны это понять и добавить в него некоторые скриптовые теги и т.д.Я предлагаю изучить MySQL и JDBC сразу после изучения основ Java, а затем поискать проект DRP г-на Ван Юна для изучения в Интернете.Этот проект не только рассказывает об основах интерфейса, но и подробно объясняет, что сервер Java должен знать.. Внимательно изучив проект DRP, вы уже имеете возможность разрабатывать ПО, но этого недостаточно для выхода на предприятие, так как предприятие в основном использует фреймворк в реальной работе, а фреймворков много, рекомендую сначала изучитьSpringMVC, Spring, Mybatis, также известен какSSM, Эти видеоролики легко загрузить в Интернете. После загрузки изучите их один за другим, а затем интегрируйте их в проект DRP один за другим. После того, как вы ознакомитесь с ним, вы можете подумать о подготовке своего резюме. С вышеуказанным опытом обучения фреймворка SSM, а затем быстро изучить другие фреймворки.

Давайте вернемся и посмотрим на Android, а затем щелкнем по должности инженера Android на веб-сайте по подбору персонала, чтобы посмотреть:

Требования Android аналогичны, за исключением Java, которая является Android.Вы можете самостоятельно поискать видеообучение в Интернете.

Что касается выбора Java Web или Android, это зависит от того, что всем нравится, и те, у кого есть энергия, могут изучить и то, и другое.

Сложность обучения: Java Web > Android
Найти работу: Java Web > Android
Долгосрочная перспектива: Java Web > Android

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

Некоторые люди спрашивали меня в частном порядке, что мне делать, если я не могу вспомнить код во время учебы? Прежде всего, мы должны в процессе обучения дать понять, что мы изучаем Java, чтобы найти работу.Вместо того, чтобы справляться с экзаменами, забудьте о тех стилях в школе,Не запоминайте код, сосредоточьтесь на ключевых моментах, Ключ в том, чтобы сделать это. Программная инженерия — это практическая дисциплина. В процессе обучения недостаточно просто смотреть и слушать. , перейти к следующему пункту знаний. У Лэй Цзюня есть статья: Пять предложений для программистов, одно из которыхДостаточно должны быть написаны тысячи строк кода,Я согласен, я не допускаю прогресс, я не добился прогресса с этим, пишет код - это умелая технология, нет достаточно кода, это не может быть мастером, поэтому я долженБольше кода, больше кода, больше кода.

учусь,понять основную линию обучения, по крайней мере, вы можете сначала сделать небольшой веб-проект самостоятельно, а затем рассмотреть возможность более глубокого изучения других вещей. Некоторые люди узнают о многопоточности в процессе изучения основ Java. Им нужно разобраться в теории, а затем обратиться к некоторым книгам, в которых рассказывается о многопоточности. Некоторые люди видят статьи, в которых говорится, что Java — это новый объект. открывается в динамической памяти, необходимо изучить динамическую память, а затем изучить JVM, такой метод обучения нежелателен.На начальном этапе вы должны сначала научиться улавливать ключевые моменты, сосредоточившись на понимании, практике и поиске работы.Вы должны научиться сначала отказываться от некоторых вещей, а затем углубляться в то, что вы хотите знать, когда у вас есть дополнительное время.. Еще кое-что,Не лезьте на рожон в процессе обучения,у меня маленький ребенок,я узнал про многопоточные дедлоки,но не мог в этом разобраться,поэтому бросил.Есть еще один,еще более жалкий.Я выучил анонимные внутренние классы в обучающем классе,и я "Я думал о том, для чего эта штука используется. Почему должен быть анонимный внутренний класс? Учитель ушел в конец класса, и он все еще думает об этом, даже если он полностью понимает каждое слово, прежде чем он захочет чтобы продолжить, он не закончил изучение основ Java, и он остался позади.Если он хочет бросить школу, учебные заведения Если не отступить, потеряно более 20 000 человек. Если вы столкнулись с чем-то, что вы временно не можете понять во время учебы, сначала отдохните, выйдите на зарядку, расслабьте свой мозг как следует, успокойтесь и подумайте об этом, и, возможно, вы сможете прочитать это снова. Если ты до сих пор не можешь этого понять, просто сначала пропусти это, научись сзади, может быть, ты увидишь тыл, и вдруг ты поймешь, почему это делает фронт.

Есть также некоторые друзья, которые поднимают шум, если в процессе отладки кода возникает небольшая ошибка, и не смотрите на ошибку внимательно, просто сфотографируйте стопку исключений на телефон и пришлите мне личное сообщение, и позвольте мне помочь мне взглянуть на код, посмотреть, обычно это исключение нулевого указателя, нижний индекс массива выходит за пределы и т. д. Я думаю, они не читали его сами, поэтому они отправили его мне напрямую. Не бойтесь, если в вашем исследовании возникнет проблема, все такие, в том числе и я в прошлом, вы должны внимательно прочитать журнал ошибок, посмотреть, какая строка кода сообщает об ошибке, проанализировать причину проблемы и тогда отправляйтесь на расследование,В процессе решения проблем это процесс неосознанного прогресса.. В процессе самостоятельного написания проекта могут возникнуть проблемы в каждом звене веб-интерфейса, Java-сервера и базы данных.Чтобы проверить пошагово, сначала проверьте, передается ли значение веб-интерфейса на Java-сервер, и есть ли на Java-сервере какая-либо передача в базу данных, есть ли какие-либо данные в базе данных и т. д. Если вы будете внимательны, вы найдете проблему, но если вы все еще не можете ее решить, пойдем в Baidu. Если Baidu не выходит, спросите старших, старших и экспертов вокруг вас. Все еще не можете решить эту проблему? Тогда иди достойно или присоединяйся к моим онигири и спроси меня, хе-хе.

Кто-то еще спросил меня,Лучше заниматься самостоятельно или пойти в учебное заведение для систематического обучения?

Если вы все еще второкурсник или младший, и у вас еще много времени, я предлагаю вам учиться самостоятельно.Плата за обучение в учебном заведении обычно составляет от 10 000 до 20 000 юаней, что не то, что обычные люди могут себе позволить. Теперь, когда сетевые ресурсы настолько развиты, что вы хотите?Такую информацию в принципе можно найти, но время самостоятельного изучения немного больше, и легко пойти на обходные пути. Курсы, предлагаемые в университетах, языковые классы, такие как язык C, C++, Java, C#, структуры данных и алгоритмы, сборка, разработка программного обеспечения и все, что связано с программным обеспечением, старайтесь тратить время и усердно учиться, учиться как можно больше, все это полезный .

Если вы уже работаете и хотите сменить профессию, чтобы изучать Java, я предлагаю вам подумать об учебных заведениях для систематического изучения.Оценка учебных заведений на Zhihu кажется не очень хорошей.На самом деле, есть еще несколько таких хорошая работа в сфере образования.Да я ходил в учебное заведение набирать людей,и в принципе могу этим пользоваться.Я не смею просить слишком большую зарплату,когда только учился.Можно выпустить,учись хорошо,и найти работу не проблема.

Сказав так много, я чувствую, что учебное заведение будет доверять мне. Я хочу подчеркнуть, что изучение Java в конце концов все еще очень сложно. Будь то самостоятельное обучение или учебное заведение, пожалуйста, сделайте самооценку во-первых, чтобы убедиться, что вы подходите для изучения Java, это один из моих ответов, пожалуйста, обратитесь к нему самостоятельно:Пользователи Zhihu: Java не подходит для самостоятельного изучения в непрофильных классах?

Наконец, если вы решили изучать Java, пожалуйста, временно отложите славу короля, LOL и Fantasy Westward Journey в свои руки и посвятите себя обучению в первую очередь. деньги тоже стыдно их тратить,и еще не начал.когда играешь в игры,надо играть со спокойной душой.ведь раньше я был королем в Glory of Kings.

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

Код самопрограммирования не помню, как это сделать?

Теперь, в сентябре 2017 года, стало ли труднее самостоятельному изучению Java войти в отрасль?

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

Как новички изучают Java?

Что нужно сделать, чтобы стать программистом с нуля?

Моя колонка:Java вещи - Каталог столбцовНовичкам очень полезно изучать Java, рекомендуется ознакомиться с ним в процессе обучения, если вам понравилось, можете подписаться на меня.Недавно создал рисовый шарик, чтобы помочь друзьям, изучающим Java, прикрепите ссылку на рисовый шарик, если необходимо, отсканируйте код в WeChat, чтобы забрать его.:Нажмите, чтобы просмотреть QR-код