Крупнейший ресурс о кибербезопасности стал в три раза дешевле!
XAKEP.RU доверяют 130 000 ИТ-специалистов, и не просто так. В их базе 66 000 обучающих технических материалов! Чтобы быть в курсе и разбираться в теме кибербезопасности, ИТ-спецу просто необходима подписка на XAKEP.RU!
А сейчас у них еще и огромная скидка!
Подробно о подписке: https://xakep.ru/about-magazine/
Как происходит удаление элементов из ArrayList? Как меняется в этом случае размер ArrayList?
При удалении произвольного элемента из списка, все элементы, находящиеся «правее» смещаются на одну ячейку влево и реальный размер массива (его емкость, capacity) не изменяется никак. Механизм автоматического «расширения» массива существует, а вот автоматического «сжатия» нет, можно только явно выполнить «сжатие» командой trimToSize().
Java. Оптимизация программ. Практические методы повышения производительности приложений в JVM (2019) PDF, djvu
Настройка производительности — наука экспериментальная, но это не означает, что инженеры должны прибегать к догадкам и фольклору, чтобы выполнить свою работу (хотя часто случается именно так). С помощью этой практической книги разработчики средней и высокой квалификации, работающие со сложными стеками технологий, научатся настраивать высокую производительность Java-приложений, используя количественный, поддающийся проверке подход.
В большинстве информационных ресурсов о производительности, как правило, обсуждаются теория и внутреннее устройство виртуальных машин Java, но в этой книге основное внимание уделяется практическим возможностям настройки производительности путем изучения широкого ряда аспектов. В книге нет простых рецептов, советов и трюков или алгоритмов. Настройка производительности — это процесс внесения изменений и измерения полученных результатов, требующий усердия.
Ускоряем java-рефлексию в 2022
После прочтения заголовка у кого-то наверняка возникнет весьма логичный вопрос: «Кто такая эта ваша рефлексия и зачем её ускорять?»
И если первая часть будет волновать только совсем уж откровенных неофитов, то вторая точно нуждается в пояснении.
К текущему моменту рефлексия (и особенно рефлективные вызовы методов) так или иначе используется в прорве самых разных фреймворков, библиотек и просто любых приложениях, по какой-либо причине требующих динамические возможности.
Читать статью
Пройдите бесплатный онлайн-интенсив Skillbox по программированию, изучите востребованный язык Java и создайте первый проект под руководством опытного специалиста.
Узнайте подробности: 👉https://clc.to/9MSdSg.
Сразу после регистрации отправим вам на почту чек-лист по знаниям и навыкам, которые необходимы backend-разработчику для трудоустройства.
Почему изучать Java — это круто:
📌 Язык Java используют многие облачные и стриминговые сервисы.
📌 Некоторые крупные социальные сети написаны на Java.
📌 Java используют правительственные и научные организации.
📌 На Java пишут игры.
Участвуйте в онлайн-интенсиве с 19 по 21 мая в 19:00 по московскому времени.
🎁 Всех ждут подарки. Участвуйте, задавайте вопросы и получите сертификат на 10 тысяч рублей на любой курс Skillbox!
Какое худшее время работы метода contains() для элемента, который есть в LinkedList?
O(N). Время поиска элемента линейно пропорционально количеству элементов в списке.
Functional Programming in Kotlin by Tutorials (2022) PDF
Learn to handle errors and state changes in a safe way using functional programming fundamentals.
Functional programming is a powerful paradigm for building your applications. This book will teach you the fundamentals of functional programming in a practical, hands-on way, while showing you how you can safely handle errors and state changes in your programs.
7 практических заданий с собеседования на позицию Junior Java Developer
Для начинающего разработчика очень важно не только знать теоретическую базу, но и понимать как все работает под «капотом», поэтому зачастую вопросы, задаваемые на собеседовании, не только проверяют теоретические знания, но и способность их применить.
Читать статью
Чем отличается ArrayList от LinkedList? В каких случаях лучше использовать первый, а в каких второй?
ArrayList это список, реализованный на основе массива, а LinkedList — это классический двусвязный список, основанный на объектах с ссылками между ними.
ArrayList:
• доступ к произвольному элементу по индексу за константное время O(1);
• доступ к элементам по значению за линейное время O(N);
• вставка в конец в среднем производится за константное время O(1);
• удаление произвольного элемента из списка занимает значительное время т.к. при этом все элементы, находящиеся «правее» смещаются на одну ячейку влево (реальный размер массива (capacity) не изменяется);
• вставка элемента в произвольное место списка занимает значительное время т.к. при этом все элементы, находящиеся «правее» смещаются на одну ячейку вправо;
• минимум накладных расходов при хранении.
LinkedList:
• на получение элемента по индексу или значению потребуется линейное время O(N);
• на добавление и удаление в начало или конец списка потребуется константное O(1);
• вставка или удаление в/из произвольного место константное O(1);
• требует больше памяти для хранения такого же количества элементов, потому что кроме самого элемента хранятся еще указатели на следующий и предыдущий элементы списка.
В целом, LinkedList в абсолютных величинах проигрывает ArrayList и по потребляемой памяти, и по скорости выполнения операций. LinkedList предпочтительно применять, когда нужны частые операции вставки/удаления или в случаях, когда необходимо гарантированное время добавления элемента в список.
Привет!
Давно кодишь на Java/Kotlin и устал от долгих собеседований?
Тогда читай то, что написано ниже👇
Приглашаем Middle, Senior разработчиков в Surf.
✅Back-end оффер в Surf за 1 день
✅З/П от 400к
✅ДМС с психологом, юристом и стоматологом
✅Без бюрократии и пафоса
✅Все подробности здесь
👉Успей подать заявку до 18.05
Современный Java: Рецепты программирования (2018) PDF
Включение средств функционального программирования в Java SE 8 ознаменовало революционное изменение достопочтенного объектно-ориентированного языка. Лямбда-выражения, ссылки на методы и потоки принципиально изменили идиомы языка. С тех пор многие разработчики стараются не отстать от жизни. И в этом поможет настоящий сборник рецептов. На примере более 70 подробных рецептов Кен Коузен демонстрирует использование новых возможностей языка для решения широкого круга задач.
Разработчики, хорошо знакомые с предыдущими версиями Java, найдут здесь почти все нововведения, появившиеся в Java SE 8, а также отдельную главу, посвященную новшествам в Java 9. Хотите понять, как функциональные идиомы могут изменить подход к написанию кода? Тогда эта книга — буквально набитая конкретными примерами — для вас.
Системные знания и практику по Java не заменить информацией из интернета, а хорошие курсы стоят дорого, но!
В Kata Academy можно выучиться на Java-разработчика бесплатно, а заплатить уже после трудоустройства по специальности из фактической зарплаты.
Если задуматься, то все в выигрыше 👉
—Ты получаешь работу с хорошей зарплатой, мы получаем процент за инвестиции в тебя и продолжаем прокачивать твои навыки еще 2 года;
— в наших интересах научить тебя так, чтобы твоя зарплата была как можно выше;
— мы развиваем твои навыки и после курсов: проводим выездные мероприятия и мастер-классы — и доходы наших выпускников растут;
— мы не зависим от банков и их рассрочек — кризис не повлиял на доступность курсов.
Чтобы попасть на курс, нужно выполнить небольшое тестовое задание. Переходи по ссылке и оставляй заявку!
Зачем добавили ArrayList, если уже был Vector?
• Методы класса Vector синхронизированы, а ArrayList - нет;
• По умолчанию, Vector удваивает свой размер, когда заканчивается выделенная под элементы память. ArrayList же увеличивает свой размер только на половину.
Vector это устаревший класс и его использование не рекомендовано.
Spring 5 для профессионалов (2019) PDF, djvu
Эта книга воплощает знания и опыт работы авторов с каркасом Spring Framework и сопутствующими технологиями удаленного взаимодействия, Hibernate, EJB и пр. Она дает возможность читателю не только усвоить основные понятия и принципы работы с Spring Framework, но и научиться рационально пользоваться этим каркасом для построения различных уровней и частей корпоративных приложений на языке Java, включая обработку транзакций, представление веб-содержимого и прочего содержимого, развертывание и многое другое. Полноценные примеры подобных приложений, представленные в этой книге, наглядно демонстрируют особенности совместного применения различных технологий и методик разработки приложений в Spring.
Жил на свете добрый Jooq – как подружиться с хранимками в Oracle
Меня зовут Артём, я back-end разработчик на продукте WFM (Workforce Management). В компании наш продукт помогает в развитии процессов розничной сети, одна из основных наших задач — это построение рабочего графика для персонала розничного магазина.
В данной статье я хотел бы познакомить вас с Jooq и показать, как можно легко работать с хранимыми процедурами Oracle. Будет немного вводной части, а затем посмотрим примеры.
Читать статью
Тинькофф приглашает на One Day Offer
Ищем Java- и Kotlin-разработчиков с опытом от трех лет, чтобы сделать им оффер за день. В течение дня вы общаетесь с командой, а после получаете оффер, если вам понравится команда, работа подойдет по условиям, а задачи — по скиллам.
Встречаемся 28 мая онлайн. Успейте подать заявку до 26 мая. В течение трех дней вернемся с обратной связью: https://l.tinkoff.ru/onedayoffer-java