Search
Write a publication
Pull to refresh
170
0
Send message

Структуры данных в картинках. LinkedList

Reading time4 min
Views563K
Приветствую вас, хабражители!

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



В прошлый раз мы говорили об ArrayList, сегодня присматриваемся к LinkedList.

LinkedList — реализует интерфейс List. Является представителем двунаправленного списка, где каждый элемент структуры содержит указатели на предыдущий и следующий элементы. Итератор поддерживает обход в обе стороны. Реализует методы получения, удаления и вставки в начало, середину и конец списка. Позволяет добавлять любые элементы в том числе и null.

Прочитать чуть больше

Структуры данных в картинках. HashMap

Reading time6 min
Views1.2M
Приветствую вас, хабрачитатели!

Продолжаю попытки визуализировать структуры данных в Java. В предыдущих сериях мы уже ознакомились с ArrayList и LinkedList, сегодня же рассмотрим HashMap.



HashMap — основан на хэш-таблицах, реализует интерфейс Map (что подразумевает хранение данных в виде пар ключ/значение). Ключи и значения могут быть любых типов, в том числе и null. Данная реализация не дает гарантий относительно порядка элементов с течением времени. Разрешение коллизий осуществляется с помощью метода цепочек.

А почему бы и нет?

Структуры данных в картинках. LinkedHashMap

Reading time4 min
Views293K
Привет Хабрачеловеки!

После затяжной паузы, я попробую продолжить визуализировать структуры данных в Java. В предыдущих статьях были замечены: ArrayList, LinkedList, HashMap. Сегодня заглянем внутрь к LinkedHashMap.



Из названия можно догадаться что данная структура является симбиозом связанных списков и хэш-мапов. Действительно, LinkedHashMap расширяет класс HashMap и реализует интерфейс Map, но что же в нем такого от связанных списков? Давайте будем разбираться.

Tell me more!

Познаём Java. Третья чашка: примитивные типы, и объекты. Базовые конструкции

Reading time7 min
Views236K

Типа реальные типы


Думаю, после краткого экскурса в возможности Java и прочитывания пары десятков строк кода примеров, вам захотелось узнать, чем должен уметь оперировать каждый Java-программист. Что ж, давайте поговорим о примитивных типах, классах (в том числе нескольких основных), сравнении, передаче параметров и простых структурах в Java.
Поехали!

Немного про UEFI и Secure Boot

Reading time4 min
Views881K

UEFI


UEFI (Unified Extensible Firmware Interface) — замена устаревшему BIOS. Эта спецификация была придумана Intel для Itanium, тогда она еще называлась EFI (Extensible Firmware Interface), а потом была портирована на x86, x64 и ARM. Она разительно отличается от BIOS как самой процедурой загрузки, так и способами взаимодействия с ОС. Если вы купили компьютер в 2010 году и позже, то, вероятнее всего, у вас UEFI.
Читать дальше →

Java по-русски. Часть вторая: интернет-ресурсы

Reading time3 min
Views206K
В продолжение первой части. Сегодня будем рассматривать ресурсы о Java в интернете, которые подразделим на 4 части: вендоры, JUG, форумы, новости. А заодно подведём итоги.

Вендоры


Sun Microsystems

image
Основной сайт компании Sun содержит чисто рекламную информацию, поэтому рассматривать мы будем Сеть Разработчиков. Итак, что же здесь есть:
  • JavaFX — хит сезона. В рамках продвижения Sun проводит конкурсы по этой технологии, ещё вы можете найти документацию на русском языке и даже Wiki.
  • Академические программы — информация об образовательных программах. В основном это курсы для преподавателей и учебные материалы — лекции, написанные в рамках грантов.
  • Java SE, Java EE, Java ME, JavaCard за 2009 год не содержат практически никаких обновлений, а за предыдущие года есть разве что переводы некоторых статей.
  • Форум довольно мёртвый, за исключением раздела о JavaFX.
  • Ещё есть переводы англоязычных блогов The Aquarium и The Planetarium, посвящённых новостям о Java EE и Java для всех других платформ(SE, ME, FX, etc...) соответственно.

Читать дальше →

Java по-русски. Часть первая: Книги

Reading time2 min
Views497K
Не так давно я проводил опрос «Какие материалы о Java вас интересуют на русском языке?» среди посетителей Хабра. Вторым этапом моего исследования будет обзор существующих русско-язычных ресурсов.

Книги


За 2009 на Ozon.ru можно найти 8 книг по Java (всего за последние 3 года их вышло 22 — примерно по 7 в год, на books.ru набор примерно такой же, так что наша выборка довольно репрезентативна). Посмотрим, что это за книги?
Читать дальше →

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

Reading time2 min
Views1.2M
Программирую на Java вот уже 7 лет. Но на работе часто приходится обучать новое поколение. В связи с этим и решил сделать некоторую шпаргалку, которая, надеюсь, пригодится и для хабрчан. Если кто-то может помочь дополнить чем-то информацию из этой статьи, то пишите! Итак:

Основные ресурсы для начального обучения


  • www.javable.com — сайт со статьями и tutorial'ом по Java. Все в основном на русском.
  • www.exampledepot.com — очень полезный ресурс, где собраны краткие примеры использования классов для тех или иных пакетов
  • java.sun.com — без первоисточника не обойтись. Для любого Java программиста JavaDoc должен быть истиной в последней инстанции. Так же здесь можно найти серию tutorial'ов на все возможные темы.

Читать дальше →

Тест бесплатных программ для восстановления данных. Версия читателей Хабра

Reading time7 min
Views95K
Приветствую всех Хабровчан!

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

  1. R.Saver 2.8
  2. Handy Recovery 5.5
  3. GetDataBack 1.0
  4. PhotoRec/TestDisk 7.0
  5. RecoveRx 3.0
  6. DMDE 2.10.2
  7. Zero Assumption Recovery 9.2
  8. Active@ File Recovery 14

Мы протестировали их. Результаты тестов ниже.

Внимание! Много скриншотов.

UPD Добавлены тесты еще двух утилит.
Читать дальше →

Облачные сервисы: от видеонаблюдения к видеоаналитике

Reading time7 min
Views28K
Видеонаблюдение как сервис (VSaaS, video surveillance as a service) на базе облачной инфраструктуры вляется одной из актуальнейших тенденций отрасли. По мнению агентства IMS Research, Великобритания, глобальный рынок VSaaS составил $500 млн в 2011 году и может превысить $1 млрд в 2014 году, то есть за 3 года может удвоиться.

Одновременно, по оценке агентства ABI Research, США, рынок инструментов видеоаналитики для бизнеса увеличится более чем в 2,5 раза с 2011 года до 2016 года, в котором достигнет $900 млн.

«Видеоаналитика как сервис» находится на пересечении этих двух рынков и подчеркивает фокус на видеоанализе без участия оператора, в то время как термин VSaaS сегодня чаще предполагает лишь возможность удаленного просмотра и записи без какой-либо аналитики.

Наша заметка анализирует состояние рынка и технологий VSaaS, а также рассматривает возможность преодоления основного препятствия развития рынка VSaaS – ограничения исходящего канала абонента – при помощи видеоаналитики.
Читать дальше →

Как я заказывал и собирал PRUSA i3

Reading time6 min
Views163K
После того, как мне пришел распечатанный корпус для моих часов (еще раз спасибо bigbee), я загорелся идеей купить 3D принтер. Идея RepRap opensource принтеров мне понравилась, да и цена на них не так уж и кусалась. После многочисленных страниц форумов и кучи предложений на интернет площадках, я решил купить Prusa i3 (Прюша итерация 3). За подробностями прошу под кат.
Читать дальше →

Самодельный расходомер для автомобиля

Reading time4 min
Views95K
Привет! Расскажу вам о своей попытке сделать бортовой расходомер на основе Arduino Nano. Это моё второе изделие из ардуинки, первым был шагающий паучок. После экспериментов с лампочками и сервоприводами хотелось сделать что-нибудь более полезное.

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

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

Image #1326265, 1.2 MB

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

Домашняя автоматизация с openHAB: освещение и удаленное управление обогревателями. Часть 1

Reading time9 min
Views136K


Моя прошлая статья была о выборе ламп освещения для жилой мастерской. В этот раз расскажу про реализацию домашней автоматизации в том же помещении. Мастерская отапливается двумя электрическими обогревателями. Хотелось удаленно их включать, чтобы не приезжать в холодное помещение. И еще хотелось поддерживать заданную температуру, до этого при изменении температуры на улице приходилось каждый раз крутить «термостаты» обогревателей. Ну и управление освещением, датчик открытия двери и т.д.
Читать дальше →

Паяльная станция своими руками на базе Arduino

Reading time6 min
Views292K
Всем привет! Как-то я затронул тему паяльной станции на Arduino и сразу меня завалили вопросами (как/где/когда). Учитывая массовость запросов, я решил написать обзор простой паяльной станции (только паяльник) на базе Arduino.
Читать дальше →

Новое сердце для китайского фонарика

Reading time3 min
Views73K
Купив множество китайских фонариков, мощностью от 100 до 16000 люмен, так и не остался доволен.

В большинстве случаев фонарик не отдаёт заявленный продавцом световой поток. Так получается из-за того, что продавцы в лучшем случае указывают максимальный световой поток, который может отдавать установленный светодиодный модуль, но в результате экономии на материалах светодиод работает, если повезёт, в половину от своего максимума. Для ограничения тока применяются тонкие провода, это позволяет отказаться от использования источника постоянного тока и ограничиться простым ШИМ контроллером с силовым ключём.

Читать дальше →

Мой удобный дом

Reading time14 min
Views309K
Относительно недавно здесь был текст про домашнюю автоматику, а в комментариях один товарищ высказал идею, о которой я тоже думаю очень-очень давно. Суть в том, что автоматика должна работать так, чтобы этого, по возможности, вообще не было заметно.

То есть, умный дом — это дом, который может все. А удобный дом — это дом, который все, что может, делает сам.

Давайте сначала я просто похвастаюсь тем, что умеет мой дом сейчас, а вы решите, имеет ли смысл читать про мой местами горький (а местами очень даже ничего) опыт дальше, ок?
Читать дальше →

6 применений в «умном доме» платы USBasp. Нестандартное использование USBasp

Reading time5 min
Views130K
Устройство nRF24L01-USB
Иногда дешевле купить готовое устройство, чем собирать его самому. Да и самодельное устройство не всегда и не у всех будет выглядеть аккуратно- это зависит от наличия оборудования/материалов и прямоты рук.

Пользователи, знакомые с микроконтроллерами Atmel или хотя бы с Arduino скорее всего знают о дешевом программаторе USBasp, цена которого на Ebay около $ 3. Распространены две версии программатора:
USBasp 2.0 — с стабилизатором на 3.3 вольта.
USBasp 3.0 — плата поменьше, без стабилизатора. Так же у него не выведены на разъем порты PD0 и PD1(Аппаратный UART).В руках не держал и соответственно рассматривать его тут не будем.

Ниже мы рассмотрим как превратить программатор USBasp в I2C-USB переходник, научимся читать датчики влажности и температуры, получим простой набор портов ввода/вывода (PIO), RS232-USB, а так же попытаемся создать устройство nRF24L01-USB для чтения беспроводных датчиков и управления устройствами. Ну и для любителей Arduino — будем программировать в среде Arduino IDE используя USBasp как макетную плату.Проекты используют популярную библиотеку V-USB для работы с USB в программной реализации.
Читать дальше →

Уменьшаем количество проводов в Arduino — I2C LCD экран и RTC часы по двум проводам

Reading time6 min
Views229K
Совсем недавно познакомился с Ардуино, поэтому многим мои примеры покажутся простыми.

Однако таким же новичкам, как я, данная информация будет полезна и сэкономит массу времени.

I2C — стандарт общения устройств по 2м проводам, при этом количество устройств, которое висит параллельно на этих проводах может быть очень большим. У каждого устройства есть свой адрес, по которому происходит обращение к устройству. Адресацию можно менять, если на устройстве есть перемычки, которыми можно установить дополнительное смещение относительно базового адреса, жестко прописанного в устройстве.

Это в двух словах.

Начал я все с того, что купил 16х2 символьный LCD дисплей на Ибее. Подключив стандартно — понял что это не то, что нужно. Масса проводов — занимает кучу ножек, хаос и беспорядок.

image

Погуглил, понял что есть дисплеи с интерфейсами, упрощающие подключение. погуглил еще, нашел переходник на I2C для моего LCD. Месяц ожидания, ура-ура, подключил.

image

Выглядит гораздо интереснее!

Читать дальше →

Программирование Arduino с помощью ISP программатора

Reading time3 min
Views47K
Программировать Arduino Uno на «чистом» C или на Ассемблере не намного сложнее, чем с использованием стандартного языка программирования для Arduino. При этом вы можете сильно выиграть в производительности и сократить размер вашей программы. Далее речь пойдет о том, как перепрошить Arduino Uno R3 с использованием ISP программатора и AVR Studio 6.2.
Читать дальше →

Information

Rating
Does not participate
Location
Пермь, Пермский край, Россия
Registered
Activity