Обложка канала

Библиотека джависта. Страница 70

20804 @javaproglib

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

  • Библиотека джависта

    Познал Силу? Обрати во благо! :) Ищем Full Stack (Java+JS) Developer в компанию Andersen (andersenlab.com)! В паре слов, почему это круто: Израильский заказчик из Fortune 500; Логистический проект мирового масштаба; Международные командировки; Инновационные технологии: Отличный SCRUM и сильная команда; Крутой набор корпоративных бенефитов. Стек: Java, Spring, Scala, Angular/React/Vue.js, Junit, Jasmin, Mockito, Protractor/Selenium, Spring Boot/Cloud, Kotlin. Заинтриговали? Пиши рекрутеру и узнавай подробности! Елена Селезнева [email protected] @seliazniova89 drive.google.com/file/d/…JJG/view
    Java.jpg

    Google Docs
  • Библиотека джависта

    Java Programming (2018) Автор: Joyce Farrell Количество страниц: 870 Даже если вы начинающий программист, книга поможет вам быстро приступить к разработке полезных программ, при этом овладев основными принципами структурного и объектно-ориентированного программирования. Книга содержит уникальные, понятные для читателя объяснения и содержательные упражнения по программированию. Дополнительные цифровые учебные ресурсы в MindTap предоставляют интерактивные инструменты обучения, а также IDE (среда разработки) для отработки и развития ваших навыков. Скачать книгу
  • Библиотека джависта

    «Библиотека программиста» находится в поиске переводчика технических статей и автора оригинальных статей. Обязанности: – Письменный перевод с английского на русский язык технических статей (Medium, Dev.to и т. д.) – Написание оригинальных статей. Объем: – от 3 до 10 тыс. знаков с пробелами. Тематика: – Мобильная разработка, информационная безопасность, Data Science, бэкенд веб-приложений, фронтенд-разработка, системное программирование, базы данных. Языки: – Python, SQL, JavaScript, C#, Java. Пишите на [email protected]
  • Реклама

  • Библиотека джависта

    Может ли имя класса не совпадать с именем файла? Компилятор требует, чтобы в .java файле был не больше чем один публичный класс верхнего уровня, и чтобы его название совпадало с названием файла. Все специальные символы также должны быть в имени файла. Protected и private классов верхнего уровня не бывает в принципе, а вот на package-protected это ограничение не распространяется. Это значит, что класс без модификатора доступа может иметь любое имя. Также это значит, что рядом с основным публичным классом файла (или вместо него) можно объявить любое количество других классов без модификатора доступа, с произвольными именами. Они будут доступны внутри всего пакета. Так что ответ – может.
  • Библиотека джависта

    Простой рабочий алгоритм использования SOLID на практике Зачем нужны SOLID принципы? Что нужно сделать с множеством сущностей, чтобы код удовлетворял DIP? 🚀Расскажет завтра Евгений Тюменцев, профессионально занимающийся разработкой многопоточных кросс-платформенных приложений на С++, Директор компании по разработке программного обеспечения «Hello World! Technologies». 🚀Всем участникам будет доступна запись вебинара и презентация спикера. Главное, чтобы вы были зарегистрированы на сайте.
  • Библиотека джависта

    #вопросы_с_собеседований Что такое JDBC? JDBC, Java DataBase Connectivity (соединение с базами данных на Java) — промышленный стандарт взаимодействия Java-приложений с различными СУБД. Реализован в виде пакета java.sql, входящего в состав Java SE. JDBC основан на концепции драйверов, которые позволяют получать соединение с базой данных по специально описанному URL. При загрузке драйвер регистрирует себя в системе и в дальнейшем автоматически вызывается, когда программа требует URL, содержащий протокол, за который этот драйвер отвечает.
  • Библиотека джависта

    Присоединение вызова метода к телу метода называется связыванием. Если связывание проводится компилятором (компоновщиком) перед запуском программы, то оно называется статическим или ранним связыванием (early binding). В свою очередь, позднее связывание (late binding) это связывание, проводимое непосредственно во время выполнения программы, в зависимости от типа объекта. Позднее связывание также называют динамическим (dynamic) или связыванием на стадии выполнения (runtime binding). В языках, реализующих позднее связывание, должен существовать механизм определения фактического типа объекта во время работы программы, для вызова подходящего метода. Иначе говоря, компилятор не знает тип объекта, но механизм вызова методов определяет его и вызывает соответствующее тело метода. Механизм позднего связывания зависит от конкретного языка, но нетрудно предположить, что для его реализации в объекты должна включаться какая-то дополнительная информация. Для всех методов Java используется механизм позднего (динамического) связывания, если только метод не был объявлен как final (приватные методы являются final по умолчанию).
  • Библиотека джависта

    #вопросы_с_собеседований Что такое статическое и динамическое связывание?
  • Библиотека джависта

    Пишете на Java или Python и хотите работать в Яндексе? Тогда приглашаем 22 января на Fast Track для бэкенд-разработчиков. На мероприятии вы можете за один день пройти собеседование и получить оффер в команду HR Tech Яндекса. HR Tech занимается интранетом Яндекса. Например, это сервисы для процесса найма в Яндекс, учебная платформа Яндекс.Контест и другие сервисы для организации работы сотрудников. Подробнее о команде здесь. Регистрируйтесь, решайте отборочный тест и до встречи 22 января!
    HR-Технологии в Яндексе

    Мы делаем интранет Яндекса — высокотехнологичные и современные сервисы для найма сотрудников, организации работы и жизни внутри компании.

    Работа в Яндексе
  • Библиотека джависта

    #вопросы_с_собеседований Напишите потокобезопасную реализацию класса с неблокирующим методом BigInteger next(), который возвращает элементы последовательности: [1, 2, 4, 8, 16, ...]. class PowerOfTwo { private AtomicReference<BigInteger> current = new AtomicReference<>(null); BigInteger next() { BigInteger recent, next; do { recent = current.get(); next = (recent == null) ? BigInteger.valueOf(1) : recent.shiftLeft(1); } while (!current.compareAndSet(recent, next)); return next; } }
  • Библиотека джависта

    Зачем нужны SOLID принципы? Что нужно сделать с множеством сущностей, чтобы код удовлетворял DIP? 💻Об этом расскажет в четверг, 20 января в 19.00 МСК Евгений Тюменцев, профессионально занимающийся разработкой многопоточных кросс-платформенных приложений на С++, Директор компании по разработке программного обеспечения «Hello World! Technologies». Евгений ответит на все вопросы, а также всем участникам будет доступна запись вебинара и презентация спикера. Зарегистрироваться бесплатно.
  • Библиотека джависта

    ☕️ Cтек – участок памяти, тесно связанный с потоками. У каждого потока есть свой стек, которые хранит локальные переменные, параметры методов и стек вызовов. Переменная, хранящаяся в стеке одного потока, не видна для другого. ☕️ Куча – общий участок памяти, который делится между всеми потоками. Объекты, неважно локальные или любого другого уровня, создаются в куче. Для улучшения производительности поток обычно кэширует значения из кучи в свой стек, в этом случае для того, чтобы указать потоку, что переменную следует читать из кучи, используется ключевое слово volatile.
  • Библиотека джависта

    Building Java Programs: A Back to Basics Approach (2019) Автор: Stuart Reges, Marty Stepp Количество страниц: 1232 Книга познакомит вас с основами Java. Она рассчитана на тех, кто прошел начальный курс подготовки в области компьютерных наук и хочет далее развиваться в сфере Java. В пятом издании книги были добавлены некоторые разделы, включая несколько проектов, примеров кода и упражнений. Скачать книгу
  • Библиотека джависта

    #вопросы_с_собеседований В чем заключаются различия между cтеком (stack) и кучей (heap) с точки зрения многопоточности?
  • Библиотека джависта

    #вопросы_с_собеседований Что делает оператор EXISTS в SQL? EXISTS берет подзапрос, как аргумент, и оценивает его как TRUE, если подзапрос возвращает какие-либо записи и FALSE, если нет.
  • Реклама

  • Библиотека джависта

    #вакансия #удаленка #java Локация: Удаленка или Томск. Опыт: от 2-х лет. Технический стек: Java 8, HTML, CSS, Git. Требования: - экспертное владение Java 8 - опыт использования Spring Framework, Hibernate ORM, JDBC, JMS, JMX - опыт проведения модульного тестирования (JUnit и TestNg) - опыт работы с инструментами Git, Jenkins, Sonar, Maven, Gradle, Nexus, Jira или аналоги, Confluence или аналоги - опыт работы с сервером приложений WildFly (JBoss) - понимание работы SQL и NoSQL хранилищ: PostgreSQL, Cassandra, Apache Ignite - опыт использования стэка технологий Hadoop, Apache Kafka Заработная плата: от 150 000 до 250 000 рублей на руки. Условия:  Корпоративная техника при работе из офиса. Проект: SUPL Group — разработчик ПО для различных сфер, разрабатывает образовательную платформу, платформу для работы аккредитационных лабораторий, маркетплейс ПО, маркетплейс курсов обучения и тд Разработчик необходим для работы над: B2C маркетплейс образовательных курсов (планируемая аудитория — 100 тыс. пользователей). B2C маркетплейс программного обеспечения (планируемая аудитория — 20 тыс. пользователей). B2B проект для аккредитационных лабораторий (планируемая аудитория — 10 тыс. пользователей). Задачи:  - Развивать образовательную экосистему. - Добавлять новые и развивать уже имеющиеся функции.  У нас большие планы, рост и развитие, будет много тестирования и исследования. Команда: Product Manager, Team Lead, Frontend Dev, Backend Dev, Designer. Контакты: @v_pokrovskiy
  • Библиотека джависта

    Автоупаковка - это механизм неявной инициализации объектов классов-оберток (Byte, Short, Integer, Long, Float, Double, Character, Boolean), значениями соответствующих им исходных примитивных типов (byte, short, int...), без явного использования конструктора класса. ☕️ Автоупаковка происходит при прямом присваивании примитива классу-обертке (с помощью оператора =), либо при передаче примитива в параметры метода (типа класса-обертки). ☕️ Автоупаковке в классы-обертки могут быть подвергнуты как переменные примитивных типов, так и константы времени компиляции (литералы и final-примитивы). При этом литералы должны быть синтаксически корректными для инициализации переменной исходного примитивного типа. ☕️ Автоупаковка переменных примитивных типов требует точного соответствия типа исходного примитива типу класса-обертки. Например, попытка упаковать переменную типа byte в Short без предварительного явного приведения byte в short вызовет ошибку компиляции. ☕️ Автоупаковка констант примитивных типов допускает более широкие границы соответствия. В этом случае компилятор способен предварительно осуществлять неявное расширение/сужение типа примитивов: ☕️ неявное расширение/сужение исходного типа примитива до типа примитива, соответствующего классу-обертке (для преобразования int в Byte, сначала компилятор самостоятельно неявно сужает int к byte); ☕️ автоупаковку примитива в соответствующий класс-обертку. Однако в этом случае существуют два дополнительных ограничения: a) присвоение примитива обертке может производится только оператором = (нельзя передать такой примитив в параметры метода без явного приведения типов) b) тип левого операнда не должен быть старше чем Character, тип правого не должен старше, чем int: допустимо расширение/сужение byte в/из short, byte в/из char, short в/из char и только сужение byte из int, short из int, char из int. Все остальные варианты требуют явного приведения типов). Дополнительной особенностью целочисленных классов-оберток, созданных автоупаковкой констант в диапазоне -128 ... +127 является то, что они кэшируются JVM. Поэтому такие обертки с одинаковыми значениями будут являться ссылками на один объект.
  • Библиотека джависта

    #вопросы_с_собеседований Что такое autoboxing («автоупаковка») в Java и каковы правила упаковки примитивных типов в классы-обертки?