<?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>JAVA Developer</title>
	<atom:link href="http://tomaszmichalak.pl/index.php/feed/" rel="self" type="application/rss+xml" />
	<link>http://tomaszmichalak.pl</link>
	<description>M.Eng Tomasz Michalak</description>
	<lastBuildDate>Tue, 03 May 2011 18:59:34 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Comparing Integer/Long/Short/Float/Double with &#8216;equals&#8217; method.</title>
		<link>http://tomaszmichalak.pl/index.php/2011/05/03/comparing-integerlongshortfloatdouble-with-equals-method/</link>
		<comments>http://tomaszmichalak.pl/index.php/2011/05/03/comparing-integerlongshortfloatdouble-with-equals-method/#comments</comments>
		<pubDate>Tue, 03 May 2011 18:52:48 +0000</pubDate>
		<dc:creator>Tomasz Michalak</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Double]]></category>
		<category><![CDATA[equals]]></category>
		<category><![CDATA[Float]]></category>
		<category><![CDATA[Integer]]></category>
		<category><![CDATA[Long]]></category>
		<category><![CDATA[Short]]></category>

		<guid isPermaLink="false">http://tomaszmichalak.pl/?p=81</guid>
		<description><![CDATA[
Integer i7 = 7;
long l7 = 7L;
System.out.println(i7.equals(l7));

The output will be false. Be careful while comparing digits with &#8216;equals&#8217; method.
Method &#8216;equals&#8217; in Integer class is defined as:

public boolean equals(Object obj) {
	if (obj instanceof Integer) {
	    return value == ((Integer)obj).intValue();
	}
	return false;
}

Variable l7 is unboxed to Long so false is returned.
]]></description>
			<content:encoded><![CDATA[<p><code><br />
Integer i7 = 7;<br />
long l7 = 7L;<br />
System.out.println(i7.equals(l7));<br />
</code><br />
The output will be <strong>false</strong>. Be careful while comparing digits with &#8216;equals&#8217; method.<br />
Method &#8216;equals&#8217; in Integer class is defined as:<br />
<code><br />
public boolean equals(Object obj) {<br />
	if (obj instanceof Integer) {<br />
	    return value == ((Integer)obj).intValue();<br />
	}<br />
	return false;<br />
}<br />
</code><br />
Variable l7 is unboxed to Long so false is returned.</p>
]]></content:encoded>
			<wfw:commentRss>http://tomaszmichalak.pl/index.php/2011/05/03/comparing-integerlongshortfloatdouble-with-equals-method/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Arrays to Lists in Java</title>
		<link>http://tomaszmichalak.pl/index.php/2010/08/03/arrays-to-lists-in-java/</link>
		<comments>http://tomaszmichalak.pl/index.php/2010/08/03/arrays-to-lists-in-java/#comments</comments>
		<pubDate>Tue, 03 Aug 2010 20:29:16 +0000</pubDate>
		<dc:creator>Tomasz Michalak</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Arrays]]></category>
		<category><![CDATA[Lists]]></category>

		<guid isPermaLink="false">http://tomaszmichalak.pl/?p=52</guid>
		<description><![CDATA[Bardzo przydatną funkcją w Javie jest Arrays.asList(). Posiada jednak pewny kontrakt &#8211; zmiany w tablicy są widoczne w liście i na odwrót. Wynika to z faktu, że tworzona lista jest jedynie &#8220;widokiem&#8221; na tablicę &#8211; odwołuje się do tego samego miejsca na stercie. Obrazuje to poniższy przykład:

String&#91;&#93; tablica = new String&#91;&#93; &#123;&#34;1&#34;, &#34;2&#34;, &#34;3&#34;, &#34;4&#34;, [...]]]></description>
			<content:encoded><![CDATA[<p>Bardzo przydatną funkcją w Javie jest <code>Arrays.asList()</code>. Posiada jednak pewny kontrakt &#8211; zmiany w tablicy są widoczne w liście i na odwrót. Wynika to z faktu, że tworzona lista jest jedynie &#8220;widokiem&#8221; na tablicę &#8211; odwołuje się do tego samego miejsca na stercie. Obrazuje to poniższy przykład:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> tablica <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span><span style="color: #0000ff;">&quot;1&quot;</span>, <span style="color: #0000ff;">&quot;2&quot;</span>, <span style="color: #0000ff;">&quot;3&quot;</span>, <span style="color: #0000ff;">&quot;4&quot;</span>, <span style="color: #0000ff;">&quot;5&quot;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
List<span style="color: #339933;">&lt;</span>String<span style="color: #339933;">&gt;</span> list <span style="color: #339933;">=</span> <span style="color: #003399;">Arrays</span>.<span style="color: #006633;">asList</span><span style="color: #009900;">&#40;</span>tablica<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// zmiana elementu </span>
list.<span style="color: #006633;">set</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #0000ff;">&quot;a&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> tab <span style="color: #339933;">:</span> tablica<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">print</span><span style="color: #009900;">&#40;</span>tab <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot; &quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>		
&nbsp;
<span style="color: #666666; font-style: italic;">// dodanie nowego elementu</span>
list.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;6&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> tab <span style="color: #339933;">:</span> tablica<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">print</span><span style="color: #009900;">&#40;</span>tab <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot; &quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Wynikiem powyższych instrukcji jest:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">a <span style="color: #cc66cc;">2</span> <span style="color: #cc66cc;">3</span> <span style="color: #cc66cc;">4</span> <span style="color: #cc66cc;">5</span>
<span style="color: #003399;">UnsupportedOperationException</span></pre></div></div>

<p>Jak widać zmiana elementu listy została odwzorowana również w tablicy, natomiast dodanie elementu do tablicy zakończyło się wyjątkiem. Jest to spowodowane faktem, że lista faktycznie odwołuje się do tablicy, która zaalokowana jest na stercie i jej powiększenie, bez utworzenia nowej tablicy jest niemożliwe.</p>
]]></content:encoded>
			<wfw:commentRss>http://tomaszmichalak.pl/index.php/2010/08/03/arrays-to-lists-in-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wyjątki w Javie</title>
		<link>http://tomaszmichalak.pl/index.php/2010/05/26/wyjatki-w-javie/</link>
		<comments>http://tomaszmichalak.pl/index.php/2010/05/26/wyjatki-w-javie/#comments</comments>
		<pubDate>Wed, 26 May 2010 15:47:47 +0000</pubDate>
		<dc:creator>Tomasz Michalak</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[exceptions]]></category>
		<category><![CDATA[finally]]></category>

		<guid isPermaLink="false">http://tomaszmichalak.pl/?p=47</guid>
		<description><![CDATA[Obsługa wyjątków w Javie]]></description>
			<content:encoded><![CDATA[<p>Często w Javie operuje się na strumieniach danych. Operacje na nich są analogiczne do poniższej metody:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> checkedException<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">throws</span> <span style="color: #003399;">IOException</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;1&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000000; font-weight: bold;">throw</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">IOException</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Exception 1&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">FileNotFoundException</span> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;2&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000000; font-weight: bold;">throw</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">IOException</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Exception 2&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">IOException</span> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;3&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000000; font-weight: bold;">throw</span> e<span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">finally</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;4&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000000; font-weight: bold;">throw</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">IOException</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Exception 4&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>W bloku finally strumienie są zamykane, lecz metoda close() może wyrzucić wyjątek IOException.  Wywołanie poniższej metody:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
    checkedException<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">IOException</span> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>e.<span style="color: #006633;">getMessage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>wypisze na konsoli:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #cc66cc;">1</span>
<span style="color: #cc66cc;">3</span>
<span style="color: #cc66cc;">4</span>
<span style="color: #003399;">Exception</span> <span style="color: #cc66cc;">4</span></pre></div></div>

<p>Można by przypuszczać, że wypisany zostanie &#8220;Exception 1&#8243;, jednak jako ostatni wyrzucony zostaje wyjątek w bloku finally i to on jest przekazywany dalej. Podobna sytuacja dotyczy zwracania wartości w bloku finally.</p>
]]></content:encoded>
			<wfw:commentRss>http://tomaszmichalak.pl/index.php/2010/05/26/wyjatki-w-javie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Collections vs Arrays w Javie</title>
		<link>http://tomaszmichalak.pl/index.php/2010/05/20/collections-vs-arrays-w-javie/</link>
		<comments>http://tomaszmichalak.pl/index.php/2010/05/20/collections-vs-arrays-w-javie/#comments</comments>
		<pubDate>Wed, 19 May 2010 22:34:35 +0000</pubDate>
		<dc:creator>Tomasz Michalak</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Arrays]]></category>
		<category><![CDATA[Collections]]></category>

		<guid isPermaLink="false">http://tomaszmichalak.pl/?p=14</guid>
		<description><![CDATA[Bezpieczeństwo typów dla kolekcji i tablic w Javie.

public class A &#123;
    public String getName&#40;&#41; &#123; return &#34;A&#34;; &#125;
&#160;
    public static void main&#40;String&#91;&#93; args&#41; &#123;
        Set&#60;B&#62; bSet = new LinkedHashSet&#60;B&#62;&#40;&#41;;
        Set&#60;A&#62; aSet = bSet; // THIS [...]]]></description>
			<content:encoded><![CDATA[<p>Bezpieczeństwo typów dla kolekcji i tablic w Javie.</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> A <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #003399;">String</span> getName<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #0000ff;">&quot;A&quot;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> args<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        Set<span style="color: #339933;">&lt;</span>B<span style="color: #339933;">&gt;</span> bSet <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> LinkedHashSet<span style="color: #339933;">&lt;</span>B<span style="color: #339933;">&gt;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        Set<span style="color: #339933;">&lt;</span>A<span style="color: #339933;">&gt;</span> aSet <span style="color: #339933;">=</span> bSet<span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// THIS WILL NOT COMPILE</span>
        aSet.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> C<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        B<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> bTable <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> B<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
        A<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> aTable <span style="color: #339933;">=</span> bTable<span style="color: #339933;">;</span>
        aTable<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> B<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        aTable<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> C<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//ArrayStoreException</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> B <span style="color: #000000; font-weight: bold;">extends</span> A <span style="color: #009900;">&#123;</span>
    @Override
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #003399;">String</span> getName<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #0000ff;">&quot;B&quot;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> C <span style="color: #000000; font-weight: bold;">extends</span> A <span style="color: #009900;">&#123;</span>
    @Override
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #003399;">String</span> getName<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #0000ff;">&quot;C&quot;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Załóżmy, że istnieje możliwość przypisania obiektu LinkedHashSet&lt;B&gt; do zmiennej referencyjnej Set&lt;A&gt;. Na nowej referencji można wywołać metodę aSet.add(new C()), czego skutkiem tego jest dodanie obiektu C (podtypu klasy A) do trzymanego na stercie obiektu LinkedHashSet&lt;B&gt;, co jest błędne. Należy jednocześnie pamiętać, że typy genetyczne są zapominane podczas kompilacji i w rzeczywistości w pamięci istnieje obiekt Map. W związku z powyższym przy próbie rzutowania obiektu LinkedHashSet&lt;B&gt; na Set&lt;A&gt; otrzymujemy błąd kompilacji.</p>
<p>Mając analogiczną sytuację dla tablic nie otrzymujemy żadnego powiadomienia o błędzie od kompilatora podczas rzutowania. Dopiero po uruchomieniu dostajemy wyjątek: ArrayStoreException. Jest on związany z próbą dodania do tablicy niezgodnego typu obiektu. Należy pamiętać, że w momencie tworzenia tablic zapamiętują one swój typ.</p>
<p>Z powyższego przykładu widać, że korzystanie z kolekcji jest bezpieczniejsze niż z tablic.</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 348px; width: 1px; height: 1px; overflow: hidden;"><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<p style="margin-bottom: 0cm; text-decoration: none;" align="LEFT"><span style="font-family: Courier New,monospace;"><span style="font-size: x-small;"><strong><strong><a>ArrayStoreException</a></strong></strong></span></span></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://tomaszmichalak.pl/index.php/2010/05/20/collections-vs-arrays-w-javie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GeeCON 2010</title>
		<link>http://tomaszmichalak.pl/index.php/2010/05/14/geecon-2010/</link>
		<comments>http://tomaszmichalak.pl/index.php/2010/05/14/geecon-2010/#comments</comments>
		<pubDate>Fri, 14 May 2010 21:08:25 +0000</pubDate>
		<dc:creator>Tomasz Michalak</dc:creator>
				<category><![CDATA[GeeCON 2010]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[jdk7]]></category>

		<guid isPermaLink="false">http://decograf.home.pl/blog/?p=3</guid>
		<description><![CDATA[W dniach 13-14 maja odbyła się konferencja GeeCON 2010 poświęcona technologii JAVA.  Wykłady w których miałem okazję uczestniczyć:
13 maja

Object Teams: The Next Dimension of Modularity, Stephan Herrman
Easy to Use Highly Available Java Database  Access, Craig L Russell
The High Availability Non-Stop,  Fault-Tolerant Services Tutorial, Eugene Ciurana
Java in high-performance computing, Dawid Weiss
Gradle &#8211; A Better [...]]]></description>
			<content:encoded><![CDATA[<p>W dniach 13-14 maja odbyła się konferencja <a title="GeeCON" href="http://2010.geecon.org" target="_blank">GeeCON 2010</a> poświęcona technologii JAVA.  Wykłady w których miałem okazję uczestniczyć:</p>
<p><strong>13 maja</strong></p>
<ul>
<li><em>Object Teams: The Next Dimension of Modularity</em>, <strong>Stephan Herrman</strong></li>
<li><em><span>Easy to Use Highly Available Java Database  Access</span></em>, <strong>Craig L Russell</strong></li>
<li><span><em>The High Availability Non-Stop,  Fault-Tolerant Services Tutorial</em>, </span><strong>Eugene Ciurana</strong></li>
<li><span><em>Java in high-performance computing</em>, <strong>Dawid Weiss</strong></span></li>
<li><span><em>Gradle &#8211; A Better Way To Build</em>,<strong> </strong></span><strong>Hans Dockter</strong></li>
<li><span><em>Get &#8216;em before they get you</em>, </span><strong>Vaclav Pech</strong></li>
</ul>
<p><strong>14 maja</strong></p>
<ul>
<li><span><em>Let it crash: using Actors for  fault-tolerance, scalability and concurrency</em>,<strong> </strong></span><strong>Jonas Bonér</strong></li>
<li><span><em>JDK 7 Update</em>, </span><strong>Dalibor Topic</strong></li>
<li><span><em>Squeezing Java Performance: When you need a  little more</em>, </span><strong>Thomas Enebo</strong></li>
<li><span><em>Beyond Agile</em>, </span><strong>Andrea Provaglio</strong><span> </span></li>
<li><span><em>Apache Camel as a DSL for system  integration</em>, </span><strong>Roman Kalukiewicz</strong></li>
<li><span><em>Object Oriented for nonbelievers</em>, </span><strong>Bruno Bossola</strong></li>
<li><span><em>JSR-299 Context and Dependency Injection</em>, </span><strong>Mark Struberg</strong></li>
</ul>
<p>Najciekawsze wykłady poprowadzili: Eugene Ciurana,  Dawid Weiss, Hans Dockter, Dalibor Topic, Roman Kalukiewicz, Bruno Bossola. Konferencja zakończyła się powodzeniem, choć część tematów traktowana była zbyt ogólnie. Najbardziej interesującym tematem okazał się dla mnie Apache Camel, narzędzie pozwalające na integracje wielu serwisów, oparte na EIP (Enterprise Integration Patterns). Dzięki DSL (Domain Specific  Language) przykłady pokazane podczas prezentacji okazały się bardzo zwięzłe i proste do analizy.</p>
]]></content:encoded>
			<wfw:commentRss>http://tomaszmichalak.pl/index.php/2010/05/14/geecon-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

