<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Plumbr blog</title>
	<atom:link href="http://plumbr.eu/blog/feed" rel="self" type="application/rss+xml" />
	<link>http://plumbr.eu/blog</link>
	<description>Plumbr Team on how Java applications use memory and how we develop the Plumbr tool</description>
	<lastBuildDate>Wed, 19 Jun 2013 08:16:27 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.1</generator>
		<item>
		<title>Plumbr 3.0 &#8211; foundation for the future</title>
		<link>http://plumbr.eu/blog/plumbr-3-0-foundation-for-future?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=rss20130619</link>
		<comments>http://plumbr.eu/blog/plumbr-3-0-foundation-for-future#disqus_thread</comments>
		<pubDate>Wed, 19 Jun 2013 07:37:45 +0000</pubDate>
		<dc:creator>Priit Potter</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[3.0]]></category>
		<category><![CDATA[new release]]></category>
		<category><![CDATA[permgen leak solution]]></category>
		<category><![CDATA[plumbr]]></category>
		<category><![CDATA[plumbr 3.0]]></category>
		<category><![CDATA[solution]]></category>

		<guid isPermaLink="false">http://plumbr.eu/blog/?p=1337</guid>
		<description><![CDATA[<p dir="ltr"><a href="http://plumbr.eu/blog/plumbr-3-0-foundation-for-future/furute-concept" rel="attachment wp-att-1339"><img class="alignright size-full wp-image-1339" style="padding-left: 10px;" title="The future of Java" src="http://static.plumbr.eu/blog/wp-content/uploads//2013/06/future-small.jpeg" alt="The future of Java" width="300" height="150" /></a>The first half of 2013 has kept us quite busy. I'm happy to announce that today we are ready to release the first significant result of our work - <a dir="ltr" href="http://www.plumbr.eu">Plumbr</a> version 3.0.</p>
<p dir="ltr">What has changed? The most visible changes are related to usability. Before 3.0, <a href="http://www.plumbr.eu">Plumbr</a> was packaged as a desktop/server software that you needed to install on every workstation separately and the user interface (UI) was limited to that workstation. From today on, <strong><a dir="ltr" href="http://www.plumbr.eu">Plumbr</a> is offered as a Software-as-a-Servise (SaaS) solution</strong>. This means that all your JVMs, performance metrics and leak reports are now gathered in one easily accessible place.</p>
<p dir="ltr">Read on for a more detailed description of the new UI and a sneak peak into Plumbr future releases!</p><br /><br /><a href="http://plumbr.eu/blog/plumbr-3-0-foundation-for-future?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=rss20130619">Continue reading on Plumbr blog</a>]]></description>
		</item>
		<item>
		<title>Why does my Java process consume more memory than Xmx?</title>
		<link>http://plumbr.eu/blog/why-does-my-java-process-consume-more-memory-than-xmx?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=rss20130619</link>
		<comments>http://plumbr.eu/blog/why-does-my-java-process-consume-more-memory-than-xmx#disqus_thread</comments>
		<pubDate>Tue, 18 Jun 2013 08:23:02 +0000</pubDate>
		<dc:creator>Vladimir Šor</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[-Xmx]]></category>
		<category><![CDATA[-XX:MaxPermSize]]></category>
		<category><![CDATA[activity monitory]]></category>
		<category><![CDATA[heap]]></category>
		<category><![CDATA[java heap]]></category>
		<category><![CDATA[java memory consumption]]></category>
		<category><![CDATA[MaxPermSize]]></category>
		<category><![CDATA[metaspace]]></category>
		<category><![CDATA[permgen]]></category>
		<category><![CDATA[pmap]]></category>
		<category><![CDATA[vmmap]]></category>
		<category><![CDATA[Xss]]></category>

		<guid isPermaLink="false">http://plumbr.eu/blog/?p=1324</guid>
		<description><![CDATA[<p dir="ltr"><a href="http://plumbr.eu/blog/?attachment_id=1326" rel="attachment wp-att-1326"><img class="alignright size-full wp-image-1326" title="Java memory" src="http://static.plumbr.eu/blog/wp-content/uploads//2013/06/memory-small.jpg" alt="Java memory" width="300" height="189" /></a>Some of you have been there. You have added <em>-Xmx</em> option to your startup scripts and sat back relaxed knowing that there is no way your Java process is going to eat up more memory than your fine-tuned option had permitted. And then you were up for a nasty surprise. Either by yourself by checking a process table in your development / test box or if things got really bad then by operations who calls you in the middle of the night telling that the 4G memory you had asked for the production is exhausted. And that the application just died.</p>
<p dir="ltr">So what the heck is happening under the hood? Why is the process consuming more memory than you allocated? Is it a bug or something completely normal? Bear with me and I will guide you through what is happening.</p><br /><br /><a href="http://plumbr.eu/blog/why-does-my-java-process-consume-more-memory-than-xmx?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=rss20130619">Continue reading on Plumbr blog</a>]]></description>
		</item>
		<item>
		<title>Plumbr 3.0 beta &#8211; user experience and pricing changes</title>
		<link>http://plumbr.eu/blog/plumbr-3-0-beta-user-experience-and-pricing-changes?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=rss20130619</link>
		<comments>http://plumbr.eu/blog/plumbr-3-0-beta-user-experience-and-pricing-changes#disqus_thread</comments>
		<pubDate>Wed, 05 Jun 2013 13:07:00 +0000</pubDate>
		<dc:creator>Ivo Mägi</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[new release]]></category>
		<category><![CDATA[per jvm pricing]]></category>
		<category><![CDATA[plumbr]]></category>
		<category><![CDATA[plumbr 3.0]]></category>
		<category><![CDATA[plumbr new release]]></category>

		<guid isPermaLink="false">http://plumbr.eu/blog/?p=1295</guid>
		<description><![CDATA[<p dir="ltr"><a href="http://plumbr.eu/blog/plumbr-3-0-beta-user-experience-and-pricing-changes/plumbr" rel="attachment wp-att-1296"><img class="alignright size-full wp-image-1296" title="Plumbr 3.0" src="http://static.plumbr.eu/blog/wp-content/uploads//2013/06/plumbr.png" alt="Plumbr 3.0" width="300" height="207" style="padding-left:10px;" /></a>3.0 release is changing the way you experience <a href="http://www.plumbr.eu">Plumbr</a> in action. We are also about to simplify the pricing in a week along the final 3.0 release. Both of the changes are based on your feedback, thus we expect you to be happy with the changes.</p>
<p>
In order to discover all the new look and feel, <a href="https://portal.plumbr.eu/register">register</a> yourself to get your hands of the latest release and access the new user interface. If you are an existing user, <a href="https://portal.plumbr.eu/sendPasswordResetEmail">generate yourself a password</a> using the same email address you used during the registration.
</p><br /><br /><a href="http://plumbr.eu/blog/plumbr-3-0-beta-user-experience-and-pricing-changes?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=rss20130619">Continue reading on Plumbr blog</a>]]></description>
		</item>
		<item>
		<title>Reducing memory consumption by 20x</title>
		<link>http://plumbr.eu/blog/reducing-memory-consumption-by-20x?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=rss20130619</link>
		<comments>http://plumbr.eu/blog/reducing-memory-consumption-by-20x#disqus_thread</comments>
		<pubDate>Thu, 30 May 2013 11:47:38 +0000</pubDate>
		<dc:creator>Nikita Salnikov-Tarnovski</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://plumbr.eu/blog/?p=1274</guid>
		<description><![CDATA[<a href="http://plumbr.eu/blog/?attachment_id=1279" rel="attachment wp-att-1279"><img src="http://static.plumbr.eu/blog/wp-content/uploads//2013/05/reduce-memory-usage.jpg" alt="Reduce memory use" title="Reduce memory use" width="300" height="200" class="alignright size-full wp-image-1279" /></a><p dir="ltr">This is going to be another story sharing our recent experience with memory-related problems. The case is extracted from a recent customer support case, where we had an issue with an application dying with <em>OutOfMemoryError</em> messages in logs. After running the application with <a href="http://www.plumbr.eu">Plumbr</a> attached we were sure we were not facing a memory leak this time. But something was still terribly wrong.</p>
<p dir="ltr">Lessons learned?</p>
<ul>
	<li dir="ltr">
<p dir="ltr">Do not let integration details cross system boundaries</p>
</li>
	<li dir="ltr">
<p dir="ltr">Redundant data will cost you. Remove it whenever you can.</p>
</li>
	<li dir="ltr">
<p dir="ltr">Primitives are your friends. Know thy tools and learn Trove if you already haven’t</p>
</li>
	<li dir="ltr">
<p dir="ltr">Be aware of the optimizations provided by your JVM</p>
</li>
</ul><br /><br /><a href="http://plumbr.eu/blog/reducing-memory-consumption-by-20x?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=rss20130619">Continue reading on Plumbr blog</a>]]></description>
		</item>
		<item>
		<title>Automating a multi-platform build</title>
		<link>http://plumbr.eu/blog/automating-a-multi-platform-build?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=rss20130619</link>
		<comments>http://plumbr.eu/blog/automating-a-multi-platform-build#disqus_thread</comments>
		<pubDate>Wed, 08 May 2013 08:53:39 +0000</pubDate>
		<dc:creator>Nikita Salnikov-Tarnovski</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ant]]></category>
		<category><![CDATA[artifactory]]></category>
		<category><![CDATA[Automated build]]></category>
		<category><![CDATA[bitbucket]]></category>
		<category><![CDATA[cross platform]]></category>
		<category><![CDATA[gradle]]></category>
		<category><![CDATA[jenkins]]></category>
		<category><![CDATA[multi platform]]></category>
		<category><![CDATA[multi-platform build]]></category>
		<category><![CDATA[proguard]]></category>
		<category><![CDATA[testng]]></category>

		<guid isPermaLink="false">http://plumbr.eu/blog/?p=1260</guid>
		<description><![CDATA[<p dir="ltr"><a href="http://plumbr.eu/blog/?attachment_id=1262" rel="attachment wp-att-1262"><img class="alignright size-full wp-image-1262" style="padding-left: 10px;" title="Automated build" src="http://static.plumbr.eu/blog/wp-content/uploads//2013/05/automated-build.jpg" alt="Automated build" width="300" height="225" /></a>This is the second post in the series describing our development infrastructure. We <a href="http://plumbr.eu/blog/supporting-multiple-platforms-sharing-our-experience">started with</a> describing the external goals related to multi-platform support. <a href="http://plumbr.eu/blog/supporting-multiple-platforms-sharing-our-experience">In the first post</a> we also reasoned why we need to test on different platforms separately. We concluded the post with the fact that instead of “<em>support as many <strong>configurations</strong> as possible</em>”, a lot more feasible goal would be “<em>support as many <strong>users</strong> as possible</em>”. From this customer-facing goal we now extracted internally used development goals:</p>

<ul>
	<li>Automate builds. <a href="http://www.plumbr.eu">Plumbr</a> release has to be built without any manual intervention.</li>
	<li>Automate tests. <a href="http://www.plumbr.eu">Plumbr</a> release has to be verified automatically using different testing techniques ranging from unit to acceptance tests.</li>
	<li>Automate infrastructure. Build infrastructure has to be able to launch and destroy the server instances used to build and test <a href="http://www.plumbr.eu">Plumbr</a> automatically.</li>
	<li>Provide transparency. Whether it is a functionality implemented or bug fixed - we need to know in which versions this change is present. If an exception is thrown, we need to be able to map the obfuscated stacktrace back to the actual source code using the correct version of the obfuscation map.</li>
</ul><br /><br /><a href="http://plumbr.eu/blog/automating-a-multi-platform-build?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=rss20130619">Continue reading on Plumbr blog</a>]]></description>
		</item>
		<item>
		<title>Supporting multiple platforms &#8211; sharing our experience</title>
		<link>http://plumbr.eu/blog/supporting-multiple-platforms-sharing-our-experience?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=rss20130619</link>
		<comments>http://plumbr.eu/blog/supporting-multiple-platforms-sharing-our-experience#disqus_thread</comments>
		<pubDate>Mon, 06 May 2013 09:03:28 +0000</pubDate>
		<dc:creator>Nikita Salnikov-Tarnovski</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[cross platform java]]></category>
		<category><![CDATA[cross platform support]]></category>
		<category><![CDATA[java development infrastructure]]></category>
		<category><![CDATA[java infrastructure]]></category>
		<category><![CDATA[multi platform java]]></category>
		<category><![CDATA[multi platform support]]></category>

		<guid isPermaLink="false">http://plumbr.eu/blog/?p=1231</guid>
		<description><![CDATA[<a href="http://plumbr.eu/blog/?attachment_id=1233" rel="attachment wp-att-1233"><img class="alignright size-full wp-image-1233" style="padding-left: 10px;" title="Cross platform support" src="http://static.plumbr.eu/blog/wp-content/uploads//2013/05/cross-platform.png" alt="Cross platform support" width="300" height="234" /></a>This post is part of our open culture. We do not believe into closed processes, so we decided to share some interesting concepts about our development infrastructure. Or more precisely - how do we support multiple platforms in <a href="http://www.plumbr.eu/">Plumbr</a> development.
<p dir="ltr">
Lets start with our goals in mind. Among other goals we are aiming towards, the one adding vasts amounts of complexity is the number of platforms we need to support. If you have thought that for Java it will all be about <a href="http://en.wikipedia.org/wiki/Write_once,_run_anywhere">Write Once, Run Anywhere</a> then - make a second guess.</p> 
<p dir="ltr">It all falls apart the very same minute you create something truly low-level and optimized to the last possible bit. Suddenly all kind of unexpected small details start to matter, such as the garbage collector selection, minor differences in the classloader implementations or the way JVM vendors have decided to interpret certain parts of the JVM specification.</p><br /><br /><a href="http://plumbr.eu/blog/supporting-multiple-platforms-sharing-our-experience?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=rss20130619">Continue reading on Plumbr blog</a>]]></description>
		</item>
		<item>
		<title>My impressions from JavaOne Russia</title>
		<link>http://plumbr.eu/blog/my-impressions-from-javaone-russia?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=rss20130619</link>
		<comments>http://plumbr.eu/blog/my-impressions-from-javaone-russia#disqus_thread</comments>
		<pubDate>Mon, 29 Apr 2013 08:53:27 +0000</pubDate>
		<dc:creator>Nikita Salnikov-Tarnovski</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[java conference]]></category>
		<category><![CDATA[java conference experience]]></category>
		<category><![CDATA[java conference speaker]]></category>
		<category><![CDATA[javaone]]></category>
		<category><![CDATA[javaone moscow]]></category>
		<category><![CDATA[javaone russia]]></category>

		<guid isPermaLink="false">http://plumbr.eu/blog/?p=1208</guid>
		<description><![CDATA[<a href="http://plumbr.eu/blog/?attachment_id=1219" rel="attachment wp-att-1219"><img src="http://static.plumbr.eu/blog/wp-content/uploads//2013/04/russia.jpg" alt="JavaOne Russia" title="JavaOne Russia" width="300" height="300" class="alignright size-full wp-image-1219" /></a><p/>I have just recently returned from <a href="http://www.oracle.com/javaone/ru-en/index.html">JavaOne Russia</a> conference. JavaOne is one of the biggest and the most known conferences for Java developers. The event held in Moscow draw the attention of about 3,000 participants. I was selected to present their my talk about "Multi-platform Java application development". I will convert that talk into a blog post in near future, stay tuned.
<p/>But what I would like to share with you today are my impressions of this conference. Being a speaker gave me a really good opportunity to see the event from the different angles:<br /><br /><a href="http://plumbr.eu/blog/my-impressions-from-javaone-russia?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=rss20130619">Continue reading on Plumbr blog</a>]]></description>
		</item>
		<item>
		<title>How to create a memory leak</title>
		<link>http://plumbr.eu/blog/how-to-create-a-memory-leak?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=rss20130619</link>
		<comments>http://plumbr.eu/blog/how-to-create-a-memory-leak#disqus_thread</comments>
		<pubDate>Tue, 23 Apr 2013 09:50:30 +0000</pubDate>
		<dc:creator>Ivo Mägi</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[how to create a memory leak]]></category>
		<category><![CDATA[java memory]]></category>
		<category><![CDATA[java memory leak]]></category>
		<category><![CDATA[memory leak]]></category>
		<category><![CDATA[memory leak sample]]></category>
		<category><![CDATA[out of memory]]></category>
		<category><![CDATA[outofmemory]]></category>
		<category><![CDATA[outofmemoryerror]]></category>

		<guid isPermaLink="false">http://plumbr.eu/blog/?p=1151</guid>
		<description><![CDATA[<a href="http://plumbr.eu/blog/?attachment_id=1186" rel="attachment wp-att-1186"><img src="http://static.plumbr.eu/blog/wp-content/uploads//2013/04/leak.jpg" alt="How to create a memory leak" title="How to create a memory leak" width="300" height="400" style="padding-left:10px;" class="alignright size-full wp-image-1186" /></a><p dir="ltr">This is going to be a rather evil post - something you will be googling when you really wish to make someone’s life a misery. In the world of Java development memory leaks are just the type of bugs you would introduce in this case. Days or even weeks of sleepless nights in the office are guaranteed for your victim.</p>
<p dir="ltr">We will describe two leaks in this post. Both of them are easy to understand and reproduce. The leaks   originate from the real world case studies, but for the sake of clarity we have extracted the demo cases to be shorter and simpler for you to grasp.</p> 
<p>But rest assured - after we have both seen and fixed hundreds of leaks - cases similar to those demoed this are more common than you might have expected.</p><br /><br /><a href="http://plumbr.eu/blog/how-to-create-a-memory-leak?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=rss20130619">Continue reading on Plumbr blog</a>]]></description>
		</item>
		<item>
		<title>There is no application server</title>
		<link>http://plumbr.eu/blog/there-is-no-application-server?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=rss20130619</link>
		<comments>http://plumbr.eu/blog/there-is-no-application-server#disqus_thread</comments>
		<pubDate>Thu, 11 Apr 2013 12:07:25 +0000</pubDate>
		<dc:creator>Ivo Mägi</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://plumbr.eu/blog/?p=1101</guid>
		<description><![CDATA[<a href="http://plumbr.eu/blog/there-is-no-application-server/spoon-bend" rel="attachment wp-att-1133"><img src="http://static.plumbr.eu/blog/wp-content/uploads//2013/04/there-is-no-spoon.jpg" alt="There is no spoon" title="There is no spoon" width="300" height="400" class="alignright size-full wp-image-1133" /></a><p dir="ltr">We have recently <a href="http://plumbr.eu/blog/most-popular-application-servers">posted data</a> about application server market share we gathered from the free <a href="http://www.plumbr.eu/">Plumbr</a> deployments. And it resonated well - via different channels we got hundreds of comments and opinions on how to interpret the data.</p> 
<p> But one of the arguments in its different forms kept coming after us through every channel. Whether it took the form of “Tomcat is not an application server” or “This data is irrelevant as it is not focused on real application servers such as <a href="http://www.oracle.com/technetwork/middleware/weblogic/overview/index.html">Weblogic</a> or <a href="http://www-01.ibm.com/software/websphere/">WebSphere</a>”, it just kept surfacing.</p>
<p dir="ltr">I made us wonder - why does Java community have so different opinion abou what actually is an application server. So we decided to shed some light upon the issue. Looking into the most obvious source - namely <a href="http://en.wikipedia.org/wiki/Application_server">Wikipedia</a> - and things do not look too bad:</p><br /><br /><a href="http://plumbr.eu/blog/there-is-no-application-server?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=rss20130619">Continue reading on Plumbr blog</a>]]></description>
		</item>
		<item>
		<title>Most popular memory configurations</title>
		<link>http://plumbr.eu/blog/most-popular-memory-configurations?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=rss20130619</link>
		<comments>http://plumbr.eu/blog/most-popular-memory-configurations#disqus_thread</comments>
		<pubDate>Tue, 26 Mar 2013 11:30:55 +0000</pubDate>
		<dc:creator>Vladimir Šor</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[heap]]></category>
		<category><![CDATA[heap consumption]]></category>
		<category><![CDATA[heap size]]></category>
		<category><![CDATA[java heap statistics]]></category>
		<category><![CDATA[java permgen]]></category>
		<category><![CDATA[java statistics]]></category>
		<category><![CDATA[permgen]]></category>
		<category><![CDATA[permgen size]]></category>

		<guid isPermaLink="false">http://plumbr.eu/blog/?p=1087</guid>
		<description><![CDATA[<p dir="ltr"><a href="http://plumbr.eu/blog/?attachment_id=1090" rel="attachment wp-att-1090"><img class="alignright size-full wp-image-1090" style="padding: bottom:10px;" title="Java memory consumption" src="http://static.plumbr.eu/blog/wp-content/uploads//2013/03/java-memory-consumption1.jpg" alt="Java memory usage" width="300" height="200" /></a>The post is the third in the series where we publish statistical data about the Java installations. The dataset used originates from the free<a href="http://www.plumbr.eu/"> Plumbr</a> installations out there totalling 1,024 different environments we have collected during the past six months.</p>
<p dir="ltr"><a href="http://plumbr.eu/blog/most-popular-java-environments">First post in the series</a> analyzed the foundation - on what OS the JVM is run, whether it is a 32 or 62-bit infrastructure and what JVM vendor and version were used. <a href="http://plumbr.eu/blog/most-popular-application-servers">Second post </a>focused on the different application servers used. The one you are reading now sheds some light upon the heap sizes used by Java applications.</p><br /><br /><a href="http://plumbr.eu/blog/most-popular-memory-configurations?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=rss20130619">Continue reading on Plumbr blog</a>]]></description>
		</item>
		<item>
		<title>We got hacked</title>
		<link>http://plumbr.eu/blog/we-got-hacked?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=rss20130619</link>
		<comments>http://plumbr.eu/blog/we-got-hacked#disqus_thread</comments>
		<pubDate>Fri, 22 Mar 2013 08:56:07 +0000</pubDate>
		<dc:creator>Nikita Salnikov-Tarnovski</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[groovy]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[hacked]]></category>
		<category><![CDATA[hacker]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[java hack]]></category>
		<category><![CDATA[java hacked]]></category>
		<category><![CDATA[jenkins]]></category>
		<category><![CDATA[restore java]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://plumbr.eu/blog/?p=1066</guid>
		<description><![CDATA[<p dir="ltr"><a href="http://plumbr.eu/blog/we-got-hacked/hacker-with-computer-wearing-balaclava" rel="attachment wp-att-1068"><img class="alignright size-full wp-image-1068" style="padding-bottom:10px" title="Java hack" src="http://static.plumbr.eu/blog/wp-content/uploads//2013/03/hacked.jpg" alt="Java hack" width="300" height="199" /></a>Two weeks ago we got hacked. Which was something we have anticipated for the long time - after all, you cannot expect to run a reasonable business and not be a target of some malicious attacks. So as we finally reached our “goal” we had to face the consequences implied.</p>
<p dir="ltr">Full disclosure: no customer data was exposed during the attack and no <a href="http://www.plumbr.eu/">Plumbr</a> executables were harmed during the attack.</p><br /><br /><a href="http://plumbr.eu/blog/we-got-hacked?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=rss20130619">Continue reading on Plumbr blog</a>]]></description>
		</item>
		<item>
		<title>Permgen leak detection polished &#8211; Plumbr 2.1 released</title>
		<link>http://plumbr.eu/blog/permgen-leak-detection-polished-plumbr-2-1-released?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=rss20130619</link>
		<comments>http://plumbr.eu/blog/permgen-leak-detection-polished-plumbr-2-1-released#disqus_thread</comments>
		<pubDate>Thu, 21 Mar 2013 09:11:58 +0000</pubDate>
		<dc:creator>Ivo Mägi</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://plumbr.eu/blog/?p=1049</guid>
		<description><![CDATA[<p dir="ltr"><a href="http://plumbr.eu/blog/?attachment_id=1052" rel="attachment wp-att-1052"><img class="alignright size-full wp-image-1052" style="padding-left: 10px;" title="New Java Version" src="http://static.plumbr.eu/blog/wp-content/uploads//2013/03/new-java-version.jpg" alt="New Java Version" width="300" height="300" /></a>We have both the good and the bad news for you in this version upgrade. The good news is that - we have significantly improved <a href="http://plumbr.eu/blog/what-is-a-permgen-leak">permgen leak</a> detection based on data gathered from the hundreds of reports we have detected since the initial version was launched back in July 2012. Based on the data and feedback we can now say this functionality is matured and stable.</p>
<p dir="ltr">The sad news is also related to the maturity of this functionality - we announce that starting <strong>from April 8th, 2013 the permgen leak reports will no longer be available for free</strong>. So - take the chance while it is still possible, <strong>download <a href="http://plumbr.eu/">Plumbr</a></strong> and get rid of all your existing permgen leaks without us charging you a dime.</p><br /><br /><a href="http://plumbr.eu/blog/permgen-leak-detection-polished-plumbr-2-1-released?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=rss20130619">Continue reading on Plumbr blog</a>]]></description>
		</item>
		<item>
		<title>Most popular application servers</title>
		<link>http://plumbr.eu/blog/most-popular-application-servers?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=rss20130619</link>
		<comments>http://plumbr.eu/blog/most-popular-application-servers#disqus_thread</comments>
		<pubDate>Thu, 14 Mar 2013 09:33:42 +0000</pubDate>
		<dc:creator>Vladimir Šor</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[application servers]]></category>
		<category><![CDATA[GAE]]></category>
		<category><![CDATA[Geronimo]]></category>
		<category><![CDATA[jboss]]></category>
		<category><![CDATA[jetty]]></category>
		<category><![CDATA[most popular application servers]]></category>
		<category><![CDATA[tomcat]]></category>
		<category><![CDATA[weblogic]]></category>
		<category><![CDATA[websphere]]></category>

		<guid isPermaLink="false">http://plumbr.eu/blog/?p=1035</guid>
		<description><![CDATA[<a href="http://plumbr.eu/blog/?attachment_id=1037" rel="attachment wp-att-1037"><img class="alignright size-full wp-image-1037" title="Popular Application Servers" src="http://static.plumbr.eu/blog/wp-content/uploads//2013/03/application-server.jpg" alt="Popular Application Servers" width="300" height="206" /></a>The post is the second post in the series where we publish statistical data about the Java installations. The dataset used originates from the free<a href="http://www.plumbr.eu/"> Plumbr</a> installations out there totalling 1,024 different environments we have collected during the past six months.

<a href="http://plumbr.eu/blog/most-popular-java-environments">First post in the series</a> analyzed the foundation - on what OS the JVM is run, whether it is a 32 or 62-bit infrastructure and what JVM vendor and version were used. In this post we are going to focus on the application servers used.

It proved to be a bit more challenging task than originally expected - the best shot we had towards the goal was to extract it from the bootstrap classpath. With queries similar to “<em>grep -i tomcat classpath.log</em>”.<br /><br /><a href="http://plumbr.eu/blog/most-popular-application-servers?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=rss20130619">Continue reading on Plumbr blog</a>]]></description>
		</item>
		<item>
		<title>Hunting down memory leaks: a case study</title>
		<link>http://plumbr.eu/blog/hunting-down-memory-leaks-a-case-study?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=rss20130619</link>
		<comments>http://plumbr.eu/blog/hunting-down-memory-leaks-a-case-study#disqus_thread</comments>
		<pubDate>Tue, 05 Mar 2013 09:57:22 +0000</pubDate>
		<dc:creator>Nikita Salnikov-Tarnovski</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[classloader]]></category>
		<category><![CDATA[classloader leak]]></category>
		<category><![CDATA[connectionpool]]></category>
		<category><![CDATA[driver]]></category>
		<category><![CDATA[drivermanager]]></category>
		<category><![CDATA[heap]]></category>
		<category><![CDATA[jdbc]]></category>
		<category><![CDATA[memory leak]]></category>
		<category><![CDATA[permgen]]></category>
		<category><![CDATA[permgen leak]]></category>

		<guid isPermaLink="false">http://plumbr.eu/blog/?p=1001</guid>
		<description><![CDATA[<a href="http://plumbr.eu/blog/hunting-down-memory-leaks-a-case-study/the-girl-on-the-background-of-arrows-camouflage" rel="attachment wp-att-1010"><img src="http://static.plumbr.eu/blog/wp-content/uploads//2013/03/hunting.jpg" alt="Searching memory leaks" title="Searching memory leaks" width="300" height="254" style="padding-left:10px" class="alignright size-full wp-image-1010" /></a>A week ago I was asked to fix a problematic webapp suffering from <a href="http://plumbr.eu/blog/what-is-a-memory-leak">memory leaks</a>. How hard can it be, I thought - considering that I have both seen and fixed hundreds of leaks over the past two years or so. 

But this one proved to be a challenge. 12 hours later I had discovered no less than five leaks in the application and had managed to fix four of them. I figured it would be an experience worth sharing. For the impatient ones - all in all I found leaks from
<ul>
	<li><a href="http://www.mysql.com">MySQL</a> drivers launching background threads</li>
	<li><a href="http://docs.oracle.com/javase/7/docs/api/index.html?java/sql/DriverManager.html">java.sql.DriverManager</a> not unloaded on redeploys</li>
	<li><a href="http://jolbox.com/">BoneCP</a> loading resources from the wrong classloaders</li>
	<li><a href="http://docs.oracle.com/javase/7/docs/api/javax/sql/DataSource.html">Datasource</a> registered into a <a href="http://en.wikipedia.org/wiki/Java_Naming_and_Directory_Interface">JNDI</a> tree blocking unloading</li>
	<li><a href="http://en.wikipedia.org/wiki/Connection_pool">Connection pool</a> using finalizers tied to <a href="http://www.google.com">Google’s</a> implementation of reference queue running in a separate thread</li>
</ul><br /><br /><a href="http://plumbr.eu/blog/hunting-down-memory-leaks-a-case-study?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=rss20130619">Continue reading on Plumbr blog</a>]]></description>
		</item>
		<item>
		<title>Most popular Java environments</title>
		<link>http://plumbr.eu/blog/most-popular-java-environments?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=rss20130619</link>
		<comments>http://plumbr.eu/blog/most-popular-java-environments#disqus_thread</comments>
		<pubDate>Wed, 27 Feb 2013 08:09:22 +0000</pubDate>
		<dc:creator>Vladimir Šor</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[java 6]]></category>
		<category><![CDATA[java 7]]></category>
		<category><![CDATA[java popularity]]></category>
		<category><![CDATA[java statistics]]></category>
		<category><![CDATA[java version]]></category>
		<category><![CDATA[jdk 6]]></category>
		<category><![CDATA[jdk 7]]></category>
		<category><![CDATA[popular java version]]></category>

		<guid isPermaLink="false">http://plumbr.eu/blog/?p=981</guid>
		<description><![CDATA[<a href="http://plumbr.eu/blog/?attachment_id=982" rel="attachment wp-att-982"><img class="alignright size-full wp-image-982" style="padding-left:10px;" title="Java version statistics" src="http://static.plumbr.eu/blog/wp-content/uploads//2013/02/java-versions.jpg" alt="Java version statistics" width="300" height="182" /></a>We have now been discovering leaks for more than a year with <a href="http://www.plumbr.eu/">Plumbr</a>. Throughout this time we have gathered anonymous statistics from the free <a href="http://www.plumbr.eu/">Plumbr</a> installations out there. And as we are good guys, we decided to share our discoveries with you.

The post is going to be the first in the forthcoming series. We start with the environments used: if you are interested which is the most popular JVM vendor or JVM version, whether 32bit is more popular architecture than 64bit or whether Windows 8 is more popular than Windows XP - this will all be covered in our post. In the next series we are analyzing the application server market shares and different configuration settings on the JVMs.<br /><br /><a href="http://plumbr.eu/blog/most-popular-java-environments?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=rss20130619">Continue reading on Plumbr blog</a>]]></description>
		</item>
	</channel>
</rss>
