Рубрика «java» - 212

image

Дом — это машина для жилья

Ле Корбюзье

В этом посте я расскажу об opensource проекте домашней автоматизации openHAB.
openHAB переводится как "Open Home Automation Bus". Это значит, что он нацелен на создание универсальной платформы для объединения всей домашней «умной» техники в единую систему управления.

Что же это дает на практике? Под катом я расскажу о том, как с помощью этого решения можно создать настоящий интернет вещей в своем доме.

Читать полностью »

Существует много технологий для организации параллельных вычислений, одна из наиболее перспективных и простых (да-да) — модель акторов. Она позволяет частично избавится от насущных проблем параллелизма, вроде состояния гонки, блокирующих ожиданий окончания операций, бесконечных мьютексов и синхронизаций и многого иного. Так же подобный подход существенно облегчает распараллеливание кода.

Знакомится будем на примере фреймворка akka используя язык java (сам akka написан на scala).
Читать полностью »

Cобрал небольшую подборку вопросов. Возможно кому-то она будет полезна.

Общая иерархия

— Расположите в виде иерархии следующий интерфейсы: List, Set, Map, SortedSet, SortedMap, Collection, Iterable, Iterator, NavigableSet, NavigableMap.
— Почему Map — это не Collection, в то время как List и Set являются Collection?
— как одной строчкой преобразовать HashSet в ArrayList?
— как одной строчкой преобразовать ArrayList в HashSet?
— Как перебрать все ключи Map учитывая, что Map — это не Iterable?
— Как перебрать все значения Map учитывая, что Map — это не Iterable?
— Как перебрать все пары ключ-значение в Map учитывая, что Map — это не Iterable?
— В чем проявляется «сортированность» SortedMap, кроме того, что toString() выводит все по порядку?
— Как одним вызовом копировать элементы из любой Collection в массив?
— Реализуйте симметрическую разность двух коллекций используя методы Collection (addAll(), removeAll(), retainAll())
Читать полностью »

Вы находитесь в стране, на которую распространяется эмбарго. Загрузка Java невозможна

Привет!

Чуть-чуть пост не дотянул до пятничного, а ведь тема достойна!

Невозможно загрузить Java(TM) на данный компьютер. Вы находитесь в стране, на которую распространяется эмбарго.

Именно такую надпись вы получите при попытке скачать JVM с java.com находясь на территории России.

Не верите? Убедитесь сами: www.java.com/ru/download/.

На случай если вам не повезло и вы не находитесь в России, то не стоит расстраиваться. Вы всё равно можете узреть Читать полностью »

</sarcasm> Привет! Сегодня я расскажу вам о том, с чем вы можете столкнуться, если вдруг решите залезть в дебри чужого приложения на Android (в данном случае, онлайн игры). Приключения с просмотром Java-классов в .dex, изучение оп-кодов Dalvik и даже программирование в двоичном коде. Но обо всем по порядку.

Под катом трафик на ~800кб, 293 из которых – скриншоты кода (!)
Читать полностью »

29 июля представители Java сообщества собрались уже во второй раз, для того, чтобы пообщаться в неформальной обстановке и обменяться опытом. Площадкой для мероприятия стал уютный коворкинг «Соль», с настоящими домашними тапочками, пуфиками и угощениями. Партнером мероприятия выступила компания Naumen.

Напоминаем, JUG – это Java User Group, встречи JUG.EKB — это обсуждение различных технологий из мира Java, обмен опытом, а также просто интересное общение!

Вниманию слушателей были представлены два доклада:
Хитрин Андрей, компания Naumen, с докладом «Оковы тяжкие падут: как перевести сборку проекта с Ant на Gradle?»
Роман Елизаров, специально приглашенный гость из Санкт-Петербурга, компания Devexperts, с докладом «Миллионы котировок в секунду на чистой Java».
Доклады вызвали волну вопросов, так, что их обсуждение продолжилось даже на афтепати. Также с успехом прошла серия коротких докладов — lightning talks

Ознакомиться с докладами подробнее можно на сайте jugekb.ru/, а фото с мероприятия в группе ВКонтакте vk.com/jugekb?z=album-61807294_199836894

Если у кого-то не получилось прийти, мы выложим видео на сайте или в группе ВК.
С нетерпением ждем Вас на следующей встрече JUG.EKB!

Читать полностью »

По следам Spring Pet Clinic. Maven  Spring Context  Spring Test  Spring ORM  Spring Data JPA
Здравствуйте!
Spring MVC, согласно обзору инструментов и технологий Java за 2014 г. от RevbelLabs, является самым популярным веб фреймворком. Далее тот же обзор называет лидера ORM — Hibernate и лидера веб-контейнеров — Apache Tomcat. Добавим сюда самую используемую java script библиотеку jQuery, самый популярный css фреймворк Bootstrap, до сих пор самую популярную (несморя на наступление Gradle) инструмент сборки Maven, абсолютный лидер среди тестовый фреймворков JUnit и получим пример приложения на Spring от его создателей: Spring Pet Clinic (демо приложение). Кроме перечисленного, в этот достаточно несложный по функциональности проект влючены также Spring-Jdbc, Spring-ORM, Spring Data JPA, Hibernate Validator, SLF4J, Json Jackson, JSP, JSTL, WebJars, Dandelion DataTables, HSQLDB, Hamcrest, Mockito и десятки других зависимостей.
Читать полностью »

Началось все с простого — один мой друг захотел писать проги на яве. Естественно, что просто выучив синтаксис языка, никакого опыта в программировании не наберешся, и потому нужно просто писать уже хоть что-нибудь. Вот я и обдумывал вопрос, что же лучше всего подойдет для этого. Я пришел к выводу, что самое лучше в начале пути, на мой взгляд, это создать простенький класс который бы описывал абстрактную «сущность», но при этом был прост в понимании. В итоге было решено выдать тренировочное задание по написанию самопального класса комплексного числа.
Конечно можно было бы просто написать на листочке все требования к этому классу, описать интерфейс всех его методов и тому подобное, однако потом это пришлось бы проверять, и при этом очень даже вероятно что проверять по нескольку раз, так как товарищ только обучается.
Но тут меня потянуло в сторону экспериментов, а так как я нетак давно заинтересовался TDD, то и эксперименты пошли в ту же степь.
Читать полностью »

Cобрал небольшую подборку вопросов. Возможно кому-то она будет полезна.

Общие вопросы

— В чем разница между потоком и процессом?
— Что такое кооперативная многозадачность и она ли в Java. Если да, то какие преимущества. Если нет, то какая тогда в Java?
— Сравните кооперативную и вытесняющую многозадачности.
— Что такое «зеленый потоки» и они ли в Java (в HotSpot JVM 7)?
— Когда началась «Multicore Era»?
— Что такое — Планировщик потоков? Предположите алгоритм работы.
— Какие выигрыши может дать многопоточность на одноядерной машине?

«Железо»

— Что такое Flynn's taxonomy, SISD/MISD/SIMD/MIMD? К какому классу относятся CPU? GPU?
— Расскажите про иерархию кэшей L1/L2/L3? Что вызвало ее появление?
— Что такое Memory wall?
— Что такое Memory Hierarchy?
— Что такое Cache line? В виде каких эффектов проявляется?
— Что такое False sharing? Плохо это или хорошо? Как с этим бороться?
— Что такое Memory padding?
— Что такое Cache pollution? Плохо это или хорошо? Как с этим бороться?
— Что такое Cache miss? Плохо это или хорошо? Как с этим бороться?
— В чем разница между SMP и NUMA? Как это сказывается на программах?
— В чем разница между Multicore и Multisocket?
— Что такое Thread affinity? Можно ли сделать в Java?
— Что такое Inter Thread Parallelism? Task Parallelism?
— Что такое Branch Prediction?
— Что такое Speculative Execution?
— Сравните с точки зрения программиста — машину с четырехядерным процессором и двумя двухядерными процессорами.
— Напишите программу, которая демонстрирует False sharing.
— Напишите программу, которая демонстрирует размер кэша L1.
— Напишите программу, которая демонстрирует размер кэша L2.
Читать полностью »

Приветствую, читатели!

Сегодня хочу затронуть тему мелкого облагораживания своего виртуального рабочего места. Прошу не возлагать на данную заметку больших надежд, так как после ее прочтения, код все еще не будет писаться сам, но чуток рутины в разработке мы все же поборем. Плюс попробуем себя в написании гаджетов для Windows.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js