В языках с автоматическим управлением памятью сборщик мусора удаляет объекты, когда они перестают быть доступными по ссылкам. Обычно это именно то, что нужно: объект существует, пока есть возможность к нему обратиться.
Иногда такое поведение не подходит. Например, программе понадобилось хранить некоторую вспомогательную информацию об экземплярах некоторого класса, но у вас нет возможности добавить в этот класс своё поле. В этом случае можно создать отображение, в котором ключом будет объект, а значением — вспомогательная информация.
Вот тут-то и начинаются проблемы. Поскольку отображение хранит ссылки на ключи, те объекты, к которым была привязана вспомогательная информация, перестают освобождаться из памяти. Если программа в процессе своей работы создаёт много объектов, память рано или поздно заканчивается.Читать полностью »
Метка «java» - 33
Слабые ссылки в различных языках программирования
2012-12-25 в 14:11, admin, рубрики: c++, haskell, java, perl, python, ruby, Программирование, метки: c++, haskell, java, perl, python, ruby, ПрограммированиеСериализация GWT RPC в запрашиваемую страницу для индексирования приложения поисковиками и ускорения загрузки
2012-12-25 в 14:00, admin, рубрики: Google Web Toolkit, GWT, java, RPC, поисковая оптимизация, метки: GWT, java, RPC, поисковая оптимизация Как известно, поисковики не очень любят динамически создаваемые страницы, а страница (приложение) GWT как раз является динамической.
Читать полностью »
Универсальный Солдат: Groovy Transformer в DataStage
2012-12-22 в 20:02, admin, рубрики: datastage, etl, groovy, java, sql, метки: datastage, etl, groovy, java Возможности ETL средства IBM DataStage покрывают достаточно широкий спектр требований, которые возникают в задачах по интеграции данных, но, рано или поздно, возникает потребность расширить функциональные возможности, внедряя Parallel Routines на языке С или создавая Java классы, которые, в дальнейшем используются в Java Transformer или Java Client. Довольно ограниченные возможности же встроенного языка Basic давно устарели и не могут расцениваться как серьезное подспорье (так, например, невозможно использовать XML структуры, или, другой пример — попробуйте написать хеширование MD5 при помощи Basic. Это возможно, но займет значительное время на разработку и отладку).
Как бы там ни было, хотелось бы иметь достаточно гибкое средство, позволяющее работать с потоком данных, не требующее перекомпиляции своих исходных кодов и которое можно было бы использовать в редакторе DataStage Client. Моим коллегой и близким другом было предложено разработать Groovy Transformer. О нем и пойдет речь в данной заметке.
Читать полностью »
Запускаем консольные Java приложения на Android
2012-12-17 в 9:39, admin, рубрики: android, java, обучение программированию, Разработка под android, метки: java, обучение программированию
Речь пойдёт о проекте-утилитке, который может пригодиться всякому кто изучает Java и не всегда имеет под рукой ПК для просмотра работы примера кода в полевых условиях (как-то — в метро, маршрутке, кафешке и т.д.).Читать полностью »
Работа с JMS сообщениями и MDB в JEE
2012-12-17 в 6:27, admin, рубрики: ejb3, java, jms, Программирование, метки: ejb3, java, jms Работа с сообщениями подразумевает взаимодействие между компонентами системы посредством передачи сообщений. JMS позволяет реализовать это взаимодействие в java приложении, а MDB бины позволяют асинхронно обрабатывать получаемые сообщения на сервере приложений без дополнительных усилий по асинхронной обработке.
Читать полностью »
Songo: Desktop-ный плеер Вконтакте
2012-12-11 в 20:04, admin, рубрики: java, Вконтакте, музыка, метки: java, Вконтакте, музыкаЯ часто видел, как люди слушают музыку вконтакте из браузера. Причем слушают, как обычный плеер. Я же испытываю отвращение к такого рода использованию ибо люблю вкладки в браузере закрывать. Так и родилась идея этого приложения, которой я бредил несколько месяцев, прежде чем понять, что нужно сделать, чтобы извлечь это из своей головы.
Умеет плэйлисты, сворачиваться в трэй и главное никогда не станет платным, как россыпь других прокси-сервисов типа Prostopleer'а или Muzebr'ы. Исходники открыты под лицензей BSD. Так что, если меня собъёт автобус, а аккаунт Вконтакте украдут, каждый может вбить собственный идентификатор приложения и наслаждаться музыкой.Читать полностью »
Java собеседование. Коллекции
2012-12-11 в 12:34, admin, рубрики: java, Алгоритмы, коллекции, собеседование вопросы, метки: java, коллекции, собеседование вопросы С недавнего времени у меня появилась настойчивая мысль, что профессиональное развитие сильно замедлилось и это хочется как-то исправить. Да, читаю книги, слушаю курсы, но в то же время приходит и понимание того, что возможно пришло время сменить работу, здесь вроде как все изучено, плавно уходим в рутину. Данная мысль сподвигла меня на рассылку своего резюме в несколько компаний — лидеров рынка. После прохождения собеседования в 3 из них, я решил, как водится внести свои 5 копеек в освещение обширной темы собеседования, а именно технических вопросов по Java коллекциям, с которыми приходится сталкиваться. Да, знаю, читатель скажет: «коллекции — избитая тема, сколько можно», но часть из приведенных ниже вопросов, я задавал своим знакомым разработчикам, которые занимают именно позиции разработчиков («крепких середнячков», по меркам недалекой от Москвы глубинки, которые уверенно справляются со своей работой на практике, а вот в теории скажем так есть пробелы, потому, что работа не требует решения каких нетривиальных задач, да и потому что не всем это интересно — изучать как внутри работает структура данных), вызывало растерянность. Думаю, что рассмотренный материал будет не очень интересен разработчикам выше уровня Junior (я попрошу их комментировать, дополнять и критиковать изложенный здесь материал), а вот Junior`ы уверен, найдут в этой статье интересное для себя.
Читать полностью »
Кофе, табак и bootstrap за 5 секунд
2012-12-10 в 0:13, admin, рубрики: html5, java, javascript, maven, Twitter Bootstrap, метки: html5, java, javascript, maven, Twitter BootstrapОпуская лукавство в заголовке, речь пойдет о моем свеженьком опен-сорс начинании, которое показано к употреблению вовнутрь и наружно всем Java программистам.
Встречайте Tobacco Bootstrap или просто в дальнейшем Табак, который cобрал все лучшее, что я видел в мире веб-проектов в один архетип для Maven.
Читать полностью »
Встреча Java User Group в Москве
2012-12-07 в 5:31, admin, рубрики: java, Программирование, метки: java, общение с интересными людьми.Хабрапривет!
В четверг, 13 декабря в 19:00 в московском офисе компании КРОК пройдет первая встреча московского сообщества Java-разработчиков с ведущими инженерами компании Oracle Сергеем Куксенко и Алексеем Шипилёвым, которые выступят со своим звездным докладом «Через тернии к лямбдам», а также ведущим инженером компании КРОК Геннадием Кругловым, который расскажет вам о Spring Data JPA и поделится собственным опытом. Встреча пройдет в формате семинара. На месте вас ждет: живое общение, обсуждение интересных тем, а также возможность пообщаться с новыми интересными людьми за чашечкой кофе с плюшками!
Читать полностью »
12 декабря в 18:30 приглашаем Вас посетить Java Tech Talks@Lohika.
Наши докладчики:
Сигарев Егор «Spring around the bend»
Многие используют Spring, так как Spring стал общепризнанным стандартом в сфере Enterprise решений. Я постараюсь пролить свет на некоторые нюансы использования Spring, а также показать практические решения вопросов и проблем, возникающих в более-менее сложных проектах.
Мигутский Алексей «Мир без JSP. Thymeleaf 2.0»
Читать полностью »