Java — Java Core, что это

Содержание

Java Core — что нужно знать? [закрыт]

Что нужно знать, чтобы можно было сказать «Я знаю Java Core»?

Закрыт по причине того, что необходимо переформулировать вопрос так, чтобы можно было дать объективно верный ответ участниками aleksandr barakin, Nicolas Chabanovsky ♦ 23 янв ’16 в 23:59 .

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

4 ответа 4

Ну на самом деле понятие Java Core очень расплывчатое. Кто-то считает, что это все то, что описано в JLS, кто-то берет за основу SCJP, кто-то какие-то собственные метрики. Есть вообще люди, которые называют это Java Fundamentals, а к Core относят еще и ООП, работу с коллекциями и основы мультипоточности. Тут здесь все очень субъективно. Но думаю, если сможете ответить на все вопросы из этого интервью, то вполне уверенно можете говорить о том, что знаете Java Core.

В рамках книги Брюса Эккеля «Философия Java».

Тогда уже 2 томник Хорстманна. Он так и называется Java Core

Наверное к ответу к данному вопросу прежде всего нужно отнести синтаксис java и средства которые отличают этот язык от других ооп языков программирования. Как говорилось раньше это скорее всего проявление ооп в java, коллекции, многопоточностью. Вообще написано множество книг. И точно ответить на этот вопрос мало кто сможет , можно взять книги которые обхватывают java и почитать разделы , станет примерно понятно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками java или задайте свой вопрос.

Похожие

дизайн сайта / логотип © 2020 Stack Exchange Inc; пользовательское содержимое попадает под действие лицензии cc by-sa 4.0 с указанием ссылки на источник. rev 2020.11.13.35431

Java — Java Core, что это?

Пишем что-то на джаве.

Давайте писать комментарии к коду

Хотел бы немного порассуждать на тему написания комментариев к коду. С одной стороны кажется, что разработчик это такой супермозг, который должен уметь читать любой код. Есть там комментарии или нет, по фиг. Ты же «голова», разберешься. Неважно, что метод в сто тыщ миллионов строк и неважно, что давным-давно человечество придумало отступы и переносы — это всё для дрищей. Настойщий программер может прочитать хоть стопицот строк кода и понять, что собственно они делают, даже если все эти строки это одна большая такая строка. Считаю, что это полный отстой. Не зря же придумали классы, методы и поля. Продолжить чтение этой записи

Java File — как работать с файлами в Java

Для работы с файловой системой у Java имеется специальный класс File, который располагается в java.io пакете. К Java Swing никакого отношения не имеет, однако я решил написать про него и разобрать небольшой пример, чтобы показать, как в Java работать с файловой системой при помощи класса File. На первый взгляд, из названия класса File, думается о том, что данный класс подходит только для работы с файлами. Но это не так. File содержит необходимый набор методов для создания, удаления файлов, а также просмотра содержимого папок. Кроме того при помощи класса Java File можно Продолжить чтение этой записи

Filed under Core Java Tagged with File

Сериализация Java Swing компонентов на примере выпадающего списка JComboBox

Совсем недавно, разбирая с товарищем коллегой проблему одну, с удивлением для себя обнаружил замечательную вещь. Оказывается компоненты Java Swing можно сериализовать. Буквально за пять минут набросал пример, который создает компонент JComboBox, затем сериализует его в поток, а поток пишется в файл. Файл в конечном итоге можно открыть обыкновенным редактором и увидеть то, что нам насериализовал Java Swing. Но самое интересное, всё получившееся, я имею в виду файл с сериализованным JComboBox — можно прочитать и создать из него новенький выпадающий список, а потом как ни в чем не бывало разместить его на форме. Вот такое волшебство Java Swing. Продолжить чтение этой записи

Как с помощью Java загрузить и сохранить рисунок из интернет

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

Как сохранить таблицу JTable в XML

Заметил, что в панели администрирования моего wordpress в секции «Ключевые слова — По этим словам люди нашли ваш блог» на первом месте последнее время запрос «java jtable to xml». Собственно об этом и будет всё ниже написанное. Возьму обычный JTable с какими-нибудь данными и при помощи Java DOM сохраню всё содержимое таблицы в xml. Первое, что необходимо сделать — это получить данные из таблицы. Кстати таблица редактируемая, поэтому данные в ячейках можно изменять и при очередном сохранении они будут обновляться в XML файле. Так как же получить данные с таблицы? Делаетcя это через TableModel — модель таблицы, в которой находятся все данные отображаемые в JTable в данный момент. Получить модель у таблицы можно при помощи метода getModel. Затем при помощи метода getValueAt(row, col) TableModel можно получить значение из конкретной ячейки таблицы, где row — индекс строки, а col — индекс колонки. Продолжить чтение этой записи

Чтение XML в Java с помощью DOM

Для работы с XML в Java есть достаточно большой набор инструментов, начиная от встроенных возможностей (я имею в виду возможности, которые предоставляет Core Java без использования дополнительных lib’ов) и заканчивая большим набором разнообразного стороннего кода, оформленного в виде отдельных библиотек. К примеру есть очень интересная библиотека, которую я совсем недавно использовал для того, чтобы сериализовывать класс в XML и наоборот, создавать из XML представления класса конкретный экземпляр. Библиотека называется XStream, если кому интересно, то вот она http://xstream.codehaus.org Пока что остановимся на средствах, которые входят в стандартную JDK, а именно на DOM — Document Object Model. Продолжить чтение этой записи

Filed under Core Java Tagged with DOM, XML

FontMetrics — как узнать размер строки или символа в Java Swing

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

Filed under Core Java Tagged with FontMetrics

В чем разница между java и core java?

при просмотре вакансий в Интернете я заметил, что некоторые вакансии требуют знания «core Java». Что такое core java и чем отличается от java?

15 ответов

«Core Java» — это термин Sun, используемый для обозначения Java SE, стандартное издание и набор связанных технологий, таких как Java VM, CORBA и т. д. Это в основном, чтобы отличить, скажем, от Java ME или Java EE.

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

«Core Java» — это определение Oracle и относится к подмножеству технологий Java SE.

Это на самом деле не связано с самим языком Java, а скорее с набором некоторых «базовых» пакетов. В результате это влияет на подходы к развитию.

В настоящее время Java Core определяется как следующий набор:

  • базовые технологии
  • описание
  • HotSpot VM
  • интерфейс именования и каталогов Java (В JNDI)
  • мониторинг приложений и управление
  • инструменты API
  • XML

но, как вы, вероятно, понимаете, даже термин «базовые технологии» несколько неясен ;-) так что это не столь строгое определение. Вот официальная страница для этого термина:

вот еще одна картина, иллюстрирующая Java Core API / технологии внутри Java SE платформа.

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

некоторые компании поставят «core java», чтобы отличить его от Java EE, но это все еще только ваша базовая Java.

есть две категории следующим образом

по мнению некоторых разработчиков, «Core Java» относится к API пакета java.util.* , который в основном используется при кодировании.

термин «Core Java» не определяется Sun, это просто определение сленга.

J2ME / J2EE по-прежнему зависят от J2SDK API для компиляции и выполнения.

никто бы не сказал java.util.* отделен от J2SDK для использования.

«Core Java» — это термин Sun Microsystem, используемый для обозначения Java SE. И есть Java ME и Java EE (J2EE). Так что это сказано для того, чтобы дифференцироваться с Java ME и J2EE. Поэтому я чувствую, что Core Java используется только для упоминания J2SE.

Цукерберг рекомендует:  Почему нравятся умные люди

простой шаг, чтобы понять, что такое java и core java.

найдите книгу для Java.

найдите книгу для core java.

сравните содержание обеих книг.

фактический результат: оба имеют почти одинаковое содержание.

результат: Java и core java одинаковы.

core java — это просто сленг, чтобы подчеркните глубокое знание основ java. но если я говорю, что знаю Java, это не значит, что у меня нет глубоких знаний базовой java, или если я знаю все на java.

на простом языке core java означает понятия наследования, полиморфизма,абстракции,инкапсуляции,класса, объектов, которые входят в ядро java. Core java означает J2SE. Надеюсь, это развеет ваши сомнения.

Это не официальный термин. Я думаю это означает знание самого языка Java и наиболее важных частей стандартного API (java.Лэнг, Ява.io, java.utils пакеты, в основном), в отличие от множества специализированных API и фреймворков (J2EE, JPA, JNDI, JSTL, . ) которые часто требуются для заданий Java.

«Core Java» — это термин Sun, используемый для обозначения Java SE, standard edition и набора связанных технологий, таких как Java VM, CORBA и т. д. Это в основном, чтобы отличить, скажем, от Java ME или Java EE.

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

Java имеет в основном три подкатегории :

  1. Java Standard Edition (JSE) или Core Java
  2. Java Enterprise Edition (JEE)
  3. Java Mobile Edition (JME)

здесь core java-это первый и основной шаг для запуска или изучения java с самого начала.

Java-это язык программирования, но Core java-это только часть java. Ядро java является основным java. Если вы новичок в JAVA, вам нужно начать с core java.

Java в основном категории в 3-х частях:

1.) J2SE / Core java означает Java 2 standard edition и обычно предназначен для разработки настольных приложений, формирует core/base API.

2.) J2EE означает Java 2 enterprise edition для приложений, которые работают на серверах, например эти сайты. (Spring, Struts-это Java-фреймворки, в основном используемые для J2EE)

3.) J2ME означает Java 2 micro edition для приложений, которые работают на устройствах с ограниченными ресурсами (устройствах малого масштаба), таких как сотовые телефоны, например игры.

чтобы узнать J2EE или J2ME, вы должны знать core java.

Java — Java Core, что это?

Вопросы для собеседования на Java Developer

Потоки ввода/вывода в Java

Servlets, JSP, JSTL

  • © 2020 GitHub , Inc.
  • Terms
  • Privacy
  • Security
  • Status
  • Help

You can’t perform that action at this time.

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.

В чем разница между java и core java?

При взгляде на вакансии в режиме онлайн я заметил, что для некоторых открытий требуются знания о «основной Java». Что такое ядро ​​Java и как отличается от java?

«Ядро Java» — это термин Sun, используемый для обозначения Java SE, стандартная версия и набора связанных технологий, таких как Java VM, CORBA и т.д. Это в основном отличается от, скажем, Java ME или Java EE.

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

«Core Java» — это определение Oracle и относится к подмножеству технологий Java SE.

Это фактически не связано с языком Java, а скорее с набором некоторых «базовых» пакетов. В результате это влияет на подходы к развитию.

В настоящее время Java Core определяется как следующий набор:

  • Основные технологии
  • CORBA
  • HotSpot VM
  • Интерфейс именования и интерфейса Java (JNDI)
  • Мониторинг и управление приложениями
  • API-интерфейс API
  • XML

Но, как вы, вероятно, понимаете, даже термин «базовые технологии» несколько неясен;-), так что это не так строгое определение. Вот официальная страница для этого термина:

Вот еще одна иллюстрация, иллюстрирующая Java Core API/технологии внутри платформы Java SE.

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

Некоторые компании установят «ядро java», чтобы отличить от Java EE, но это все еще только ваша базовая Java.

Существует две категории:

По мнению некоторых разработчиков, «Core Java» относится к API пакетов java.util.* , который в основном используется в кодировании.

Термин «Core Java» не определяется Sun, это просто определение сленга.

J2ME/J2EE по-прежнему зависит от J2SDK API для компиляции и выполнения.

Никто не сказал бы, что java.util.* отделен от J2SDK для использования.

Простой шаг, чтобы понять, что такое Java и ядро Java.

Найти книгу по Java.

Найти книгу для ядра Java.

Сравните содержание обеих книг.

Фактический результат: оба имеют почти одинаковое содержание.

Результат: Java и ядро Java одинаковы.

Основное Java — это просто сленг, чтобы подчеркнуть глубокие знания основ Java. но если я говорю, что знаю Java, это не значит, что я не обладаю глубокими знаниями основ Java, или если я знаю все в Java.

«Core Java» — термин Sun Microsystem, используемый для обозначения Java SE. И есть Java ME и Java EE (J2EE). Итак, это сказано, чтобы отличать Java ME и J2EE. Поэтому я чувствую, что Core Java используется только для обозначения J2SE.

В простом языке ядро ​​Java представляет собой концепции наследования, полиморфизма, абстракции, инкапсуляции, класса, объектов, которые входят в базовую Java. Core java означает J2SE. Надеюсь, это может устранить ваши сомнения.

Это не официальный термин. Я предполагаю, что это означает знание самого языка Java и наиболее важных частей стандартного API (java.lang, java.io, java.utils пакетов) в отличие от множества специализированных API и фреймворков (J2EE, JPA, JNDI, JSTL. ), которые часто требуются для заданий Java.

«Ядро Java» — это термин Sun, используемый для обозначения Java SE, стандартной версии и набора связанных технологий, таких как Java VM, CORBA и т.д. Это в основном отличается от, скажем, Java ME или Java EE.

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

Java имеет в основном три подкатегории:

  • Стандартная версия Java (JSE) или Core Java
  • Java Enterprise Edition (JEE)
  • Java Mobile Edition (JME)

где core java — это первый и базовый шаг для начала или изучения Java начиная с.

Java — это язык программирования, но Core java — это всего лишь часть java. Ядро Java является базовым для java. Если вы новичок в JAVA, вам нужно начать с ядра Java.

Java в основном состоит из трех частей:

1.) J2SE/Core Java представляет собой стандартную версию Java 2 и обычно предназначен для разработки настольных приложений, формирует базовый API.

2.) J2EE представляет собой корпоративную версию Java 2 для приложений, которые запускаются на серверах, например веб-сайтах. (Spring, Struts — это рамки java, используемые в основном для J2EE)

3.) J2ME означает версию для Java 2 для приложений, которые работают на устройствах с ограниченными ресурсами (устройства малого масштаба), такие как сотовые телефоны, например игры.

Чтобы узнать J2EE или J2ME, вы должны знать ядро ​​Java.

Собеседование на java-программиста (java-developer interview). Часть 2: Вопросы

Это продолжение цикла статей о собеседовании на java-программиста:

Java-related технологии и фреймворки рождаются и умирают, а без знания java core далеко не уедешь. Как можно знать Hibernate, но не знать JDBC и SQL? Как можно разбираться в Spring MVC или Struts, но при это плавать в сервлетах? Как можно пользоваться блокирующими очередями, экзекьюторами и локами, но при этом не понимать, как работают wait/notify? Для меня это до сих пор остается загадкой.

С другой стороны, меня иногда удивляют вопросы сотрудников, которые они задают кандидатам. Зачем спрашивать о Vector и Hashtable — на дворе уже скоро 4-ое тысячелетие. Или «зачем нужен UNION»? Так и хочется ответить — для SQL-инъекций. На счет паттернов проектирования и UML я вообще молчу — неужели до сих пор не наигрались? Но это еще полбеды. Иногда интервьюеры сами допускают довольно грубые ошибки. Об этом чуть позже.

Ниже приведен список вопросов (точнее небольшая его часть), которые я задаю на собеседовании, с моими комментариями. Вся прелесть в том, что в зависимости от позиции (junior java developer, mid-level, senior developer) и специализации некоторые из вопросов превращаются в более короткие либо более продолжительные диалоги с кандидатом и проверяют не только технические знания, но и умение мыслить и делать логические умозаключения. После многих пунктов вы найдете ссылки на статьи по соответствующей тематике.

[Disclamer: В статье выражается до безобразия субъективное мнение. Резкие выражения используются исключительно для донесения своих мыслей до читателя: никого обижать я не собирался и не собираюсь. Людям с расшатанной психикой или зашкаливающим ЧСВ читать, и тем более комментировать, категорически воспрещается. К спамерам и троллям это не относится: каждый ваш комментарий как лучик света в этом царстве тьмы, и дай вам бог всем здоровьечка.]

Вопросы собеседования по Core Java

Для позиций типа Senior эти вопросы можно пропустить. Но иногда все же стоит перестраховаться.

1. Модификаторы в Java.

Особо глубоко спрашивать не нужно — вкратце о назначении и вариантах использования. Можно спросить о контекстах использования этих модификаторов (класс/поле/метод). Подробные вопросы о модификаторах доступа, расширении модификаторов при наследовании, переопределение и сокрытие методов, модификатор abstract и final для классов/методов лучше оставить для вопросов по ООП в Java. Подробное знание модификаторов synchronized и volatile можно проверить в вопросах по многопоточности.

Небольшая статья про модификаторы — здесь.

2. Иерархия коллекций в Java.

Рассматриваем Collection, Set, List, Queue, Map и их основные реализации. Можно в принципе спросить о методах, которые есть в интерфейсе Collection, но лучше не надо. Стоит поинтересоваться, какими коллекциями человек пользовался, но опять же без фанатизма. Напоминаю, Vector и Hashtable (и Stack кстати тоже) — прошлый век, тем более в случае работы с legacy кодом всегда можно посмотреть сорцы. Еще можно поговорить о массивах, а следующий код может привести к интересному диалогу:

По поводу свойств и контракта equals/hashCode спросить стоит и о поломке коллекций тоже, но сильно не увлекайтесь, так как это может привести к любимому вопросу большинства интервьюеров об устройстве HashMap. В свою очередь это напрямую ведет нас к вопросам о структурах данных, алгоритмах и их сложности. Мое мнение по этому поводу — с алгоритмами хорошо знакомы олимпиадники и те, у кого в университете это преподавалось на должном уровне. Мне, например, в этом плане не повезло ни с тем, ни с другим. И разбирался в алгоритмах/АТД по ходу своей работы только тогда, когда возникали соответствующие задачи или просто было время и желание почитать и осознать. В результате — quick sort, merge sort, radix sort напишу; hash map, linked list, binary search tree напишу; semaphore, thread pool, blocking queue тоже напишу. Что-то еще нужно? Окей, напишу.

Что делать, если шило все же мешает и хочется хоть раз в жизни показать свои глубочайшие знания в области алгоритмов и структур данных и без того напуганному кандидату. Начнем с того, что такие вопросы стоит задавать только senior разработчику и только если задачи такого плана встречаются на проекте достаточно часто (что встречается достаточно редко). Так уж и быть, спрашивайте об устройстве HashMap и скорости поиска, об устройстве LinkedList и сложности операций над ним. Можно попросить, чтобы человек своими словами рассказал, откуда в quick/merge sort берется log2n. Можно еще какую-нибудь задачу алгоритмическую задать. Но помните, возможно с этим человеком вам еще придется работать в одной команде.

Цукерберг рекомендует:  Node js - Помогите c nodejs

3. Иерархия исключений и ошибок.

Тут как бы все понятно, но бывает, что люди не знают элементарных вещей. Стоит спросить об иерархии, о checked и unchecked ошибках/исключениях, когда используются те или иные, как и когда их нужно обрабатывать. Можно даже начать небольшой диалог по поводу OutOfMemoryError. Если человек знаком с JDBC, можно поговорить об SQLException и поинтересоваться, оно chekced или unchecked и нормально ли это по мнению кандидата.

Ответ на этот вопрос можно найти здесь

4. Вложенные классы в Java.

Некоторые считают, что этот вопрос не нужен. Лично я так не думаю. Стоит спросить о классификации, вариантах использования, о нарушении инкапсуляции и самое интересное — зачем они нужны по мнению кандидата.

Моя статья о вложенных классах на Quizful — здесь.

И статья об анонимных классах — здесь.

Вопросы по ООП в Java

5. Основы ООП

Здесь уже подробно рассматриваем модификаторы доступа и прочие вещи, которые я упомянул в комментариях к первому вопросу. Можно спросить об интерфейсах и абстрактных классах. Пусть человек своими словами расскажет о полиморфизме и инкапсуляции. Если хотите послушать рассуждения человека, можно спросить о таком фрагменте кода:

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

6. Паттерны проектирования

Напоминаю, не стоит глубоко спрашивать о паттернах проектирования. И ни в коем случае не поучайте кандидата рассказами о том, «насколько они полезные» и «как их правильно реализовывать». Кстати, по поводу красоты/понятности кода и быстроты его написания мой друг говорит следующее: «Чтобы уметь круто хачить на Java, нужно дохера хачить на Java».

Каталог паттернов проектирования можете найти здесь

Вопросы собеседования по многопоточности в Java

7. Многопоточность в Java.

Хочу посвятить этой теме цикл статей: одним абзацом не отделаешься. Если вкратце, спросите, зачем нужна многопоточность, что такое монитор объекта, спросите о модификаторах syhcnronized и volatile, методах wait/notify/notifyAll, а так же о пакете java.util.concurrent. А следующий фрагмент кода должен привести к достаточно интересному разговору:

Интересная статья про методы wait/notify доступна здесь.

Вопросы, связанные с базами данных

8. SQL

Для начала стоит задавать вопросы по ANSI SQL. Далее, в зависимости от СУБД, используемой на проекте, можно спрашивать о важных отличиях ее диалекта. Итак, пусть человек расскажет об основных элементах баз данных — таблицах, процедурах, функциях, констрейнтах и т.д. О констрейнтах можно поспрашивать чуть подробнее. Стоит поинтересоваться, как человек понимает null в базах данных. Переходите к агрегатным функциям и о том, как они работают с null, не забудьте о group by и having. Можно дать пару маленьких задачек на эту тему (см. задачи 1-2 ниже). Поспрашивайте о типах join и дайте пару задачек (см. задачи 3-4 ниже).

Задача 1. Дана таблица T с колонкой A целого типа, содержащая значения 10, 20, 30, null. Чему будут равны результаты выражений «AVG(A)» и «SUM(A) / COUNT(*)»?

Задача 2. Дана таблица T с колонкой A целого типа. Напишите запрос, который вернет все положительные значения встречающиеся в таблице более одного раза.

Задача 3. Даны таблицы T1 и T2. В каждой есть колонка A целого типа. Значения в первой таблице — 1, 2, а во второй — 2, 3. Что вернут запросы с inner join, left/right/full outer join и cross join вида «select T1.A, T2.A from T1 . join T2 on T1.A = T2.A».

Задча 4. Даны 2 таблицы с колонками A целого типа. Напишите запрос, который вернет все значения колонки А из первой таблицы, для которой нет соответствия в колонке A второй.

Статья о конструкции Join доступна здесь

9. JDBC API

Тут тоже без особых извращений. Спросите о Connection, Statement, PreparedStatement, CallableStatement, ResulSet, зачем каждая из этих сущностей нужна. Можно поинтересоваться о том, чем они являются: абстрактными классамм, конкретными классами или интерфейсами и почему.

Еще вопросы — как создать соединение в JDBC, каким образом лучше добавлять большое количество записей в таблицу, ну и обязательно о транзакциях и autocommit. Чуть не забыл — вопрос об уровнях изоляции транзакций считаю как минимум странным — в следующий раз, когда решите его задавать, вспомните, сколько раз с уровнями изоляции сталкивались лично вы.

Читайте на блоге подробный туториал по JDBC.

Вопросы собеседования по веб-программированию

10. Servlet API

Для начала надо спросить об HTTP в целом. Что такое хедеры запроса, какие вообще типы запросов бывают, что такое HTTP Status Code.

Далее нужно спросить про класс HttpServlet, в каком виде можно работать с запросом и ответом. Что такое сессия (HttpSession) и как ее получить. Не забудьте спросить про ServletFilter и варианты их использования.

Организм требует сна. Статью завершу через некоторое время. Удачи всем.

В чем разница между Java и Core Java?

Просматривая вакансии онлайн, я заметил, что для некоторых вакансий требуется знание «ядра Java». Что такое ядро Java и чем оно отличается от Java?

15 ответов

«Ядро Java» — это термин Sun, используемый для обозначения Java SE, стандартного выпуска и набора связанных технологий, таких как Java VM, CORBA и так далее. В основном это отличается от, скажем, Java ME или Java EE.

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

«Ядро Java» является определением Oracle и относится к подмножеству технологий Java SE.

На самом деле это не связано с самим языком Java, а скорее с набором некоторых «базовых» пакетов. В результате это влияет на подходы к развитию.

В настоящее время Java Core определяется следующим образом:

  • Основные технологии
  • CORBA
  • HotSpot VM
  • Java Naming and Directory Interface (JNDI)
  • Мониторинг и управление приложениями
  • API инструментов
  • XML

Но, как вы, наверное, понимаете, даже термин «базовые технологии» несколько неясен ;-), так что это не столь строгое определение. Вот официальная страница для этого термина:

Вот еще одна картинка, иллюстрирующая Java Core API / технологии внутри платформы Java SE.

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

Некоторые компании используют «базовую Java», чтобы отличать ее от Java EE, но это по-прежнему просто базовая Java.

Есть две категории следующим образом

Ядро Java — это основы языка. Например (структуры данных, семантика и т. Д.) Https://malalanayake.wordpress.com/category/java/data-structures/

По мнению некоторых разработчиков, «Core Java» относится к пакету API java.util.* , Который в основном используется в кодировании.

Термин «Core Java» не определен Sun, это просто сленговое определение.

J2ME / J2EE по-прежнему зависят от J2SDK API для компиляции и выполнения.

Никто не сказал бы, что java.util.* Отделен от J2SDK для использования.

«Ядро Java» — это термин Sun Microsystem, используемый для обозначения Java SE. И есть Java ME и Java EE (J2EE). Так что это сказано для того, чтобы провести различие с Java ME и J2EE. Поэтому я считаю, что Core Java используется только для упоминания J2SE.

Простой шаг, чтобы понять, что такое Java и ядро Java.

Найти книгу по Java.

Найти книгу для ядра Java.

Сравните содержание обеих книг.

Фактический результат: оба имеют почти одинаковое содержание.

Результат: Java и ядро Java одинаковы.

Основное Java — это просто сленг, чтобы подчеркнуть глубокие знания основ Java. но если я говорю, что знаю Java, это не значит, что я не обладаю глубокими знаниями основ Java, или если я знаю все в Java.

В простейшем языке ядро java обозначает понятия Наследование, Полиморфизм, Абстракция, Инкапсуляция, Класс, объекты, которые подпадают под ядро Java. Ява ядра означает J2SE. Я надеюсь, что это может очистить вас от сомнений.

Это не официальный термин. Я предполагаю, что это означает знание самого языка Java и наиболее важных частей стандартного API (в основном, пакетов java.lang, java.io, java.utils), в отличие от множества специализированных API и фреймворков (J2EE, JPA , JNDI, JSTL, . ), которые часто требуются для заданий Java.

«Ядро Java» — это термин Sun, используемый для обозначения Java SE, стандартного выпуска и набора связанных технологий, таких как Java VM, CORBA и так далее. В основном это отличается от, скажем, Java ME или Java EE.

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

У Java есть в основном три подкатегории:

  1. Java Standard Edition (JSE) или Core Java
  2. Java Enterprise Edition (JEE)
  3. Java Mobile Edition (JME)

где ядро Java является первым и основным шагом для начала или изучения Java с самого начала .

Java — это язык программирования, но Core Java — это только часть Java. Ядро Java является основой Java. Если вы новичок в JAVA, вы должны начать с основной Java.

Ява в основном категории на 3 части:

1.) J2SE / Core java означает стандартную версию Java 2 и, как правило, предназначен для разработки настольных приложений, образует базовое / базовое API.

2.) J2EE означает Java 2 Enterprise Edition для приложений, работающих на серверах, например, веб-сайтов. (Spring, Struts — это Java-фреймворки, в основном используемые для J2EE).

3.) J2ME означает Java 2 micro Edition для приложений, которые работают на устройствах с ограниченными ресурсами (небольших устройствах), таких как сотовые телефоны, например игры.

Чтобы изучать J2EE или J2ME, вы должны знать ядро Java.

Что такое JDK, JRE и JVM в Java?

Большинство начинающих Java программистов сразу начинают изучать основные конструкции языка, синтаксис и правила не задумываясь о том, что такое JDK , JRE и JVM . Они просто упускают этот вопрос так и не разобравшись чем отличаются и для чего предназначены JDK , JRE и JVM . Поэтому в этой статье я попытаюсь объяснить разницу между этими концепциями языка Java.

В двух словах о JDK, JRE и JVM

  • JDK нужен для разработки (это компилятор, отладчик и т.д.).
  • JRE нужен для запуска Java программ (содержит в себе JVM).
  • JDK и JRE содержат JVM, которая нужна для запуска программ на Java.
  • JVM является сердцем языка программирования Java и обеспечивает независимость от платформы.

Что такое Java Development Kit (JDK)?

Java Development Kit является основным компонентом среды Java и предоставляет все инструменты, исполняемые и бинарные файлы, которые нужны для компиляции, отладки и выполнения программы на Java. JDK является платформо-зависимым программным обеспечением, поэтому есть отдельные инсталляторы для Windows, Mac и Unix-систем. Можно сказать, что JDK является надстройкой JRE , так как он содержит JRE с Java-компилятором, отладчиком и базовыми классами. Текущая версия JDK 1.8 также известна как Java 8.

Цукерберг рекомендует:  Ищу - Ищу друзей начинающих веб-программистов

Что такое Виртуальная машина Java (JVM)?

JVM является сердцем языка программирования Java. Когда мы запускаем программу, JVM несет ответственность за преобразование байт-кода в машинный код. JVM также зависит от платформы и предоставляет основные функции, такие как управления памятью Java, сборкой мусора, и т.д. Мы также можем выделять определенный объем памяти для JVM. JVM является виртуальной машиной, потому что обеспечивает интерфейс, который не зависит от операционной системы и аппаратных средств. Эта независимость от аппаратного обеспечения и операционной системы дает Java-программам возможность выполняться на любом устройстве без необходимости внесения изменений — Write once, run anywhere (Напиши раз — запускай где угодно) .

Что такое Java Runtime Environment (JRE)?

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

Just-in-time Compiler (JIT) в Java

Just-in-time Compiler (JIT) является частью JVM. Он оптимизирует байт-код, уменьшая общее время, необходимое для компиляции байт-кода в машинный код.

Java-разработчик

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

скидка 15% первым 20

набор на курс до 17 ноября

Записаться на курс или получить консультацию

Длительность 4 месяца

Онлайн в удобное время

Обучение на практике

Доступ к курсу навсегда

Курс идеально подойдет

Новичок

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

Начинающий программист

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

Чему вы научитесь

На курсе вы с нуля освоите программирование на Java, подробно разберете всю специфику и возможности языка.

Научитесь писать, читать и понимать код на Java.

Научитесь работать с MySQL: хранить и получать данные.

Реализуете на практике все принципы ООП.

Узнаете, как создавать веб-приложения на Spring Boot.

Освоите все тонкости многопоточного программирования.

Создадите свой блоговый движок.

Записаться на курс скидка 15% первым студентам

Программа курса

Программа курса содержит 19 основных блоков.

  • Какие бывают программы.
  • Где и для чего применяется Java.
  • Как выглядит программный код.
  • Установка среды разработки.
  • Исправляем готовое приложение.
  • Пишем консольное приложение.
  • Что вообще бывает в коде.
  • Переменные в Java.
  • Boolean, операторы сравнения и условные операторы.
  • Циклы.
  • Разбираем сложный код.

Объекты и классы

  • Понятие класса и объекта.
  • Метод, параметры, return.
  • Статические методы и переменные.
  • Константы и Enum.
  • Создание объектов и конструктор.
  • Инкапсуляция, геттеры и сеттеры.
  • Копирование объектов.
  • Внешние библиотеки классов.
  • Создание JAR-файлов.

Числа, строки и даты

  • Примитивы и объекты.
  • Типы чисел и преобразование.
  • Операции с числами.
  • Строки, символы и подстроки.
  • Конкатенация и сравнение строк.
  • Регулярные выражения.
  • Календарь и метка времени.

Массивы и коллекции

  • Массивы.
  • Списки элементов.
  • Наборы уникальных элементов. HashSet, TreeSet.
  • Карты данных. Ключи и значения. TreeMap, HashMap.
  • Поиск и сортировка.

Наследование и полиморфизм

  • Наследование классов.
  • Доступ к методам и переменным.
  • Абстрактные классы.
  • Интерфейсы и полиморфизм.

Особенности ООП в Java

  • Лямбда-выражения.
  • Указатели на методы.
  • Stream API.
  • Default- и static-методы в интерфейсах.
  • Generics.
  • Система сборки Maven.
  • Аннотации и Lombok.

Исключения, отладка, тестирование и логирование

  • Обработка исключений.
  • Типы исключений.
  • Отладка приложений.
  • Виды тестирования ПО.
  • Модульное тестирование. JUnit.
  • Логирование. Log4j2.

Работа с файлами и сетью

  • Чтение файлов.
  • Запись в файл.
  • Табличные файлы.
  • Файлы XML и HTML.
  • Файлы JSON.
  • Конфигурационные файлы.

Язык запросов SQL

  • SQL. Введение.
  • Структура БД, запрос DESCRIBE.
  • Выбор и фильтрация данных, запрос SELECT.
  • Функции и выражения, агрегация данных.
  • Отношения и соединение таблиц: JOIN.
  • Группировка.
  • Модификация данных.
  • Подзапросы.
  • Объявление и изменение структуры данных.

Работа с MySQL в Java

  • Установка MySQL.
  • JDBC — выполнение SQL-запросов из Java-кода.
  • Hibernate: подключение и настройка.
  • Hibernate: изменение данных в базе.
  • Hibernate: связи между таблицами.
  • Hibernate QueryBuilder и HQL.
  • Создание потоков.
  • Состояние гонки и критические секции.
  • Синхронизация методов и блоков.
  • Взаимодействие потоков: методы wait() и notify().
  • Потокобезопасные классы.
  • Взаимная блокировка (deadlock).
  • Интерфейс Callable.
  • Пулы потоков.
  • Приостановка и прерывание потоков.
  • ForkJoinPool и RecursiveTask.
  • Создание веб-приложений на Spring Boot.
  • Концепция MVC.
  • Концепция RESTful API и CRUD.
  • Controller и роутинг.
  • Model. Взаимодействие с БД.
  • Компонент View.
  • Конфигурация и упаковка.

Нереляционные базы данных и очереди

  • Основы Redis.
  • Сравнение Redis и MySQL.
  • Основы MongoDB.
  • Продвинутые запросы к MongoDB.

Оптимизация кода и приложений. Производительность

  • Факторы производительности.
  • Оптимизация по времени.
  • Оптимизация по памяти.
  • Оптимизация работы с базами данных.
  • Профайлер.
  • Non-blocking IO.

Распределенные хранилища и вычисления

  • Зачем нужны распределенные хранилища.
  • Hadoop, основы и принципы, HDFS, YARN.
  • Зачем нужны распределенные вычисления.
  • Spark, принцип вычислений, примеры.
  • Реактивное программирование. RxJava.
  • Oracle, PL/SQL, хранимые процедуры.
  • Язык программирования Kotlin.
  • Язык программирования Scala.
  • Android-приложения.
  • Desktop-приложения.
  • Система контроля версий Git.
  • Алгоритмы и структуры данных.
  • Протокол HTTP.
  • Паттерны проектирования.

Дипломная работа — блоговый движок в веб-интерфейсе

Получите полную программу и индивидуальную консультацию

Преподаватели

  • Даниил Пилипенко SymbioWay, директор
  • Михаил Овчинников ведущий инженер-программист Badoo

Как проходит обучение

Вы выполняете домашние задания и открываете доступ к новому уникальному контенту по теме. Достаточно выделить 3–5 часов в неделю.

Изучаете
тему

В курсе — полезные видеоуроки.

Выполняете домашнее задание

В том темпе, в котором вам удобно.

Общаетесь с наставником

Закрепляете знания и исправляете ошибки.

Защищаете дипломный проект

И дополняете им свое портфолио.

Резюме после прохождения

Аделина Ветрова junior-разработчик

Ожидаемая зарплата от 80 000

Java Core Основное ядро языка программирования.

MySQL Свободная реляционная система управления базами данных.

Spring Boot Универсальный фреймворк с открытым исходным кодом для Java-платформы.

Redis Резидентная система управления базами данных.

MongoDB Документоориентированная система управления базами данных с открытым исходным кодом.

Ключевые навыки:

  • Разработка веб-приложений на Spring Boot.
  • Владение нереляционными базами данных: Redis, MongoDB.
  • Java Core.
  • Multithreading.
  • Collections Framework.
  • Работа с MySQL.

Диплом Skillbox

Подтверждает успешное прохождение курса «Java-разработчик»

Стоимость обучения

Скидка 15% первым 20

Стоимость обучения 67 000

4 500 Рассрочка без первого взноса

54 000 Для первых 20 студентов

Гарантия возврата денег в течение 14 дней

Запишитесь на курс

Дата начала: 17 ноября

Осталось: 15 мест

О Skillbox

Максимально практическое обучение от лидеров digital-рынка. Курсы от компаний, работающих на реальных проектах.

После обучения вы можете трудоустроиться в эти компании или к партнёрам университета.

студентов учатся на наших курсах

студентов довольны преподавателями

выпускников получают карьерный рост

выпускников довольны курсом и результатом

Мнения о курсе

Татьяна Червякова студентка курса «Java-разработчик»

Выбрала курс «Java-разработчик», потому что мне нравится программирование. В будущем планирую работать и развиваться в данном направлении!

Дмитрий Доманюк студент курса «Java-разработчик»

Выбрал курс «Java-разработчик», потому что интересуюсь этой темой. Запомнился спикер Даниил Пилипенко. Понравилось, как преподаватели объясняют материал и то, что проверяют домашнее задание в течение дня. В будущем планирую изучить Java.

Андрей Маслёнок студент курса «Java-разработчик»

Полгода проходил курс «Java-разработчик». Самым полезным оказалось живое общение с преподавателями и студентами. Запомнился спикер Сергей Гаевой. После окончания курса я стал самостоятельно выполнять более сложные задачи. Планирую продолжить обучение.

Дмитрий Коваленко студент курса «Java-разработчик»

Решил пройти курс «Java-разработчик», потому что мобильная разработка — это популярно и потому востребовано. В процессе обучения я узнал много нового, что реально помогает в работе.

Часто задаваемые вопросы

Смогу ли я пройти курс, если у меня совсем нет опыта в программировании?

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

Какая версия языка изучается на курсе?

В 2020 году вышла Java 9. В курсе рассматривается 8-я версия языка, а также нововведения Java 12.

Сколько потребуется времени, чтобы пройти все модули?

Курс рассчитан на 4 месяца: кто‑то заканчивает раньше, кто‑то чуть позже. Здесь главное не скорость прохождения, а эффективное использование полученных навыков, поэтому лучше не торопиться и ориентироваться на заявленные 4 месяца.

Записаться на курс или получить консультацию

Появились вопросы по курсу?

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

г. Москва, метро Октябрьская,
Ленинский проспект, дом 6, строение 20

Core Java

Лямбда-выражения в Java 8

В этой статье речь идет о лямбда-выражениях, функциональных интерфейсах. Подробно рассматривается синтаксис лямбда-выражений, а также приводятся стандартные функциональные интерфейсы из JDK.
Читать далее «Лямбда-выражения в Java 8»

Инъекция зависимости с помощью библиотеки Reflection

В этой статье мы реализуем шаблоны Dependency Injection и Inversion of Control – на этих шаблонах основана Spring Framework.
Читать далее «Инъекция зависимости с помощью библиотеки Reflection»

Аннотации в Java и их обработка в RUNTIME с помощью рефлексии

Аннотации – это своего рода маркеры, которые служат знаком либо компилятору, либо обработчику скомпилированных классов, либо самому приложению во время его выполнения – знаком что-то сделать. Для аннотаций всегда нужен обработчик, сами они ничего не делают.
Читать далее «Аннотации в Java и их обработка в RUNTIME с помощью рефлексии»

Модификация байт-кода с помощью Instrumentation

В этой статье мы рассмотрим пакет java.lang.instrument.Instrumentation, с помощью которого можно поменять байт-код класса на этапе его загрузки.
Читать далее «Модификация байт-кода с помощью Instrumentation»

Обработка аннотаций на уровне исходников

Создать новую аннотацию в Java легко. Также легко аннотировать ею класс, метод или другой элемент. Но толку от этого кода будет мало, поскольку для любой аннотации нужен обработчик. И вот тут все становится намного сложнее, поскольку написать можно совершенно разные обработчики аннотаций, и они могут обрабатывать аннотацию на разных этапах – от компиляции до времени выполнения кода.

Оператор switch

Оператор switch case в Java улучшает читаемость кода. Но он имеет ряд ограничений и особенностей, о которых стоит знать – мы их рассмотрим.
Читать далее «Оператор switch»

Класс в Java

Класс в Java – это описание или прототип объекта. Класс содержит свойства и методы объекта. В свойствах хранится состояние объекта, а методы описывают поведение объекта.
Читать далее «Класс в Java»

Модификаторы private, protected, public в Java

Модификаторы доступа private, protected, public ставятся перед именем класса, метода или поля и ограничивают доступ к нему. К локальным переменным модификаторы доступа не применимы.
Читать далее «Модификаторы private, protected, public в Java»

Defaut method в Java

Default-методы появились Java 8. В это статье рассказывается, что это такое, зачем появилось, и как ими пользоваться.

Default-метод – это метод, который реализуется прямо в интерфейсе, его помечают ключевым словом default. Читать далее «Defaut method в Java»

Класс Optional

Класс Optional придуман для того, чтобы победить проблемы, связанные со значением null. Наверно все сталкивались с NullPointerException. Если понять, в каких ситуациях уместно использовать Optional, то это исключение будет возникать гораздо реже.
Читать далее «Класс Optional»

Понравилась статья? Поделиться с друзьями:
Все языки программирования для начинающих