Java — для реализации проектов! Основная область применения Java — разработка проектов уровня предприятия! Чтобы заниматься разработкой проектов на уровне предприятия, необходимо освоить следующие моменты:
1. Освоить основные этапы разработки проекта.
2. Обладать сильными навыками объектно-ориентированного анализа и проектирования.
3. Освоить основные методы разработки, основанные на сценариях использования и ориентированные на архитектуру.
Никто не хочет довольствоваться освоением некоторых навыков реализации кода на протяжении всей своей жизни. Другие говорят вам, что реализовать, а вы просто используете код для реализации требований других людей! Вы должны научиться думать с точки зрения всего проекта! Вы должны научиться думать, если вы менеджер проекта! Вы должны научиться думать, если вы архитектор! Вы должны освоить аналитические методы для конкретной проблемной области!
Что касается базовых знаний о туберкулезе: вы можете посмотреть на эти существительные или точки знаний и посмотреть, сможете ли вы назвать их один, два, три или четыре.
JavaSE
―-Основной синтаксис, типы данных, операторы и т. д.: int, long, Integer, Long, if, else, for, while
―-Объектно-ориентированный: класс, объект, экземпляр, состояние, поведение, поле, метод, новое, видимость (контроль доступа), атрибут, свойство, пакет, импорт, статическая переменная, переменная класса, переменная экземпляра, куча, область метода, стек, GC (сборка мусора), переопределение, перегрузка, преобразование объекта (приведение), полиморфизм, это, супер
―-Обработка исключений: понимание разницы между ошибками времени компиляции и ошибками времени выполнения, исключениями, исключениями RuntimeException, проверенными исключениями, непроверенными исключениями, попытками, перехватами, наконец, созданием нового исключения XXXException, выдачей исключения XXXException, а также основными принципами обработки исключений.
―-Массивы и коллекции: определение и использование массивов, Коллекция, Список, Набор, Карта, ArrayList, HashSet, HashMap, Итератор, равенства, hashCode, Comparable, Comparator
―-Часто используемые классы: String, intern, пул констант, StringBuffer, java.util.Date, SimpleDateFormat, Regex (регулярное выражение).
―-Механизм отражения: класс, метод, поле, вызов, newInstance, BeanUtils (apache-commons), PropertyUtils (apache-commons).
―-Потоки ввода и вывода: InputStream, OutputStream, Reader, Writer, шаблон проектирования адаптера и класс исходного потока, шаблон проектирования Decorator и класс упакованного потока, сериализация и десериализация объектов.
―-Многопоточность: Thread, Runnable, сон, ожидание, уведомление, синхронизация, блокировка
Сервлеты и JSP
―-HttpServlet, doGet, doPost, HttpServletRequest, HttpServletResponse, request.getParameter(), request.setAttribute(), request.getAttribute(), request.getSession(), ServletContext, Filter, web.xml, tomcat, пересылка и перенаправление, Отсутствие состояния протокола http, файлов cookie, объекта JSP Scope, <c:out …/>, <c:forEach …>
HTML и JavaScript
―-Вы должны уметь понимать общие теги веб-страниц, понимать, как внедрять JavaScript на веб-страницы, а также базовый синтаксис и использование JavaScript.
Вышеизложенное — это базовые знания, необходимые для дальнейшего изучения Java. Особенно некоторые профессиональные термины и существительные. Если вы видите эти существительные такими же дружелюбными, как собственный отец, то это означает, что вы хорошо знакомы с базовыми знаниями Java.
Далее идет SSH:
Для новичков эти три основных фреймворка представляют слишком много загадок, и кажется, что именно они являются самыми важными знаниями! Но профессиональный и технический персонал с многолетним опытом разработки на Java и те, кто хорошо разбирается в Java, не очень заинтересованы в этих трех основных платформах! Разве они не важны?
Многие компании сейчас используют эти три основные концепции, поэтому многие компании также рассматривают освоение этих трех основных систем как необходимое условие для подбора персонала. Нельзя отрицать, что существует множество крупных предприятий, которые не используют эти три основные структуры. За годы развития эти предприятия накопили определенный объем технологий и сформировали свою собственную уникальную систему технических рамок. Можно сказать, что эти три основные структуры очень важны, а можно сказать, что они неважны.
Причина, по которой это важно, заключается в том, что эти три основные платформы предоставляют прекрасные решения общих проблем в разработке JavaEE. Они содержат усилия и идеи большинства разработчиков NB в этой отрасли. Поэтому вы можете изучить эти три основные платформы. представление о том, что эти талантливые люди на вершине технологий думают о проблеме и какие дизайнерские идеи они используют для решения проблемы. Итак, у вас нет большого опыта в разработке проектов, какой у вас опыт? Опыт означает, что вы знаете, с какими проблемами вы можете столкнуться, какие решения доступны для каждой проблемы, какое решение лучше в определенной ситуации, какой метод не так хорош и т. д.! Если вы никогда не занимались какими-либо проектами, вы не представляете, с какими проблемами вы можете столкнуться, и эти проблемы часто очень критичны! Если ее не решить должным образом, это повлияет на стабильность, масштабируемость и т. д. вашей программы! Три основных фреймворка дают новичкам понимание того, с какими проблемами вы можете столкнуться в будущем, а также пути решения этих проблем!
Когда вы поймете, почему эти три основные структуры важны, вы также сможете понять, почему эти три основные структуры также можно назвать неважными. Если вы разработали множество проектов и столкнулись с различными проблемами, полагаясь на свои технические навыки, вы преодолели эти проблемы одну за другой. В глазах этих людей три основных фреймворка (а есть N фреймворков? Ха-ха) — это все облака!
К какому типу людей вы принадлежите? Если у вас нет большого опыта разработки проектов, то для вас очень важны три основных фреймворка! Более того, благодаря этому вы также узнаете, как изучить эти три основных фреймворка. При изучении трех основных схем основное внимание уделяется тому, чтобы показать вам проблемы и стимулировать ваше собственное активное мышление. Мы призываем вас выдвигать свои собственные идеи. Возможно, ваши идеи идиотские, но, в конце концов, это ваши собственные идеи. не знаю, что думают великие люди, так откуда тебе знать, что твои собственные идеи идиотичны? В процессе этого столкновения идей вы постепенно будете совершенствоваться! Таким образом, после изучения трех основных фреймворков вы не должны просто видеть множество файлов конфигурации. Вы не должны просто видеть некоторые действия, некоторые службы и некоторые файлы сопоставления. Вы должны не только знать session.save/update/delete. вы не должны просто знать, что в struts2 есть куча перехватчиков, вы не должны просто видеть кучу jar-пакетов...
Если вы просто знаете, что после копирования набора jar-пакетов и определения ряда файлов конфигурации три основных фреймворка SSH могут работать на вас, то, к сожалению, вы все еще не освоили три основных фреймворка Essence! Пожалуйста, ответьте на следующие вопросы:
Стратс2:
Почему нам нужно создавать объект Action для каждого запроса?
Какую проблему решаетrefreshModelBeforeResult в конфигурации перехватчика ModelDriven?
Почему StrutsPrepareAndExecuteFilter, настроенный в web.xml, фильтрует все запросы?
Не могли бы вы рассказать мне о ValueStack?
Как Struts2 реализует шаблон проектирования MVC?
Весна:
Почему вам следует использовать Spring?
Не могли бы вы рассказать о IOC/DI?
Что такое декларативное управление транзакциями? Зачем использовать декларативное управление транзакциями? Как Spring реализует декларативное управление транзакциями?
При интеграции Spring и Hibernate и определении функций управления транзакциями, почему методы, отличные от операций добавления, удаления и обновления, то есть методы, которые в основном выполняют задачи запроса, должны быть определены как доступные только для чтения?
Спящий режим:
Не могли бы вы поделиться своим пониманием картографирования OR?
Многие говорят, что Hibernate не подходит для больших проектов и имеет проблемы с производительностью. Как понять?
Почему Hibernate должен определять идентификатор базы данных?
Почему Hibernate рекомендует, чтобы ваши классы сущностей реализовывали методы hashCode и Equals?
Расскажите о своем понимании взаимосвязи между идентификатором базы данных и первичным ключом базы данных в классе сущностей Hibernate?
Расскажите о своем понимании взаимосвязи между сопоставлением ассоциаций Hibernate и внешними ключами базы данных?
При вызове метода session.save() обязательно ли спящий режим выдаст оператор вставки? Расскажите о своем понимании
При вызове метода session.update() обязательно ли спящий режим выдаст оператор обновления? Расскажите о своем понимании
Пожалуйста, расскажите о следующих существительных, понятиях и значениях: lazy, lazy="extra", inverse, fetch, fetch="join", fetch="subselect", пакетный размер.
Будет ли достигнута отложенная загрузка, если настроен lazy="true"?
Пожалуйста, расскажите о проблеме «N+1» в Hibernate.
Не могли бы вы рассказать о лучших практиках для Hibernate?
Вышеупомянутое — это не все ключевые вопросы по SSH, но они помогут проверить, можете ли вы гибко использовать структуру SSH! Если вы сможете глубоко понять эти вопросы в сочетании с соответствующей практической подготовкой проектов, вы постепенно станете экспертом!
Наконец, есть возможность разработки проектов:
Независимо от того, изучаете ли вы Java или другие технологии, ваша основная цель — создать ценность для клиентов! В противном случае то, чему вы приложили большие усилия, скоро устареет по мере развития и обновления технологий! Таким образом, суть технологии заключается в использовании технологий для достижения ценных результатов! Другими словами, что бы ни требовалось клиенту, вы должны использовать технологии, чтобы создать то, что ему нужно! Причина, по которой компания изо всех сил старается удержать вас на различных условиях социального обеспечения, заключается в том, что вы можете принести компании чрезвычайно большую выгоду! Итак, что у вас есть, что компании могут использовать? Какие ваши способности компания ценит больше всего?
Для реализации проектов требуется множество способностей, наиболее важным и базовым из которых является умение моделировать (наиболее распространенным сейчас является объектно-ориентированное моделирование!). Что такое возможности моделирования?
Позвольте мне задать вам вопрос на собеседовании:
Модуль управления страховыми картами страховой компании: продавец собирает информацию о страховой карте (количество страховой карты, номер карты, дату получения), а затем продает ее непосредственно покупателю. После завершения продажи вводятся данные страховой карты. в систему страховой компании (информация о продавце, номер карты, дата получения, количество приобретенных страховых карт, номер карты и т. д.), клиент заходит на сайт страховой компании, чтобы активировать страховую карту, и ему необходимо заполнить. в (номер страховой карты, пароль активации, информация о страхователе, информация о выгодоприобретателе)
Требование такое: если вам передадут этот модуль, что вы будете делать? Какие проблемы вы пытаетесь решить? Не могли бы вы нарисовать картинку и описать мне, в чем ваша идея?
Это всего лишь вопрос для собеседования. Поскольку он состоит всего из нескольких простых предложений, я поставил его здесь, чтобы каждый почувствовал, какие проблемы необходимо решить так называемым моделированием. В сфере бизнеса столько проблем! Возможно, документ с требованиями на десятки или сотни страниц сможет четко описать проблемы в определенной сфере бизнеса, и ваша ответственность — реализовать их!
Некая компания хочет разработать систему управления посещаемостью и требует, чтобы она была связана с существующей системой управления персоналом. Вы главный ответственный технический специалист. Чем вы занимаетесь?
В проекте ERP необходимо внедрить модуль управления сменами и оставить его на ваше усмотрение. Как его завершить?
Не жалуйтесь, что руководитель проекта дал вам слишком мало информации (всего несколько предложений), не жалуйтесь, что заказчик нечетко описал свои потребности... Ваша ценность заключается в том, чтобы разобраться во всех проблемах и использовать различные означает получить нужную информацию, обобщить ее в соответствии с определенной идеей и решить ее одну за другой в течение определенного времени!
Вы должны понимать, что изучение Java — это не так просто, как танковый бой, сетевой спидстер, CMS, DRP или OA. Не следует зацикливаться на этих технических деталях (хотя это тоже необходимо, но не переусердствуйте). это), и не довольствуйтесь реализацией. С требованиями к проекту в стиле CRUD (хотя это и есть основа фундамента) перед вами всегда стоит цель, для достижения которой вам нужно усердно работать!
В будущем вы столкнетесь с более сложными требованиями. Единственная цель вашего учебного проекта — научиться преобразовывать требования в реализацию, анализировать требования, создавать концептуальные модели, выяснять связи между различными концепциями и т. д. как проектировать, как выбрать подходящую технологию для реализации вашего проекта, как протестировать вашу реализацию и как решить различные проблемы, с которыми вы сталкиваетесь (производительность, изменения требований и т. д.). После того, как вы действительно несколько лет занимались разработкой в компании, вы со мной согласитесь!
Чтобы найти работу с использованием Java, вам нужен опыт работы в проекте. Опыт работы в проекте означает понимание основного процесса разработки проекта, понимание метода анализа проекта, понимание идей дизайна проекта, понимание навыков реализации проекта, понимание методов тестирования проекта и понимание различных аспектов проекта Решение вашей проблемы! ! !
Итак, пришло время узнать свои цели!