<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Java on </title>
    <link>https://bzimmer.ziclix.com/tags/java/</link>
    <description>Recent content in Java on </description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Sun, 21 Dec 2025 19:32:21 +0100</lastBuildDate>
    <atom:link href="https://bzimmer.ziclix.com/tags/java/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Been there -- a distributed ExecutorService.</title>
      <link>https://bzimmer.ziclix.com/2008/09/17/been-there-a-distributed-executorservice/</link>
      <pubDate>Wed, 17 Sep 2008 00:00:00 +0000</pubDate>
      <guid>https://bzimmer.ziclix.com/2008/09/17/been-there-a-distributed-executorservice/</guid>
      <description>&lt;p&gt;I happened to run across a new open-source project today I had not previously heard about: &lt;a href=&#34;http://www.hazelcast.com/&#34;&gt;Hazelcast&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;What really piqued my interest was the implementation of a distributed &lt;code&gt;ExecutorService&lt;/code&gt; as I wrote something of similar functionality to façade &lt;a href=&#34;http://www.orbitz.com/&#34;&gt;Orbitz&amp;rsquo;s&lt;/a&gt; Jini infrastructure. The design and implementation solved a couple primary objectives:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;add timeouts to Jini which is unfortunately lacking such a feature&lt;/li&gt;&#xA;&lt;li&gt;bound the number of concurrent requests being processed&lt;/li&gt;&#xA;&lt;li&gt;bound the number of threads created for request processing&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;The design was elegant, imo, because the exact same code worked either client or service-side &amp;ndash; it just mattered which way you twisted your head &amp;ndash; and masked the complexities of both Jini and the &lt;code&gt;ExecutorService&lt;/code&gt;. The timeouts were managed via the &lt;code&gt;Future&lt;/code&gt; and the throttling of requests and threads by configuring the backing &lt;code&gt;Queue&lt;/code&gt; and pool size. Spring wiring entirely hid the remote invocation machinery from the caller. In almost every case there were no code changes and the timeout and throttling features could be turned on and tuned entirely through a configuration change.&lt;/p&gt;</description>
    </item>
    <item>
      <title>QCon 2007 interview.</title>
      <link>https://bzimmer.ziclix.com/2008/05/23/qcon-2007-interview/</link>
      <pubDate>Fri, 23 May 2008 00:00:00 +0000</pubDate>
      <guid>https://bzimmer.ziclix.com/2008/05/23/qcon-2007-interview/</guid>
      <description>&lt;p&gt;The video and transcript of an interview I gave at &lt;a href=&#34;http://qcon.infoq.com/sanfrancisco-2007/speaker/Brian&amp;#43;Zimmer&#34;&gt;QCon 2007&lt;/a&gt; are now &lt;a href=&#34;http://www.infoq.com/interviews/Architecture-Brian-Zimmer&#34;&gt;available&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;This was my first time giving a recorded interview and I&amp;rsquo;m finding it very weird to watch myself talk.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The algorithms behind java.util.concurrent.</title>
      <link>https://bzimmer.ziclix.com/2008/04/24/the-algorithms-behind-javautilconcurrent/</link>
      <pubDate>Thu, 24 Apr 2008 00:00:00 +0000</pubDate>
      <guid>https://bzimmer.ziclix.com/2008/04/24/the-algorithms-behind-javautilconcurrent/</guid>
      <description>&lt;p&gt;From Doug Lea on the &lt;a href=&#34;http://gee.cs.oswego.edu/dl/concurrency-interest/&#34;&gt;concurrency-interest&lt;/a&gt; mailing list, the new book &lt;a href=&#34;http://www.amazon.com/Art-Multiprocessor-Programming-Maurice-Herlihy/dp/0123705916&#34;&gt;The Art of Multiprocessor Programming&lt;/a&gt; is finally available:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;This is by far the best source for explaining the ideas and algorithms underlying java.util.concurrent &amp;ndash; the vast majority of them, plus some others, including a few that may someday appear. It also uses Java/java.util.concurrent to illustrate most concepts. I strongly recommended it.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;While it&amp;rsquo;s a bit pricey, as a heavy user of the &lt;code&gt;java.util.concurrent&lt;/code&gt; package I&amp;rsquo;m interested in reading it. We&amp;rsquo;ve greatly increased the stability and performance of our code by using both the 1.5+ and backport versions and understanding the underlying concepts a bit better might yield even better improvements.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
