<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
	<title>Хабрахабр:  Метки / jvm</title>
	<link>http://habrahabr.ru/rss/tag/jvm/</link>
	<description><![CDATA[]]></description>
	<language>ru</language>
	<managingEditor>editor@habrahabr.ru</managingEditor>
	<generator>habrahabr.ru</generator>
	<pubDate>Sat, 11 Feb 2012 02:11:38 GMT</pubDate>
	<lastBuildDate></lastBuildDate>
	<image>
		<link>http://habrahabr.ru/</link>
		<url>http://habrahabr.ru/i/logo.gif</url>
		<title>Хабрахабр</title>
	</image>
	
			
		<item>		
			<title><![CDATA[JAVA / Непрерывный мониторинг JVM с помощью Zabbix]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/java/137641/</guid>
			<link>http://habrahabr.ru/blogs/java/137641/</link>			
			<description><![CDATA[Предположим, у вас есть большое приложение написанное на Java. Это может быть web-сервлет размещенный в контейнере или standalone-сервис. В процессе разработки (да и во время эксплуатации) возникает необходимость отслеживать процессы, протекающие в JVM: работу garbage collector, использование памяти, жизненный цикл потоков, а так же иные специфичные для вашего проекта показатели по средствам MBean. Самый простой вариант — использовать профилировщик. Но увы, проблемы не случаются по расписанию, и невозможно заранее знать, когда нужно подключить профилировщик, а держать его постоянно включенным тоже не вариант. В таких случаях идеальное решение — непрерывный мониторинг. О нем и пойдет речь. Но для начала пара слов о классической профилировке.<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/java/137641/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Fri, 10 Feb 2012 01:48:12 GMT</pubDate>
			<author>redcraft</author>
			<category>jvm</category><category>java</category><category>zabbix</category><category>monitoring</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[JAVA / Объекты Java]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/java/134910/</guid>
			<link>http://habrahabr.ru/blogs/java/134910/</link>			
			<description><![CDATA[Под впечатлениями от <a href="http://habrahabr.ru/blogs/java/134102/.">habrahabr.ru/blogs/java/134102/.</a><br/>
<br/>
Недавно мне приходилось немного поковыряться внутри JVM. Довольно интересный опыт. Текст в вышеупомянутом топике не совсем сходится с моим опытом, но я не считаю себя обладателем абсолютной истины. Ниже я поделюсь с читателями небольшой частью моих экспериментов, которые касаются непосредственно объектов Java.<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/java/134910/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Mon, 19 Dec 2011 20:38:00 GMT</pubDate>
			<author>cursed</author>
			<category>java</category><category>jvm</category><category>memory</category><category>object</category>
		</item>
		
		
		
		
		
		
		
		
	
		
		
			
		<item>		
			<title><![CDATA[Подкасты / [PODCAST] «Разбор полетов» — episode 3 — Горький вкус загрузки классов]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/hpodcasts/134643/</guid>
			<link>http://habrahabr.ru/blogs/hpodcasts/134643/</link>
			<description><![CDATA[Я&nbsp;и&nbsp;коллега <a href="http://habrahabr.ru/users/aib/" class="user_link">aib</a> представляем вашему вниманию третий выпуск уже ставшего популярным в&nbsp;узких кругах, разговорного IT-тематического подкаста «Разбор Полетов».<br/>
В&nbsp;этом выпуске:<br/>
<ul>
<li>Новость для разминки&nbsp;&mdash; <a href="http://www.infoq.com/news/2011/12/HP-Open-Source-webOS">http://www.infoq.com/news/2011/12/HP-Open-Source-webOS</a></li>
<li>Сделай свой гитхаб на&nbsp;Java с&nbsp;преферансом и&nbsp;поэтессами <a href="http://gitblit.com/">http://gitblit.com/</a> </li>
<li>Мы&nbsp;строили строили и&nbsp;наконец получили… <a href="http://community.jboss.org/wiki/JBossClassLoaderHistory">http://community.jboss.org/wiki/JBossClassLoaderHistory</a></li>
<br/>
</ul><div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/hpodcasts/134643/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Thu, 15 Dec 2011 06:02:56 GMT</pubDate>
			<author>gAmUssA</author>
			<enclosure url="http://moscow-nthost3a.cdn.rpod.ru/00/00/01/01/92/257496-219706/razbor_3_release.mp3" type="audio/mpeg" />
			<category>разбор-полетов</category><category>jvm</category><category>osgi</category><category>jboss</category><category>classloading</category><category>eclipse</category><category>open source</category>
		</item>
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Блог компании Jelastic / Jelastic PaaS — статистика использования баз данных, серверов и JVM в ноябре]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/company/jelastic/blog/134296/</guid>
			<link>http://habrahabr.ru/company/jelastic/blog/134296/</link>			
			<description><![CDATA[Мы продолжаем делиться с вами статистикой использования программного стека на платформе <a href="http://jelastic.com">Jelastic</a>. Какими же были предпочтения девелоперов в прошлом месяце?<br/>
<br/>
<h5>Статистика использования баз данных MySQL, MariaDB, PostgreSQL и MongoDB</h5><br/>
Начнем с SQL баз. Как и прежде MySQL остается неоспоримым лидером. PosgreSQL занимает второе почетное место, за ней следует MariaDB. Единственная среди наших NoSQL баз, MongoDB показала очень хороший результат в ноябре. <br/>
<br/>
<img src="http://chart.apis.google.com/chart?chtt=Database+distribution+(November+2011)&amp;chts=000000,12&amp;chs=450x200&amp;chf=bg,s,ffffff&amp;cht=p3&amp;chd=t:44.00,21.00,20.00,15.00&amp;chl=MySQl+44%|PostgreSQl+21%|MongoDB+20%|MariaDB+15%&amp;chco=0000ff,ff0000,00ff00,00ffff"/> <br/>
<br/>
Если сравнить текущие данные с октябрьскими, то можно сделать вывод, что количество фанов каждой из баз практически не изменилось.<br/>
Ситуация в регионах (Европа и Северная Америка).<br/>
<br/>
<img src="http://chart.apis.google.com/chart?chtt=Marketshare+by+region+(November+2011)&amp;chts=000000,12&amp;chs=500x200&amp;chf=bg,s,ffffff|c,s,ffffff&amp;chxt=x,y&amp;chxl=0:|MySQL|PostgreSQL|MariaDB|MongoDB|1:|0|10|20|30|40|50&amp;cht=bvg&amp;chd=t:100.00|90.00,34.00,36.00,40.00|88.00,24.00,48.00,40.00|100.00&amp;chdl=|Europe|North+America|&amp;chco=ffffff,0000ff,ff0000,ffffff&amp;chbh=18"/><br/>
<br/>
Текущие цифры<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/company/jelastic/blog/134296/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Tue, 13 Dec 2011 08:18:37 GMT</pubDate>
			<author>sirus</author>
			<category>cloud computing</category><category>Java</category><category>PaaS</category><category>Jelastic</category><category>JVM</category><category>MySQL</category><category>MariaDB</category><category>MongoDB</category><category>PostgreSQL</category><category>Tomcat</category><category>GlassFish</category><category>Jetty</category><category>Java 6</category><category>Java 7</category><category>hosting</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Блог компании Ciklum / Сиклум Java Субботник возвращается]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/company/Ciklum/blog/133628/</guid>
			<link>http://habrahabr.ru/company/Ciklum/blog/133628/</link>			
			<description><![CDATA[<b>Всем поклонникам Java</b>, всем, кто уже активно использует или только хочет работать с Java — это мероприятие мы организуем для вас. По многочисленным просьбам, которые высказывались после <a href="http://habrahabr.ru/company/Ciklum/blog/124138">летнего Java Субботника</a>, и в особенности после Сиклум Java Субботников, прошедших в <a href="http://habrahabr.ru/company/Ciklum/blog/131259">Одессе</a> и <a href="http://habrahabr.ru/company/Ciklum/blog/131174">Минске</a>. Мы еще раз в этом году проведем киевский <b>Сиклум Субботник по Java-технологиям</b>. По традиции, мы приглашаем всех желающих бесплатно посетить <b>Сиклум Java Saturday 10 декабря</b> <a href="http://www.facebook.com/media/set/?set=a.10150189684171883.327702.50593631882">в нашем киевском офисе</a>.<br/>
<br/>
В этот раз <b>10 декабря</b> мы соберемся, чтобы обсудить что нового, интересного или полезного можно найти в старой доброй Java. Программа субботника еще формируется, поэтому, если вам есть что рассказать, обращайтесь к координатору мероприятия — <a href="mailto:itu@ciklum.net">Инне Туевой</a>, она всегда поможет.<br/>
<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/company/Ciklum/blog/133628/#habracut">Интересные подробности под хабра-катом</a> </div>]]></description>
			
			<pubDate>Tue, 29 Nov 2011 12:32:02 GMT</pubDate>
			<author>atael</author>
			<category>ciklum saturday</category><category>Java</category><category>JVM</category><category>Maven</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[JAVA / New day — new language!]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/java/131996/</guid>
			<link>http://habrahabr.ru/blogs/java/131996/</link>			
			<description><![CDATA[<h4>Xtend</h4><br/>
<a href="http://www.eclipse.org/Xtext/#xtend2">Xtend</a> представляет собой статически типизированный язык программирования от команды Eclipse, который обладает тесной интеграцией и работает поверх JVM. Его корни лежат в языке программирования Java (<s>кто бы мог подумать</s>). Xtend обладает рядом концептуальных улучшений:<br/>
<ul>
<li>Выведение типов — нет необходимости постоянно указывать сигнатуры типов.</li>
<li>Полная поддержка Java Generics — включая все соответствия и правила приведения.</li>
<li>Замыкания — приятный синтаксис для анонимных классов.</li>
<li>Перегрузка операторов — позволяет писать более выразительный код.</li>
<li>Улучшенные switch выражения — на основе типов и приведения.</li>
<li>Каждое выражение имеет значение (<i>en. «No statements — Everything is an expression»</i>).</li>
<li>Шаблоны — с поддержкой пробелов.</li>
<li>Поддержка расширений — <a href="http://jcp.org/en/jsr/detail?id=330">JSR-330</a>.</li>
<li>Доступ к свойствам — синтаксический сахар над get/set.</li>
<li>Полиморфный вызов методов.</li>
<li>Транслируется в Java код, а не Bytecode — корректная работа с кодом, предназначенным для пратформ, таких как Android или GWT.</li>
</ul><br/>
У разработчиков не стоит цели заменить Java. Библиотека Xtend является тонким слоем над JDK и работает равносильно с Java и Xtend. Разумеется, разработчики предоставляют современную IDE на основе Eclipse.]]></description>
			
			<pubDate>Sun, 06 Nov 2011 15:41:18 GMT</pubDate>
			<author>cursed</author>
			<category>java</category><category>jvm</category><category>xtend</category><category>eclipse</category><category>yet another jvm language</category>
		</item>
		
		
		
		
		
		
		
		
	
		
		
		
			
		<item>		
			<title><![CDATA[Lisp / [Перевод] Будущее Лиспа]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/lisp/126543/</guid>
			<link>http://habrahabr.ru/blogs/lisp/126543/</link>
			<description><![CDATA[Это перевод статьи Стивена <a href="http://twitter.com/#!/sdegutis">Дегутиса</a>.<br/>
<br/>
<h4>Будущее Lisp <br/>
</h4><br/>
В последнее время я часто стал задумываться о существующих диалектах Lisp и о том, в каком направлении мы двигаемся. В частности, я рассматривал возможность написания очередного диалекта Lisp, и те сферы, в которых бы он пригодился. <br/>
<br/>
Если вы еще не знакомы с ним, Lisp является замечательным семейством языков; его чрезвычайно минималистический синтаксис позволяет нам думать практически на уровне алгоритмов, не заморачиваясь по поводу неочевидного синтаксиса или каких-либо языковых рамок. <br/>
<br/>
<h5>Положение на рынке </h5><br/>
<br/>
Традиционно, существует Scheme, который полезен разве что для преподавания в вузах из-за скудности поддерживаемых библиотек, есть также Common Lisp, который представляет из себя ужасную, страшную неразбериху (представьте C++, но с целым морем скобок). <br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/lisp/126543/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Wed, 17 Aug 2011 16:17:47 GMT</pubDate>
			<author>skim1776</author>
			<category>lisp</category><category>clojure</category><category>jvm</category><category>future</category>
		</item>
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Twitter / Миграция с Ruby]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/twitter/123778/</guid>
			<link>http://habrahabr.ru/blogs/twitter/123778/</link>			
			<description><![CDATA[<img src="http://www.infoq.com/resource/articles/twitter-java-use/en/smallimage/image_bird_coffee.jpg" alt="image" align="left"/>Уверен, что на Хабре обитает огромное число юзеров, облизывающихся при чтении описаний технологий и архитектур, используемых в молодых, динамичных и, что наиболее важно, быстрорастущих в своей пользовательской базе, компаний. К сожалению, относительно небольшое количество наших соотечественников работает в таких компаниях по всему миру, а те, кто все-таки трудится во внутренней кухне, связаны различными условиями трудовых договоров или банальным NDA, запрещающим сливать публике самые интересные подробности. Тем не менее, я лично знаю большое количество специалистов, особенно заинтересованных в высоких нагрузках и не знающих, где получить эту информацию из первых рук.<br/>
<br/>
Эту проблему можно решить единственным способом — предоставить слово кому-то из менеджеров отдела разработки или любому другому человеку, занимающему адекватно высокий пост и разбирающемуся в разработке, а после — тянуть, тянуть из него все подробности. Примерно так поступили в <a href="http://InfoQ.com">Information Queue</a>, опросив одного из инженеров Twitter'а — Эвана Уивера (Evan Weaver) о том, почему компания так долго развивавшаяся на «рельсах», решила переключиться на использование других технологий и какие это имело последствия.<br/>
<br/>
В этом материале я буду всецело ссылаться на слова Эвана, объясняющего суть миграции и выгод, получаемых от использования JVM, в первую очередь — производительности и, все той же, масштабируемости. Но как мы узнаем чуть позже, решение было так же продиктовано желанием изолировать отдельные сервисы, а так же слегка изменить общую архитектуру продукта.<br/>
<br/>
Итак, история начинается в прошлом году, когда Twitter анонсировал изменения в архитектуре бэкэнда (message queue), а так же заявил о намерении переписать Twitter Storage на Scala, а весной началась работа по переписыванию всего поискового движка. Как часть этих изменений, БД MySQL (лежавшая в основе поиска) была заменена <a href="http://lucene.apache.org/">Lucene</a>. И, наконец, совсем недавно команда разработчиков <a href="http://engineering.twitter.com/2011/04/twitter-search-is-now-3x-faster_1656.html">заявила о замене</a> Ruby on Rails в области поиска — на его место встал Java-сервер, который они сами называют Blender. Результатом этой замены стало трехкратное снижение задержки при выполнении поискового запроса.<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/twitter/123778/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Sun, 10 Jul 2011 06:27:04 GMT</pubDate>
			<author>Shapelez</author>
			<category>twitter</category><category>архитектура</category><category>языки</category><category>ruby</category><category>ror</category><category>java</category><category>jvm</category><category>scala</category><category>c</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[JAVA / Groovy за 15 минут – краткий обзор]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/java/122127/</guid>
			<link>http://habrahabr.ru/blogs/java/122127/</link>			
			<description><![CDATA[Groovy — объектно-ориентированный язык программирования разработанный для платформы Java как альтернатива языку Java с возможностями Python, Ruby и Smalltalk.<br/>
<br/>
Groovy использует Java-подобный синтаксис с динамической компиляцией в JVM байт-код и напрямую работает с другим Java кодом и библиотеками. Язык может использоваться в любом Java проекте или как скриптовый язык.<br/>
<br/>
Возможности Groovy (отличающие его от Java):<br/>
<br/>
 — Статическая и динамическая типизация<br/>
 — Встроенный синтаксис для списков, ассоциативных массивов, массивов и регулярных выражений<br/>
 — Замыкания<br/>
 — Перегрузка операций<br/>
<br/>
[<a href="http://ru.wikipedia.org/wiki/Groovy">http://ru.wikipedia.org/wiki/Groovy</a>]<br/>
<br/>
Более того, почти всегда java-код — это валидный groovy-код.<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/java/122127/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Sat, 18 Jun 2011 01:31:17 GMT</pubDate>
			<author>alexeygrigorev</author>
			<category>groovy</category><category>jvm</category><category>java</category><category>groovlets</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Я пиарюсь / «Виртуальные машины» — пятидневный семинар в Петербурге. 25-29 апреля. Участие бесплатное]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/i_am_advertising/117992/</guid>
			<link>http://habrahabr.ru/blogs/i_am_advertising/117992/</link>			
			<description><![CDATA[Компания Oracle приглашает вас принять участие в научно-техническом семинаре «Виртуальные машины».<br/>
<br/>
Семинар предназначен для студентов старших курсов, аспирантов, научных сотрудников и инженеров соответствующих специальностей. Предполагается, что аудитория знакома с виртуальными машинами, компиляторами, сборкой мусора и языком Java. Семинар проводит ведущий инженер, к.ф.-м.н. Олег Плисс.<br/>
<br/>
Ориентировочный план семинара<br/>
<br/>
1. Обзор и история развития виртуальных машин. Архитектура JVM.<br/>
2. Интерпретация и компиляция.<br/>
3. Управление памятью.<br/>
4. Многопоточность, синхронизация, вызовы библиотечных функций.<br/>
5. Многозадачность, кросскомпиляция, ромизация, двоичная конверсия.<br/>
<br/>
Объем тем очень разный. Поскольку это именно семинар, то формат предполагает высокую степень интерактивности, и длительность и глубина рассмотрения тем зависит от проявленного публикой интереса.<br/>
<br/>
Семинар пройдет в офисе компании Оракл в Санкт-Петербурге 25-29 апреля. Начало в 13:00 каждый день.<br/>
Адрес: Санкт-Петербург 10я Красноармейская 22А, 2 этаж (2022)<br/>
<br/>
<b>Участие бесплатное</b><br/>
<br/>
По всем вопросам можно обращаться ко мне через ХабраПочту или Елене Блохиной <a href="http://tinyurl.com/43pnynr">tinyurl.com/43pnynr</a>]]></description>
			
			<pubDate>Fri, 22 Apr 2011 14:37:45 GMT</pubDate>
			<author>alexbel</author>
			<category>JVM</category><category>java</category><category>виртуальная машина</category><category>семинар</category><category>Oracle</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[JAVA / JVM падает (2 истории про вызов native library)]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/java/114781/</guid>
			<link>http://habrahabr.ru/blogs/java/114781/</link>			
			<description><![CDATA[Хочу поделиться двумя историями с одинаковым сюжетом, но разными развязками.<br/>
Может быть кому то, у кого тоже падает JVM будет полезно<br/>
<br/>
1. Native code вызывается из Явы через JNI. Юнит тест — проходит на ура, приложение (GUI, Swing) крэшится.<br/>
Подключаемся через дебагер ddd (это такая оболочка над gdb, ежели кто из яваистов не знает :) ) — видим что падает с длинющим стеком. Выясняем с автором нативной библиотеки, что там они десериализуют через boost (такая библиотека для C++) дерево большой глибины. И там рекурсия.<br/>
<br/>
Возникает идея (не сразу, 3 дня споров и гугления), что при вызове из приложения стек больше и он переполняется. Находим параметер для JVM: -XX:ThreadStackSize=<br/>
<br/>
Работает!<br/>
<br/>
2. Native code вызывается через JNA. Присутствую колбеки обратно в Явы, так как я <a href="http://habrahabr.ru/blogs/java/113436/">описывал</a>. Юнит тест бежит, приложение падает!<br/>
<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/java/114781/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Wed, 02 Mar 2011 15:12:39 GMT</pubDate>
			<author>javax</author>
			<category>java</category><category>jni</category><category>jna</category><category>crash</category><category>jvm</category><category>troubleshooting</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Scala / Scala + Processing – интересный способ выучить новый язык]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/scala/114158/</guid>
			<link>http://habrahabr.ru/blogs/scala/114158/</link>			
			<description><![CDATA[Недавно мне довелось на собственном опыте убедиться: чтобы научиться применять какие-то новые технологии, недостаточно прочитать пару книг по теме, потому что без практики теория мгновенно улетучивается из головы.<br/>
<br/>
Но что можно сделать такого интересного на Scala? На самом деле, выбор не слишком большой. Я как-то придумал небольшую тулзу, неспешно написал ее, и «забил». А через несколько месяцев, к своему стыду, гуглил синтаксис «for loop»…<br/>
<br/>
<img src="http://habrastorage.org/storage/67c1e862/d162de8e/62d68203/d94638a1.jpg" align="left"/>Я решил, что дальше так дело не пойдет, и нужно найти какие-то небольшие проектики на основные возможности языка. Тут мне и пригодился Processing. Скучные учебные проекты он любому новичку (вроде меня) поможет превратить в визуальные инсталляции. А дальше можно выбрать, что покопать углубленно — например, генерацию фракталов, рендеринг частиц или визуализацию данных.<br/>
<br/>
Я переписал на Scala и выложил на GitHub парочку примеров. На скрине как раз один из них — <a href="http://memo.tv/msafluid_for_processing">MSA Fluids</a>. Заинтересовавшихся прошу под кат.<br/>
<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/scala/114158/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Mon, 21 Feb 2011 13:37:18 GMT</pubDate>
			<author>valyard</author>
			<category>Scala</category><category>Processing</category><category>Java</category><category>JVM</category><category>intelliJ IDEA</category><category>GitHub</category>
		</item>
		
		
		
		
		
		
		
		
	
		
		
		
			
		<item>		
			<title><![CDATA[JAVA / [Перевод] Java Bytecode Fundamentals]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/java/111456/</guid>
			<link>http://habrahabr.ru/blogs/java/111456/</link>
			<description><![CDATA[Разработчики приложений на Java обычно не нуждаются в знании о байт-коде, выполняющемся в виртуальной машине, однако тем, кто занимается разработкой современных фреймворков, компиляторов или даже инструментов Java может понадобиться понимание байт-кода и, возможно, даже понимание того, как его использовать в своих целях. Несмотря на то, что специальные библиотеки типа ASM, cglib, Javassist помогают в использовании байт-кода, необходимо понимание основ для того, чтобы использовать эти библиотеки эффективно. <br/>
<i>В статье описаны самые основы, от которых можно отталкиваться в дальнейшем раскапывании данной темы (прим. пер.).</i><br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/java/111456/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Mon, 10 Jan 2011 15:04:52 GMT</pubDate>
			<author>ahriman</author>
			<category>Java</category><category>Bytecode</category><category>JVM</category>
		</item>
		
		
		
		
		
	
		
			
		<item>		
			<title><![CDATA[JAVA / [Из песочницы] Groovy inspiration — Feel the difference]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/java/110368/</guid>
			<link>http://habrahabr.ru/blogs/java/110368/</link>			
			<description><![CDATA[<img src="http://groovy.codehaus.org/download/attachments/1866/groovydukemed.jpg?version=1&amp;modificationDate=1176732937408" alt="image"/><br/>
<h4>Почему Groovy</h4><br/>
Будучи Java разработчиком, некоторое время назад я начал посматривать в сторону других языков программирования, и, думаю об этом размышлял далеко не только я. Некоторые мои знакомые, в свое время имеющие отнюдь не малый опыт в разработке под Java — платформу, решительно начали двигаться по рельсам (Rails), соответственно используя Ruby, кто-то еще подумывает приручить Питона с приложением к нему в виде Django. Появляется достаточно книг о том, как Java — программисту мигрировать в мир динамических языков. Может ли что-то нас остановить?<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/java/110368/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Mon, 20 Dec 2010 17:29:51 GMT</pubDate>
			<author>sndl</author>
			<category>groovy</category><category>java</category><category>jvm</category><category>dynamic language</category>
		</item>
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[JAVA / C Java в Mac OS X не все так печально]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/java/108029/</guid>
			<link>http://habrahabr.ru/blogs/java/108029/</link>			
			<description><![CDATA[<a href="http://habrahabr.ru/blogs/java/108029/"><img src="http://i56.tinypic.com/313kw7m.jpg" alt="картинка, чтобы не было скучно" align="left"/></a>Не так давно <a href="http://habrahabr.ru/blogs/java/106615/">стало известно</a>, что Apple прекращает развитие своей собственной версии JVM. Это событие вызвало широкий <a href="http://habrahabr.ru/blogs/java/106963/#habracut">резонанс</a>, и было воспринято большинством как однозначный признак заката Java. Да, у платформы сейчас не лучшие времена, разработка новой версии идет не так быстро, как хотелось бы, но <i>умирать еще рано</i>. <br/>
И этому появилось <a href="http://www.apple.com/pr/library/2010/11/12openjdk.html">подтверждение</a>, снова от Apple: компания активно подключается к проекту OpenJDK c целью создания полноценной открытой Java-машины для Mac OS X.<br/>
Если вспомнить, что IBM также <a href="http://habrahabr.ru/blogs/free/105982/#comments">подключилась</a> к проекту (покинув Apache Harmony), то можно предположить, что все происходящее — вовсе не закат, а <i>новая жизнь</i> для Java. Ведь JVM прекрасно существует под Windows, не будучи разработанной Microsoft и включенной в поставку системы.]]></description>
			
			<pubDate>Fri, 12 Nov 2010 15:12:42 GMT</pubDate>
			<author>ZIJ</author>
			<category>jvm</category><category>openjdk</category><category>apple</category><category>mac os x</category><category>oracle</category><category>open source</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[JAVA / Джеймс Гослинг: почему Applе отказывается от JVM]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/java/106963/</guid>
			<link>http://habrahabr.ru/blogs/java/106963/</link>			
			<description><![CDATA[Как известно, несколько дней назад компания Apple фактически <a href="http://developer.apple.com/library/mac/#releasenotes/Java/JavaSnowLeopardUpdate3LeopardUpdate8RN/NewandNoteworthy/NewandNoteworthy.html">отказалась</a> от дальнейшей разработки Apple JVM. Прошло более десяти лет с тех пор как Стив Джобс <a href="http://www.itworldcanada.com/news/mcnealy-bashes-microsoft-embraces-apple/133726">со сцены конференции JavaOne 2000 заявлял</a>, что сделает «лучшую на планете платформу для Java прямо из коробки».<br/>
<br/>
В далёком 2000 году Sun занимала <a href="http://money.cnn.com/magazines/fortune/fortune500_archive/full/2000/101.html">150-е место</a> в списке крупнейших корпораций Америки, опережая Oracle и Apple, не говоря уже о стартапе Google, который вошёл в список Fortune 500 только в 2005 году.<br/>
<br/>
Что и говорить, времена изменились.<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/java/106963/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Tue, 26 Oct 2010 14:43:30 GMT</pubDate>
			<author>alizar</author>
			<category>Java</category><category>Apple JDK</category><category>JVM</category><category>Джеймс Гослинг</category><category>сглаживание</category><category>секретные API</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Программирование / Релиз Clojure 1.2]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/programming/102197/</guid>
			<link>http://habrahabr.ru/blogs/programming/102197/</link>			
			<description><![CDATA[После нескольких месяцев разработки вышла новая версия языка Clojure — 1.2. Clojure — Lisp'образный язык общего назначения, работающий на платформах JVM и .Net, известный специальными средствами для упрощения разработки конкурентного кода.<br/>
Среди изменений стоит отметить:<ul>
<li>введение в язык протоколов и типов данных для реализации полиморфных функций, которые работают быстрее чем существуюшие мультиметоды;</li>
<li>возможность добавления аннотаций, реализованных в Java библиотеках;</li>
<li>расширен набор функций, входящих в базовую поставку — функции для работы с последовательностями, строками, вводом/выводом и т.д.;</li>
<li>много изменений в части улучшения производительности;</li>
</ul>Полный список изменений <a href="http://github.com/clojure/clojure/blob/1.2.x/changes.txt">доступен в репозитории</a>. <br/>
Кроме того, в ближайшее время будет выпущена версия 1.2 для платформы .Net.<br/>
<br/>
P.S. Статья &quot;<a href="http://alexott.net/ru/clojure/clojure-intro/">Введение в Clojure</a>&quot; была частично обновлена для соответствия версии 1.2 (кроме описания протоколов, которое будет доступно на следующей неделе).]]></description>
			
			<pubDate>Thu, 19 Aug 2010 18:34:33 GMT</pubDate>
			<author>alexott</author>
			<category>clojure</category><category>jvm</category><category>lisp</category>
		</item>
		
		
		
		
		
		
		
		
	
		
		
			
		<item>		
			<title><![CDATA[Подкасты / [PODCAST] The Art Of Programming — Выпуск №51 [ VM ] / Производительность]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/hpodcasts/101352/</guid>
			<link>http://habrahabr.ru/blogs/hpodcasts/101352/</link>
			<description><![CDATA[Интервью с Алексеем Шипилёвым, сотрудником компании Sun Microsystems.<br/>
<img src="http://lh4.ggpht.com/_3zAaa-KUAsA/TGDit9BoBfI/AAAAAAAABkY/heuSA1ZSEc8/s800/iconTAOP51.png"/><br/>
+ Apache Harmony и OpenJDK<br/>
+ Производительность приложения<br/>
+ Изобретатели велосипедов <br/>
<br/>
Joshua Bloch — Effective Java <a href="http://www.ozon.ru/context/detail/id/5047534/">http://www.ozon.ru/context/detail/id/5047534/</a>]]></description>
			
			<pubDate>Tue, 10 Aug 2010 05:55:16 GMT</pubDate>
			<author>golodnyj</author>
			<enclosure url="http://rpod.ru/get/167365/119890/download/The_Art_Of_Programming_-_%D0%92%D1%8B%D0%BF%D1%83%D1%81%D0%BA_%E2%84%9651_%5B_VM_%5D___%D0%9F%D1%80%D0%BE%D0%B8%D0%B7.mp3" type="audio/mpeg" />
			<category>golodnyj</category><category>the art of programming</category><category>интервью</category><category>производительность</category><category>jvm</category>
		</item>
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[JAVA / JVM изнутри – организация памяти внутри процесса Java]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/java/84165/</guid>
			<link>http://habrahabr.ru/blogs/java/84165/</link>			
			<description><![CDATA[Наверное, все, работающие с Java, знают об управлении памяти на уровне, что для ее распределения используется сборщик мусора. Не все, к сожалению, знают, как именно этот сборщик (-и) работает, и как именно организована память внутри процесса Java. <br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/java/84165/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Sat, 13 Feb 2010 19:39:52 GMT</pubDate>
			<author>Washington</author>
			<category>Java</category><category>jvm</category><category>память</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Персональные блоги / Jython vs Groovy vs JRuby vs …]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/personal/80163/</guid>
			<link>http://habrahabr.ru/blogs/personal/80163/</link>			
			<description><![CDATA[Господа, внезапно — сабж!? Вопрос вызван тем, что какое-то довольно продолжительное время я был вдалеке от Java-технологий, писал на C++ и Python (и продолжаю писать), но один из курсов университета (конкретнее — component based software development) будет требовать либо одного из JVM-based языков (Java отпадает за неинтересностью) либо .NET языков (отпадает по определению так как Windows у меня нет и не будет). Немного изучив вопрос, пришел к выводу что:<br/>
<ol>
<li>Преимущества в пользу Jython — по большому счету, это Python, который я хорошо знаю и люблю, с возможностью использовать Java классы. Но, если верить слухам, сейчас он почти не развивается. Хотя опять же, кому верить-то?</li>
<li>Преимущества Groovy — новый язык, активно развивающийся, комбинирующий в себе достоинства многих языков и парадигм (тот же Python и Ruby в них входят). Недостатки — новый язык, активно развивающийся ;-) Сравнительно мало документации и кода по сравнению с Python</li>
<li>Преимущества JRuby… я что-то весь в затруднениях, но все о нем говорят. Полная совместимость с Ruby, да. Но Руби я все равно не знаю, так что учить с нуля, так же как и Groovy.</li>
</ol>А какие еще мнения есть? Я пока еще не совсем понял, что именно мне нужно для этого курса (хотя ясно, что это что-то должно поддерживать хорошую умную компонентную модель для работы в распределенных средах), но язык, в конце концов, вторичен — хочется чего-то интересного, нового и необычного (не сказать “странного”). Кто что думает? Вопрос довольно практический, потому что 18 января надо начинать писать курсовой проект на этом языке, который я выберу — а его надо еще и изучить хотя бы минимально до этого момента ;-)<br/>
<br/>
Пока начал играться с Groovy и он мне, в принципе, нравится — но возможно, я упускаю что-то существенное, ограничивая себя этим языком?<br/>
<br/>
Всем хабралюдям заранее спасибо за мнения!]]></description>
			
			<pubDate>Thu, 07 Jan 2010 10:00:25 GMT</pubDate>
			<author>sigizmund</author>
			<category>jython</category><category>jruby</category><category>groovy</category><category>jvm</category><category>components</category>
		</item>
		
		
		
		
		
		
		
		
	
	
	
	
	
	
	
	

	
</channel>
</rss>

