<?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 Planet</title>
	<atom:link href="http://blog.swierczyna.eu/javaplanet/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.swierczyna.eu/javaplanet</link>
	<description>O Javie i jej otoczeniu</description>
	<lastBuildDate>Sun, 26 Feb 2012 08:58:01 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9-rare</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Java Singleton</title>
		<link>http://blog.swierczyna.eu/javaplanet/2010/04/java-singleton/</link>
		<comments>http://blog.swierczyna.eu/javaplanet/2010/04/java-singleton/#comments</comments>
		<pubDate>Thu, 15 Apr 2010 15:28:22 +0000</pubDate>
		<dc:creator>seba</dc:creator>
				<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[wzorce projektowe]]></category>

		<guid isPermaLink="false">http://blog.swierczyna.eu/javaplanet/?p=553</guid>
		<description><![CDATA[Wydaje się, że singleton to jeden z prostszych wzorców projektowych. Jednak jego prawidłowa implementacja w języku Java może przysporzyć sporo problemów. Poniżej przedstawiam implementację, która powinna być bezpieczna w środowisku wielowątkowym, a zarazem nadal wydajna.


/**
 * Przykładowa implementacja Singleton w języku Java
 * http://en.wikipedia.org/wiki/Singleton_pattern
 *
 * Dodatkowo wykorzystujemy wzorzce:
 * - http://en.wikipedia.org/wiki/Lazy_initialization
 * - http://en.wikipedia.org/wiki/Double-checked_locking
 [...]]]></description>
		<wfw:commentRss>http://blog.swierczyna.eu/javaplanet/2010/04/java-singleton/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>String literals</title>
		<link>http://blog.swierczyna.eu/javaplanet/2010/04/string-literals/</link>
		<comments>http://blog.swierczyna.eu/javaplanet/2010/04/string-literals/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 08:05:11 +0000</pubDate>
		<dc:creator>seba</dc:creator>
				<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JavaBlackBelt]]></category>

		<guid isPermaLink="false">http://blog.swierczyna.eu/javaplanet/?p=526</guid>
		<description><![CDATA[Ile obiektów może zostać usuniętych przez garbage collector po wykonaniu ostatniej linii poniższego pseudokodu?

String a = &#34;test&#34;;
String b = new String(&#34;test&#34;);
a = b = null;

Prawidłowa odpowiedź to: jedna (obiekt wskazywany przez referencję b)
Wynika to ze specyficznej obsługi typu obiektów typu String:

obiekty typu string są niemodyfikowalne (Immutable),
literały tworzone taki sposób jak &#8220;a&#8221; umieszczane są na etapie [...]]]></description>
		<wfw:commentRss>http://blog.swierczyna.eu/javaplanet/2010/04/string-literals/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mapowanie typów w Toplink JPA</title>
		<link>http://blog.swierczyna.eu/javaplanet/2010/03/mapowanie-typow-jpa-toplink/</link>
		<comments>http://blog.swierczyna.eu/javaplanet/2010/03/mapowanie-typow-jpa-toplink/#comments</comments>
		<pubDate>Fri, 19 Mar 2010 19:02:00 +0000</pubDate>
		<dc:creator>seba</dc:creator>
				<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Toplink]]></category>

		<guid isPermaLink="false">http://blog.swierczyna.eu/javaplanet/?p=410</guid>
		<description><![CDATA[Co zrobić, aby budując system oparty o tradycyjną, relacyjną bazę danych oraz Toplink JPA wykorzystać w pełni siłę języka Java i JPQL? Tak by móc konstruować zapytania typu:

IpAddress ipAddr = new IpAddress(&#34;10.0.0.2&#34;);
TDhcp dhcp = em.createQuery(&#34;SELECT d from TDhcp d WHERE d.ipAddress=:ip&#34;)
          .setParameter(&#34;ip&#34;, ipAddr)
    [...]]]></description>
		<wfw:commentRss>http://blog.swierczyna.eu/javaplanet/2010/03/mapowanie-typow-jpa-toplink/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Maven dependency scopes</title>
		<link>http://blog.swierczyna.eu/javaplanet/2010/03/maven-dependency-scopes/</link>
		<comments>http://blog.swierczyna.eu/javaplanet/2010/03/maven-dependency-scopes/#comments</comments>
		<pubDate>Sat, 06 Mar 2010 08:30:08 +0000</pubDate>
		<dc:creator>seba</dc:creator>
				<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Maven]]></category>

		<guid isPermaLink="false">http://blog.swierczyna.eu/javaplanet/?p=422</guid>
		<description><![CDATA[Maven provides four dependency scopes:

compile: A compile-scope dependency is available in all phases. This is the default value.
provided: A provided dependency is used to compile the application, but will not be deployed. You would use this scope when you expect                [...]]]></description>
		<wfw:commentRss>http://blog.swierczyna.eu/javaplanet/2010/03/maven-dependency-scopes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Toplink wydajność &#8211; encje readonly</title>
		<link>http://blog.swierczyna.eu/javaplanet/2009/12/toplink-readonly-wydajnosc-performance/</link>
		<comments>http://blog.swierczyna.eu/javaplanet/2009/12/toplink-readonly-wydajnosc-performance/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 15:25:46 +0000</pubDate>
		<dc:creator>seba</dc:creator>
				<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Toplink]]></category>

		<guid isPermaLink="false">http://blog.swierczyna.eu/javaplanet/?p=344</guid>
		<description><![CDATA[Jak wiadomo korzystanie z JPA, niesie z sobą bardzo wiele udogodnień, np.: umożliwia w miarę bezbolesne połączenie świata relacyjnego (baza danych) z światem obiektowości (java). Niestety jak każde rozwiązanie tego pociąga za sobą narzut wydajnościowy, szczególnie widoczny w czasie masowych operacji.
Jeśli jednak nasze operacje są typu &#8220;readonly&#8221;, czyli używamy JPA tylko do pozyskiwania encji z [...]]]></description>
		<wfw:commentRss>http://blog.swierczyna.eu/javaplanet/2009/12/toplink-readonly-wydajnosc-performance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Maven automatyzacja tworzenia kolejnych wydań oprogramowania</title>
		<link>http://blog.swierczyna.eu/javaplanet/2009/11/maven-automatyzacja-tagowanie-release-svn/</link>
		<comments>http://blog.swierczyna.eu/javaplanet/2009/11/maven-automatyzacja-tagowanie-release-svn/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 15:12:02 +0000</pubDate>
		<dc:creator>seba</dc:creator>
				<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://blog.swierczyna.eu/javaplanet/?p=262</guid>
		<description><![CDATA[Tworzenie nowych wydań oprogramowania bardzo często idzie w parze z tworzeniem nowych tagów w svn. Aby zautomatyzować ten proces polecam użyć pluginu mavena: maven-release-plugin
Utwórz nowy projekt maven.
$ mvn archetype:generate -DgroupId=com.example -DartifactId=moduleA -Dversion=0.0.1-SNAPSHOT
Umieszczamy projekt w svn w miejscu w tzw &#8220;trunku&#8221;. Dla naszego przykładu będzie to:
https://example.com/workspace/m2versioning/moduleA/trunk
Przygotuj miejsce na tagi w svn:
$ svn mkdir https://example.com/workspace/m2versioning/moduleA/tags
Dodaj odpowiednie wpisy [...]]]></description>
		<wfw:commentRss>http://blog.swierczyna.eu/javaplanet/2009/11/maven-automatyzacja-tagowanie-release-svn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Maven różności</title>
		<link>http://blog.swierczyna.eu/javaplanet/2009/11/maven-roznosci-howto/</link>
		<comments>http://blog.swierczyna.eu/javaplanet/2009/11/maven-roznosci-howto/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 09:53:51 +0000</pubDate>
		<dc:creator>seba</dc:creator>
				<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[Maven]]></category>

		<guid isPermaLink="false">http://blog.swierczyna.eu/javaplanet/?p=258</guid>
		<description><![CDATA[Kilka przydatnych komend mavena. Na razie nie ma ich tutaj zbyt wiele, ale postaram się uzupełniać listę w miarę natykania się na nowe, ciekawe konstrukcje.
 Ręczna instalacja pliku w lokalnym repozytorium Mavena
$ mvn install:install-file \
-DgroupId=eu.swierczyna -DartifactId=swierczyna-core -Dversion=0.5.7 \
-Dpackaging=jar \
-Dfile=/home/seba/NetBeansProjects/ProvisioningCoreLibrary/dist/MyLibrary.jar
Utworzenie nowego projektu:
$ mvn archetype:generate -DgroupId=eu.swierczyna -DartifactId=moduleA -Dversion=0.0.1-SNAPSHOT
Wygenerowanie klienta Webservices JAX-RPC przy użyciu maven2 i axis1.4
http://java.dzone.com/tips/jax-rpc-client-maven2
Uruchomienie programu [...]]]></description>
		<wfw:commentRss>http://blog.swierczyna.eu/javaplanet/2009/11/maven-roznosci-howto/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wdrażanie aplikacji na zdalnym GlassFish przy użyciu Maven2</title>
		<link>http://blog.swierczyna.eu/javaplanet/2009/11/zdalny-deploy-glassfish-maven/</link>
		<comments>http://blog.swierczyna.eu/javaplanet/2009/11/zdalny-deploy-glassfish-maven/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 12:30:34 +0000</pubDate>
		<dc:creator>seba</dc:creator>
				<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[Glassfish]]></category>
		<category><![CDATA[Maven]]></category>

		<guid isPermaLink="false">http://blog.swierczyna.eu/javaplanet/?p=246</guid>
		<description><![CDATA[Aby przeprowadzić deployment aplikacji na zdalnym serwerze GlassFish przy użyciu Mavena, polecam użyć pluginu: asadmin-maven-plugin.
Plugin ten umożliwia wykonywanie, także innych zadań które zazwyczaj wykonywane są z asadmin.

Aby skorzystać z dobrodziejstw pluginu należy dodać odpowiednie wpisy do pliku pom.xml.
Plugin repository:

&#60;pluginRepositories&#62;
   &#60;pluginRepository&#62;
      &#60;id&#62;asadmin-maven-plugin-releases-repository&#60;/id&#62;
      &#60;name&#62;asadmin-maven-plugin-releases-repository&#60;/name&#62;
  [...]]]></description>
		<wfw:commentRss>http://blog.swierczyna.eu/javaplanet/2009/11/zdalny-deploy-glassfish-maven/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rekursywna zmiana uprawnień w Linux</title>
		<link>http://blog.swierczyna.eu/javaplanet/2009/10/rekursywna-zmiana-uprawnien-linux-katalog-plik/</link>
		<comments>http://blog.swierczyna.eu/javaplanet/2009/10/rekursywna-zmiana-uprawnien-linux-katalog-plik/#comments</comments>
		<pubDate>Sat, 31 Oct 2009 09:04:01 +0000</pubDate>
		<dc:creator>seba</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.swierczyna.eu/javaplanet/?p=197</guid>
		<description><![CDATA[Poniżej przykład umożliwiający zmianę uprawnień do wszystkich plików w bieżącym katalogu (oraz podkatalogach), tak aby mógł je czytać dowolny użytkownik. Nadajemy prawa tylko do odczytu.
Aby wykonać do poprawnie musimy przeglądnąć wszystkie podkatalogi rozróżniają pliki i katalogi (katalogi otrzymują 755, a pliki 644). Z pomocą przychodzi polecenie &#8220;find&#8221;.

# Nadaj wszystkim podkatalogom prawo 755
find . -type d [...]]]></description>
		<wfw:commentRss>http://blog.swierczyna.eu/javaplanet/2009/10/rekursywna-zmiana-uprawnien-linux-katalog-plik/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jak rodzi się obiekt</title>
		<link>http://blog.swierczyna.eu/javaplanet/2009/10/jak-rodzi-sie-obiekt-kolejnosc/</link>
		<comments>http://blog.swierczyna.eu/javaplanet/2009/10/jak-rodzi-sie-obiekt-kolejnosc/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 14:30:49 +0000</pubDate>
		<dc:creator>seba</dc:creator>
				<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[scjp]]></category>

		<guid isPermaLink="false">http://blog.swierczyna.eu/javaplanet/?p=172</guid>
		<description><![CDATA[Tytuł trochę przewrotny, ale będzie o tworzeniu nowego obiektu, a dokładniej o tym w jakiej kolejności inicjowane są poszczególne jego elementy


class SuperClass {

	public SuperClass(){
		System.out.println(&#34;Super class Constructor&#34;);
	}

}

public class InitBlocks extends SuperClass{

	private int properties = propInit();

	private int propInit() {
		System.out.println(&#34;properties init&#34;);
		return 1;
	}

	public InitBlocks() {
		System.out.println(&#34;constructor&#34;);
	}

	static {
		System.out.println(&#34;static init block&#34;);
	}

	{
		System.out.println(&#34;instance init block&#34;);
	}

	public static void main(String[] args) {
		System.out.println(&#34;start main&#34;);
		InitBlocks test = new [...]]]></description>
		<wfw:commentRss>http://blog.swierczyna.eu/javaplanet/2009/10/jak-rodzi-sie-obiekt-kolejnosc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

