<?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>Strainu onLine &#187; Java</title>
	<atom:link href="http://www.strainu.ro/category/programming/java/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.strainu.ro</link>
	<description>Blogul unui automatist</description>
	<lastBuildDate>Fri, 28 Oct 2011 15:46:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.5</generator>
		<item>
		<title>Distributed Programming Homeworks</title>
		<link>http://www.strainu.ro/software/35/</link>
		<comments>http://www.strainu.ro/software/35/#comments</comments>
		<pubDate>Sat, 23 Feb 2008 14:36:00 +0000</pubDate>
		<dc:creator>Strainu</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Poli]]></category>

		<guid isPermaLink="false">http://www.strainu.ro/site/?p=452</guid>
		<description><![CDATA[Distributed Programming Homeworks from the Automatics and Computer Science Faculty, UPB, 5th year, prof. Corina Stratan. Themes: Transactional Distributed Object DataBase Management System, RMI (Remote Method Invocation), Plane ticket reservation web service, SSH access using a web interface with JSP/servlets. The software is distributed under CC-GNU GPL license. Download Share and Enjoy:]]></description>
			<content:encoded><![CDATA[<p><strong>Distributed Programming Homeworks</strong> from the Automatics and Computer Science Faculty, UPB, 5th year, prof. Corina Stratan. Themes: Transactional Distributed Object DataBase Management System, RMI (Remote Method Invocation), Plane ticket reservation web service, SSH access using a web interface with JSP/servlets.<br />
<span id="more-452"></span></p>
<p>The software is distributed under <a href="http://creativecommons.org/licenses/GPL/2.0/">CC-GNU GPL license</a>.</p>
<p><a href="http://www.strainu.ro/tracker/downi.php?id=teme_lpd" target="_blank"><strong>Download</strong></a></p>
<div class='sociable'><div><span class='sociable-tagline'><strong>Share and Enjoy:</strong></span></div><ul><li><a rel="nofollow" target="_blank"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.strainu.ro%2Fsoftware%2F35%2F&amp;t=Distributed%20Programming%20Homeworks" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/facebook.png" class="sociable-img sociable-hovers" title="Facebook" alt="Facebook" /></a></li><li><a rel="nofollow" target="_blank"  href="http://twitter.com/home?status=Distributed%20Programming%20Homeworks%20-%20http%3A%2F%2Fwww.strainu.ro%2Fsoftware%2F35%2F" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/twitter.png" class="sociable-img sociable-hovers" title="Twitter" alt="Twitter" /></a></li><li><a rel="nofollow" target="_blank"  href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Fwww.strainu.ro%2Fsoftware%2F35%2F" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/identica.png" class="sociable-img sociable-hovers" title="Identi.ca" alt="Identi.ca" /></a></li><li><a rel="nofollow" target="_blank"  href="mailto:?subject=Distributed%20Programming%20Homeworks&amp;body=http%3A%2F%2Fwww.strainu.ro%2Fsoftware%2F35%2F" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/email_link.png" class="sociable-img sociable-hovers" title="email" alt="email" /></a></li><li><a rel="nofollow" target="_blank" title="Add to favorites" href="#" onclick="AddToFavorites(); return false;"><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/addtofavorites.png" class="sociable-img sociable-hovers" title="Add to favorites" alt="Add to favorites" /></a></li><li><a rel="nofollow" target="_blank"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.strainu.ro%2Fsoftware%2F35%2F&amp;title=Distributed%20Programming%20Homeworks&amp;bodytext=Distributed%20Programming%20Homeworks%20from%20the%20Automatics%20and%20Computer%20Science%20Faculty%2C%20UPB%2C%205th%20year%2C%20prof.%20Corina%20Stratan.%20Themes%3A%20Transactional%20Distributed%20Object%20DataBase%20Management%20System%2C%20RMI%20%28Remote%20Method%20Invocation%29%2C%20Plane%20ticket%20reservation%20web" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/digg.png" class="sociable-img sociable-hovers" title="Digg" alt="Digg" /></a></li><li><a rel="nofollow" target="_blank"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.strainu.ro%2Fsoftware%2F35%2F&amp;title=Distributed%20Programming%20Homeworks" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/stumbleupon.png" class="sociable-img sociable-hovers" title="StumbleUpon" alt="StumbleUpon" /></a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.strainu.ro/software/35/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Network Programming Homeworks</title>
		<link>http://www.strainu.ro/software/34/</link>
		<comments>http://www.strainu.ro/software/34/#comments</comments>
		<pubDate>Sat, 23 Feb 2008 14:16:46 +0000</pubDate>
		<dc:creator>Strainu</dc:creator>
				<category><![CDATA[C]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[C/C++]]></category>

		<guid isPermaLink="false">http://www.strainu.ro/site/?p=450</guid>
		<description><![CDATA[Network Programming Homeworks from the Automatics and Computer Science Faculty, UPB, 5th year, prof. Valentin Cristea. The archive contains a homework made in Java. Themes: RPC (Remote Procedure Call), Sorting trees using MPI, Secure chat server in JAVA, Bidding system using CORBA. The software is distributed under CC-GNU GPL license. Download Share and Enjoy:]]></description>
			<content:encoded><![CDATA[<p><strong>Network Programming Homeworks</strong> from the Automatics and Computer Science Faculty, UPB, 5th year, prof. Valentin Cristea. The archive contains a homework made in Java. Themes: RPC (Remote Procedure Call), Sorting trees using MPI, Secure chat server in JAVA, Bidding system using CORBA.<br />
<span id="more-450"></span></p>
<p>The software is distributed under <a href="http://creativecommons.org/licenses/GPL/2.0/">CC-GNU GPL license</a>.</p>
<p><a href="http://www.strainu.ro/tracker/downi.php?id=teme_sprc" target="_blank"><strong>Download</strong></a></p>
<div class='sociable'><div><span class='sociable-tagline'><strong>Share and Enjoy:</strong></span></div><ul><li><a rel="nofollow" target="_blank"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.strainu.ro%2Fsoftware%2F34%2F&amp;t=Network%20Programming%20Homeworks" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/facebook.png" class="sociable-img sociable-hovers" title="Facebook" alt="Facebook" /></a></li><li><a rel="nofollow" target="_blank"  href="http://twitter.com/home?status=Network%20Programming%20Homeworks%20-%20http%3A%2F%2Fwww.strainu.ro%2Fsoftware%2F34%2F" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/twitter.png" class="sociable-img sociable-hovers" title="Twitter" alt="Twitter" /></a></li><li><a rel="nofollow" target="_blank"  href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Fwww.strainu.ro%2Fsoftware%2F34%2F" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/identica.png" class="sociable-img sociable-hovers" title="Identi.ca" alt="Identi.ca" /></a></li><li><a rel="nofollow" target="_blank"  href="mailto:?subject=Network%20Programming%20Homeworks&amp;body=http%3A%2F%2Fwww.strainu.ro%2Fsoftware%2F34%2F" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/email_link.png" class="sociable-img sociable-hovers" title="email" alt="email" /></a></li><li><a rel="nofollow" target="_blank" title="Add to favorites" href="#" onclick="AddToFavorites(); return false;"><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/addtofavorites.png" class="sociable-img sociable-hovers" title="Add to favorites" alt="Add to favorites" /></a></li><li><a rel="nofollow" target="_blank"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.strainu.ro%2Fsoftware%2F34%2F&amp;title=Network%20Programming%20Homeworks&amp;bodytext=Network%20Programming%20Homeworks%20from%20the%20Automatics%20and%20Computer%20Science%20Faculty%2C%20UPB%2C%205th%20year%2C%20prof.%20Valentin%20Cristea.%20The%20archive%20contains%20a%20homework%20made%20in%20Java.%20Themes%3A%20RPC%20%28Remote%20Procedure%20Call%29%2C%20Sorting%20trees%20using%20MPI%2C%20Secure%20chat%20server%20in%20J" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/digg.png" class="sociable-img sociable-hovers" title="Digg" alt="Digg" /></a></li><li><a rel="nofollow" target="_blank"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.strainu.ro%2Fsoftware%2F34%2F&amp;title=Network%20Programming%20Homeworks" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/stumbleupon.png" class="sociable-img sociable-hovers" title="StumbleUpon" alt="StumbleUpon" /></a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.strainu.ro/software/34/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Parallel Algorithms Homeworks</title>
		<link>http://www.strainu.ro/software/33/</link>
		<comments>http://www.strainu.ro/software/33/#comments</comments>
		<pubDate>Sat, 23 Feb 2008 14:06:02 +0000</pubDate>
		<dc:creator>Strainu</dc:creator>
				<category><![CDATA[C]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[C/C++]]></category>

		<guid isPermaLink="false">http://www.strainu.ro/site/?p=448</guid>
		<description><![CDATA[Parallel Algorithms Homeworks from the Automatics and Computer Science Faculty, UPB, 5th year, prof. Valentin Cristea. The archive contains a homework made in Java. Themes: Parallel Game of Life with OpenMP, Sudoku with Replicated Workers, image manipulation (filters, Huffman coding), routing tables. The software is distributed under CC-GNU GPL license. Download Share and Enjoy:]]></description>
			<content:encoded><![CDATA[<p><strong>Parallel Algorithms Homeworks</strong> from the Automatics and Computer Science Faculty, UPB, 5th year, prof. Valentin Cristea. The archive contains a homework made in Java. Themes: Parallel Game of Life with OpenMP, Sudoku with Replicated Workers, image manipulation (filters, Huffman coding), routing tables.<br />
<span id="more-448"></span></p>
<p>The software is distributed under <a href="http://creativecommons.org/licenses/GPL/2.0/">CC-GNU GPL license</a>.</p>
<p><a href="http://www.strainu.ro/tracker/downi.php?id=teme_app" target="_blank"><strong>Download</strong></a> </p>
<div class='sociable'><div><span class='sociable-tagline'><strong>Share and Enjoy:</strong></span></div><ul><li><a rel="nofollow" target="_blank"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.strainu.ro%2Fsoftware%2F33%2F&amp;t=Parallel%20Algorithms%20Homeworks" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/facebook.png" class="sociable-img sociable-hovers" title="Facebook" alt="Facebook" /></a></li><li><a rel="nofollow" target="_blank"  href="http://twitter.com/home?status=Parallel%20Algorithms%20Homeworks%20-%20http%3A%2F%2Fwww.strainu.ro%2Fsoftware%2F33%2F" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/twitter.png" class="sociable-img sociable-hovers" title="Twitter" alt="Twitter" /></a></li><li><a rel="nofollow" target="_blank"  href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Fwww.strainu.ro%2Fsoftware%2F33%2F" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/identica.png" class="sociable-img sociable-hovers" title="Identi.ca" alt="Identi.ca" /></a></li><li><a rel="nofollow" target="_blank"  href="mailto:?subject=Parallel%20Algorithms%20Homeworks&amp;body=http%3A%2F%2Fwww.strainu.ro%2Fsoftware%2F33%2F" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/email_link.png" class="sociable-img sociable-hovers" title="email" alt="email" /></a></li><li><a rel="nofollow" target="_blank" title="Add to favorites" href="#" onclick="AddToFavorites(); return false;"><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/addtofavorites.png" class="sociable-img sociable-hovers" title="Add to favorites" alt="Add to favorites" /></a></li><li><a rel="nofollow" target="_blank"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.strainu.ro%2Fsoftware%2F33%2F&amp;title=Parallel%20Algorithms%20Homeworks&amp;bodytext=Parallel%20Algorithms%20Homeworks%20from%20the%20Automatics%20and%20Computer%20Science%20Faculty%2C%20UPB%2C%205th%20year%2C%20prof.%20Valentin%20Cristea.%20The%20archive%20contains%20a%20homework%20made%20in%20Java.%20Themes%3A%20Parallel%20Game%20of%20Life%20with%20OpenMP%2C%20Sudoku%20with%20Replicated%20Workers%2C%20image%20mani" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/digg.png" class="sociable-img sociable-hovers" title="Digg" alt="Digg" /></a></li><li><a rel="nofollow" target="_blank"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.strainu.ro%2Fsoftware%2F33%2F&amp;title=Parallel%20Algorithms%20Homeworks" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/stumbleupon.png" class="sociable-img sociable-hovers" title="StumbleUpon" alt="StumbleUpon" /></a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.strainu.ro/software/33/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Serialization with non-blocking sockets</title>
		<link>http://www.strainu.ro/programming/java/using-serialization-with-non-blocking-sockets/</link>
		<comments>http://www.strainu.ro/programming/java/using-serialization-with-non-blocking-sockets/#comments</comments>
		<pubDate>Sun, 11 Nov 2007 12:43:48 +0000</pubDate>
		<dc:creator>Strainu</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://blog.strainu.ro/personal/using-serialization-with-non-blocking-sockets/</guid>
		<description><![CDATA[The most common way to make a server in Java is to create a thread pool and associate each request with a thread. Java5 offers a special class called Executor that can help you with the task. However, if you ever needed to make a server which can handle thousands of connections, you know this [...]]]></description>
			<content:encoded><![CDATA[<p>The most common way to make a server in Java is to create a thread pool and associate each request with a thread. Java5 offers a special class called Executor that can help you with the task. However, if you ever needed to make a server which can handle thousands of connections, you know this solution doesn&#8217;t scale very well. Most processors can&#8217;t handle more than a few hundreds of threads.<br />
The solution is to use non-blocking sockets, a feature introduced in java 1.4 (the <em>java.nio</em> package). However, this has an important drawback: you can&#8217;t use the <em>getInputStream()</em>, <em>getOutputStream()</em> functions from the <em>Socket</em> class to serialize objects. The reason is simple: with non-blocking sockets, there is no way the system can guarantee that the whole object has been sent/received.<br />
You can however &#8220;trick&#8221; the virtual machine by using explicit Streams. You have a simple example below. We try to send an object with the <em>Message</em> type.</p>
<ul>
<li> The sending end
<div class="codecolorer-container java5 default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="java5 codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Message outgoingMessage<span style="color: #339933;">;</span><br />
<a href="http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/nio/channels/SocketChannel.html"><span style="color: #003399; font-weight: bold;">SocketChannel</span></a> socketChannel<span style="color: #339933;">;</span><br />
<span style="color: #666666; font-style: italic;">//we open the channel and connect</span><br />
<a href="http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/io/ByteArrayOutputStream.html"><span style="color: #003399; font-weight: bold;">ByteArrayOutputStream</span></a> byteArrayOutputStream = <span style="color: #000000; font-weight: bold;">new</span> <a href="http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/io/ByteArrayOutputStream.html"><span style="color: #003399; font-weight: bold;">ByteArrayOutputStream</span></a><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<a href="http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/io/ObjectOutputStream.html"><span style="color: #003399; font-weight: bold;">ObjectOutputStream</span></a> objectOutputStream = <span style="color: #000000; font-weight: bold;">new</span> <a href="http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/io/ObjectOutputStream.html"><span style="color: #003399; font-weight: bold;">ObjectOutputStream</span></a><span style="color: #009900;">&#40;</span>byteArrayOutputStream<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
objectOutputStream.<span style="color: #006633;">writeObject</span><span style="color: #009900;">&#40;</span>outgoingMessage<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
objectOutputStream.<span style="color: #006633;">flush</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
socketChannel.<span style="color: #006633;">write</span><span style="color: #009900;">&#40;</span><a href="http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/nio/ByteBuffer.html"><span style="color: #003399; font-weight: bold;">ByteBuffer</span></a>.<span style="color: #006633;">wrap</span><span style="color: #009900;">&#40;</span>byteArrayOutputStream.<span style="color: #006633;">toByteArray</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></div>
</li>
<li>The receiving end
<div class="codecolorer-container java5 default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="java5 codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><a href="http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/nio/channels/SocketChannel.html"><span style="color: #003399; font-weight: bold;">SocketChannel</span></a> socketChannel<span style="color: #339933;">;</span><br />
<a href="http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/nio/ByteBuffer.html"><span style="color: #003399; font-weight: bold;">ByteBuffer</span></a> data<span style="color: #339933;">;</span><br />
<span style="color: #666666; font-style: italic;">//we open the channel and connect</span><br />
socketChannel.<span style="color: #006633;">read</span><span style="color: #009900;">&#40;</span>data<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<a href="http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/io/ByteArrayInputStream.html"><span style="color: #003399; font-weight: bold;">ByteArrayInputStream</span></a> byteArrayInputStream = <span style="color: #000000; font-weight: bold;">new</span> <a href="http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/io/ByteArrayInputStream.html"><span style="color: #003399; font-weight: bold;">ByteArrayInputStream</span></a><span style="color: #009900;">&#40;</span>data.<span style="color: #006633;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<a href="http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/io/ObjectInputStream.html"><span style="color: #003399; font-weight: bold;">ObjectInputStream</span></a> objectInputStream = <span style="color: #000000; font-weight: bold;">new</span> <a href="http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/io/ObjectInputStream.html"><span style="color: #003399; font-weight: bold;">ObjectInputStream</span></a><span style="color: #009900;">&#40;</span>byteArrayInputStream<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
Message message = <span style="color: #009900;">&#40;</span>Message<span style="color: #009900;">&#41;</span>objectInputStream.<span style="color: #006633;">readObject</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></div>
</li>
</ul>
<p>The code works if you receive the whole object or more than one object (the <em>readObject()</em> function reads exactly one object). However, I had some issues with reconstructing the object if it arrived in multiple pieces. Any suggestions on that part would be useful.<br />
Here are some resources that I found useful: <a href="http://forum.java.sun.com/thread.jspa?threadID=449283&amp;messageID=2040791">a discussion at forum.java.sun.com</a> and <a href="http://72.14.253.104/search?q=cache:AqqjTGiVNO0J:www.theserverside.com/discussions/thread.tss%3Fthread_id%3D21568+Using+Serialization+with+non-blocking+sockets+java&amp;hl=ro&amp;client=firefox-a&amp;gl=ro&amp;strip=1"> another discution about the subject</a>.</p>
<div class='sociable'><div><span class='sociable-tagline'><strong>Share and Enjoy:</strong></span></div><ul><li><a rel="nofollow" target="_blank"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.strainu.ro%2Fprogramming%2Fjava%2Fusing-serialization-with-non-blocking-sockets%2F&amp;t=Using%20Serialization%20with%20non-blocking%20sockets" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/facebook.png" class="sociable-img sociable-hovers" title="Facebook" alt="Facebook" /></a></li><li><a rel="nofollow" target="_blank"  href="http://twitter.com/home?status=Using%20Serialization%20with%20non-blocking%20sockets%20-%20http%3A%2F%2Fwww.strainu.ro%2Fprogramming%2Fjava%2Fusing-serialization-with-non-blocking-sockets%2F" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/twitter.png" class="sociable-img sociable-hovers" title="Twitter" alt="Twitter" /></a></li><li><a rel="nofollow" target="_blank"  href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Fwww.strainu.ro%2Fprogramming%2Fjava%2Fusing-serialization-with-non-blocking-sockets%2F" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/identica.png" class="sociable-img sociable-hovers" title="Identi.ca" alt="Identi.ca" /></a></li><li><a rel="nofollow" target="_blank"  href="mailto:?subject=Using%20Serialization%20with%20non-blocking%20sockets&amp;body=http%3A%2F%2Fwww.strainu.ro%2Fprogramming%2Fjava%2Fusing-serialization-with-non-blocking-sockets%2F" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/email_link.png" class="sociable-img sociable-hovers" title="email" alt="email" /></a></li><li><a rel="nofollow" target="_blank" title="Add to favorites" href="#" onclick="AddToFavorites(); return false;"><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/addtofavorites.png" class="sociable-img sociable-hovers" title="Add to favorites" alt="Add to favorites" /></a></li><li><a rel="nofollow" target="_blank"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.strainu.ro%2Fprogramming%2Fjava%2Fusing-serialization-with-non-blocking-sockets%2F&amp;title=Using%20Serialization%20with%20non-blocking%20sockets&amp;bodytext=The%20most%20common%20way%20to%20make%20a%20server%20in%20Java%20is%20to%20create%20a%20thread%20pool%20and%20associate%20each%20request%20with%20a%20thread.%20Java5%20offers%20a%20special%20class%20called%20Executor%20that%20can%20help%20you%20with%20the%20task.%20However%2C%20if%20you%20ever%20needed%20to%20make%20a%20server%20which%20can%20han" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/digg.png" class="sociable-img sociable-hovers" title="Digg" alt="Digg" /></a></li><li><a rel="nofollow" target="_blank"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.strainu.ro%2Fprogramming%2Fjava%2Fusing-serialization-with-non-blocking-sockets%2F&amp;title=Using%20Serialization%20with%20non-blocking%20sockets" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/stumbleupon.png" class="sociable-img sociable-hovers" title="StumbleUpon" alt="StumbleUpon" /></a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.strainu.ro/programming/java/using-serialization-with-non-blocking-sockets/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Call by sharing</title>
		<link>http://www.strainu.ro/programming/java/call-by-sharing/</link>
		<comments>http://www.strainu.ro/programming/java/call-by-sharing/#comments</comments>
		<pubDate>Fri, 15 Jun 2007 17:23:26 +0000</pubDate>
		<dc:creator>Strainu</dc:creator>
				<category><![CDATA[Functional Programming]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://blog.strainu.ro/personal/call-by-sharing/</guid>
		<description><![CDATA[In a previous article, I was saying trying to convince you that Java passes its parameters by value. Although this is the most widely-spread name for the action of passing references to objects, some experts have a different opinion. They name this parameter-passing technique &#8220;call by object&#8221; or &#8220;call by sharing&#8220;. The only programming language [...]]]></description>
			<content:encoded><![CDATA[<p>In a <a href="http://codertricks.strainu.ro/java/2007/05/02/why-java-sends-parameters-by-value/" target="_blank">previous article</a>, I was <strike>saying</strike> trying to convince you that Java passes its parameters by value. Although this is the most widely-spread name for the action of passing references to objects, some experts have a different opinion. They name this parameter-passing technique &#8220;<a href="http://effbot.org/zone/call-by-object.htm" target="_blank">call by object</a>&#8221; or &#8220;<a href="http://cs.pub.ro/~pf/Curs/Lecture04.pdf" target="_blank">call by sharing</a>&#8220;.</p>
<p>The only programming language that openly uses that name is <a href="http://www.cacs.louisiana.edu/~mgr/404/burks/foldoc/72/20.htm" target="_blank">CLU</a>, however one must note that languages like LISP, Scheme, Python or Java use the same technique. You can find a short study on the subject <a href="http://mail.python.org/pipermail/python-list/2000-July/046027.html  " target="_blank">in the python mailing list archives</a>.</p>
<div class='sociable'><div><span class='sociable-tagline'><strong>Share and Enjoy:</strong></span></div><ul><li><a rel="nofollow" target="_blank"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.strainu.ro%2Fprogramming%2Fjava%2Fcall-by-sharing%2F&amp;t=Call%20by%20sharing" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/facebook.png" class="sociable-img sociable-hovers" title="Facebook" alt="Facebook" /></a></li><li><a rel="nofollow" target="_blank"  href="http://twitter.com/home?status=Call%20by%20sharing%20-%20http%3A%2F%2Fwww.strainu.ro%2Fprogramming%2Fjava%2Fcall-by-sharing%2F" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/twitter.png" class="sociable-img sociable-hovers" title="Twitter" alt="Twitter" /></a></li><li><a rel="nofollow" target="_blank"  href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Fwww.strainu.ro%2Fprogramming%2Fjava%2Fcall-by-sharing%2F" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/identica.png" class="sociable-img sociable-hovers" title="Identi.ca" alt="Identi.ca" /></a></li><li><a rel="nofollow" target="_blank"  href="mailto:?subject=Call%20by%20sharing&amp;body=http%3A%2F%2Fwww.strainu.ro%2Fprogramming%2Fjava%2Fcall-by-sharing%2F" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/email_link.png" class="sociable-img sociable-hovers" title="email" alt="email" /></a></li><li><a rel="nofollow" target="_blank" title="Add to favorites" href="#" onclick="AddToFavorites(); return false;"><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/addtofavorites.png" class="sociable-img sociable-hovers" title="Add to favorites" alt="Add to favorites" /></a></li><li><a rel="nofollow" target="_blank"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.strainu.ro%2Fprogramming%2Fjava%2Fcall-by-sharing%2F&amp;title=Call%20by%20sharing&amp;bodytext=In%20a%20previous%20article%2C%20I%20was%20saying%20trying%20to%20convince%20you%20that%20Java%20passes%20its%20parameters%20by%20value.%20Although%20this%20is%20the%20most%20widely-spread%20name%20for%20the%20action%20of%20passing%20references%20to%20objects%2C%20some%20experts%20have%20a%20different%20opinion.%20They%20name%20this%20p" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/digg.png" class="sociable-img sociable-hovers" title="Digg" alt="Digg" /></a></li><li><a rel="nofollow" target="_blank"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.strainu.ro%2Fprogramming%2Fjava%2Fcall-by-sharing%2F&amp;title=Call%20by%20sharing" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/stumbleupon.png" class="sociable-img sociable-hovers" title="StumbleUpon" alt="StumbleUpon" /></a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.strainu.ro/programming/java/call-by-sharing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why Java sends the parameters by value</title>
		<link>http://www.strainu.ro/programming/java/why-java-sends-the-parameters-by-value/</link>
		<comments>http://www.strainu.ro/programming/java/why-java-sends-the-parameters-by-value/#comments</comments>
		<pubDate>Wed, 02 May 2007 09:10:20 +0000</pubDate>
		<dc:creator>Strainu</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://blog.strainu.ro/personal/why-java-sends-the-parameters-by-value/</guid>
		<description><![CDATA[Some students learn that parameter passing in Java is done by reference. In fact, Java only sends parameters by value, and those parameters are either primitive types or references, never actual objects. If you define a variable in Java which is not in a primitive type, you actually define a reference. So, when you write [...]]]></description>
			<content:encoded><![CDATA[<p>Some students learn that parameter passing in Java is done by reference. In fact, Java only sends parameters by value, and those parameters are either primitive types or references, never actual objects. If you define a variable in Java which is not in a primitive type, you actually define a reference. So, when you write</p>
<div class="codecolorer-container java default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="java codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aobject+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Object</span></a> a <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aobject+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Object</span></a><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></div>
<p>what happens is that <strong>a</strong> is a reference and its value is actually the address of the heap area containing the object.</p>
<p>Now, let&#8217;s say you have something like:</p>
<div class="codecolorer-container java default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="java codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000066; font-weight: bold;">void</span> aFunction<span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aobject+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Object</span></a> b<span style="color: #009900;">&#41;</span><br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; b <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;blah&quot;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
....................................................<br />
<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aobject+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Object</span></a> a <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aobject+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Object</span></a><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//we define a as a new object</span><br />
aFunction<span style="color: #009900;">&#40;</span>a<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//we call the function</span><br />
<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>a.<span style="color: #006633;">toString</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: #666666; font-style: italic;">//NOT &quot;blah&quot;</span></div></div>
<p>What happens here is that the function aFunction receives <strong>a</strong> as an actual parameter, it copies the parameter&#8217;s value (which is an address, NOT the object you created with <em>new</em>) and then modifies <em>the copy</em>. Of course, <strong>a</strong> still has the unchanged value when aFunction returns.</p>
<p>Some people argue that this is passing by reference, because the object that <strong>a</strong> points to can be changed. This is true, however, as we&#8217;ve seen, the object is not passed as a parameter.</p>
<p>You can find a formal analysis of this subject <a href="http://www.yoda.arachsys.com/java/passing.html#formal">here</a>.</p>
<div class='sociable'><div><span class='sociable-tagline'><strong>Share and Enjoy:</strong></span></div><ul><li><a rel="nofollow" target="_blank"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.strainu.ro%2Fprogramming%2Fjava%2Fwhy-java-sends-the-parameters-by-value%2F&amp;t=Why%20Java%20sends%20the%20parameters%20by%20value" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/facebook.png" class="sociable-img sociable-hovers" title="Facebook" alt="Facebook" /></a></li><li><a rel="nofollow" target="_blank"  href="http://twitter.com/home?status=Why%20Java%20sends%20the%20parameters%20by%20value%20-%20http%3A%2F%2Fwww.strainu.ro%2Fprogramming%2Fjava%2Fwhy-java-sends-the-parameters-by-value%2F" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/twitter.png" class="sociable-img sociable-hovers" title="Twitter" alt="Twitter" /></a></li><li><a rel="nofollow" target="_blank"  href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Fwww.strainu.ro%2Fprogramming%2Fjava%2Fwhy-java-sends-the-parameters-by-value%2F" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/identica.png" class="sociable-img sociable-hovers" title="Identi.ca" alt="Identi.ca" /></a></li><li><a rel="nofollow" target="_blank"  href="mailto:?subject=Why%20Java%20sends%20the%20parameters%20by%20value&amp;body=http%3A%2F%2Fwww.strainu.ro%2Fprogramming%2Fjava%2Fwhy-java-sends-the-parameters-by-value%2F" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/email_link.png" class="sociable-img sociable-hovers" title="email" alt="email" /></a></li><li><a rel="nofollow" target="_blank" title="Add to favorites" href="#" onclick="AddToFavorites(); return false;"><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/addtofavorites.png" class="sociable-img sociable-hovers" title="Add to favorites" alt="Add to favorites" /></a></li><li><a rel="nofollow" target="_blank"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.strainu.ro%2Fprogramming%2Fjava%2Fwhy-java-sends-the-parameters-by-value%2F&amp;title=Why%20Java%20sends%20the%20parameters%20by%20value&amp;bodytext=Some%20students%20learn%20that%20parameter%20passing%20in%20Java%20is%20done%20by%20reference.%20In%20fact%2C%20Java%20only%20sends%20parameters%20by%20value%2C%20and%20those%20parameters%20are%20either%20primitive%20types%20or%20references%2C%20never%20actual%20objects.%20If%20you%20define%20a%20variable%20in%20Java%20which%20is%20not%20" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/digg.png" class="sociable-img sociable-hovers" title="Digg" alt="Digg" /></a></li><li><a rel="nofollow" target="_blank"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.strainu.ro%2Fprogramming%2Fjava%2Fwhy-java-sends-the-parameters-by-value%2F&amp;title=Why%20Java%20sends%20the%20parameters%20by%20value" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/stumbleupon.png" class="sociable-img sociable-hovers" title="StumbleUpon" alt="StumbleUpon" /></a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.strainu.ro/programming/java/why-java-sends-the-parameters-by-value/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Quotes (Java)</title>
		<link>http://www.strainu.ro/software/8/</link>
		<comments>http://www.strainu.ro/software/8/#comments</comments>
		<pubDate>Sun, 26 Mar 2006 15:52:08 +0000</pubDate>
		<dc:creator>Strainu</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Quotes]]></category>
		<category><![CDATA[WebBrowse]]></category>

		<guid isPermaLink="false">http://www.strainu.ro/site/?p=379</guid>
		<description><![CDATA[Aforisme (Java) A program that demonstrates the communication between Java (I have used the NetBeans IDE) and the MySQL server. To run the program, you need the MySQL server and the &#8220;quotes&#8221; table(use the quotes.sql file). The software is distributed under CC-GNU GPL license. Download (source) Share and Enjoy:]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.strainu.ro/Poze/screen_Aforisme_java.jpg" border="0" alt="Preview" width="160" height="120" align="left" /></p>
<p><strong>Aforisme (Java)</strong> A program that demonstrates the communication between Java (I have used the NetBeans IDE) and the MySQL server. To run the program, you need the MySQL server and the &#8220;quotes&#8221; table(use the <i>quotes.sql</i> file).<br />
<span id="more-379"></span></p>
<p>The software is distributed under <a href="http://creativecommons.org/licenses/GPL/2.0/">CC-GNU GPL license</a>.</p>
<p><a href="http://www.strainu.ro/tracker/downi.php?id=Aforisme_jar" target="_blank"><strong>Download</strong></a> (<a href="http://www.strainu.ro/tracker/downi.php?id=Aforisme_src_java" target="_blank"><strong>source</strong></a>)</p>
<div class='sociable'><div><span class='sociable-tagline'><strong>Share and Enjoy:</strong></span></div><ul><li><a rel="nofollow" target="_blank"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.strainu.ro%2Fsoftware%2F8%2F&amp;t=Quotes%20%28Java%29" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/facebook.png" class="sociable-img sociable-hovers" title="Facebook" alt="Facebook" /></a></li><li><a rel="nofollow" target="_blank"  href="http://twitter.com/home?status=Quotes%20%28Java%29%20-%20http%3A%2F%2Fwww.strainu.ro%2Fsoftware%2F8%2F" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/twitter.png" class="sociable-img sociable-hovers" title="Twitter" alt="Twitter" /></a></li><li><a rel="nofollow" target="_blank"  href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Fwww.strainu.ro%2Fsoftware%2F8%2F" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/identica.png" class="sociable-img sociable-hovers" title="Identi.ca" alt="Identi.ca" /></a></li><li><a rel="nofollow" target="_blank"  href="mailto:?subject=Quotes%20%28Java%29&amp;body=http%3A%2F%2Fwww.strainu.ro%2Fsoftware%2F8%2F" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/email_link.png" class="sociable-img sociable-hovers" title="email" alt="email" /></a></li><li><a rel="nofollow" target="_blank" title="Add to favorites" href="#" onclick="AddToFavorites(); return false;"><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/addtofavorites.png" class="sociable-img sociable-hovers" title="Add to favorites" alt="Add to favorites" /></a></li><li><a rel="nofollow" target="_blank"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.strainu.ro%2Fsoftware%2F8%2F&amp;title=Quotes%20%28Java%29&amp;bodytext=%0D%0A%0D%0AAforisme%20%28Java%29%20A%20program%20that%20demonstrates%20the%20communication%20between%20Java%20%28I%20have%20used%20the%20NetBeans%20IDE%29%20and%20the%20MySQL%20server.%20To%20run%20the%20program%2C%20you%20need%20the%20MySQL%20server%20and%20the%20%22quotes%22%20table%28use%20the%20quotes.sql%20file%29.%0D%0A%0D%0A%0D%0AThe%20software%20is%20di" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/digg.png" class="sociable-img sociable-hovers" title="Digg" alt="Digg" /></a></li><li><a rel="nofollow" target="_blank"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.strainu.ro%2Fsoftware%2F8%2F&amp;title=Quotes%20%28Java%29" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/stumbleupon.png" class="sociable-img sociable-hovers" title="StumbleUpon" alt="StumbleUpon" /></a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.strainu.ro/software/8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Algorithm Analysis Project</title>
		<link>http://www.strainu.ro/software/15/</link>
		<comments>http://www.strainu.ro/software/15/#comments</comments>
		<pubDate>Sun, 26 Mar 2006 14:27:54 +0000</pubDate>
		<dc:creator>Strainu</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Contour tracing]]></category>
		<category><![CDATA[Poli]]></category>

		<guid isPermaLink="false">http://www.strainu.ro/site/?p=409</guid>
		<description><![CDATA[Algorithm Analysis Project 3rd year, Computer Science Faculty, UPB, Bucharest. It&#8217;s about contour tracing (Square Tracing Algorithm, Moore-Neighbor Tracing, Radial Sweep, Theo Pavlidis&#8217; Algorithm). To see the applets, just choose the algorithm, then click on &#8220;Program&#8221;. The software is distributed under CC-GNU GPL license. Download (source) Share and Enjoy:]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.strainu.ro/Poze/screen_ProiectAA.jpg" border="0" alt="Preview" width="160" height="120" align="left" /></p>
<p><strong>Algorithm Analysis Project</strong> 3rd year, Computer Science Faculty, UPB, Bucharest. It&#8217;s about contour tracing (Square Tracing Algorithm, Moore-Neighbor Tracing, Radial Sweep, Theo Pavlidis&#8217; Algorithm). To see the applets, just choose the algorithm, then click on &#8220;Program&#8221;.<br />
<span id="more-409"></span></p>
<p>The software is distributed under <a href="http://creativecommons.org/licenses/GPL/2.0/">CC-GNU GPL license</a>.</p>
<p><a href="http://www.strainu.ro/tracker/downi.php?id=ProiectAA" target="_blank"><strong>Download</strong></a> (<a href="http://www.strainu.ro/tracker/downi.php?id=ProiectAA_src" target="_blank"><strong>source</strong></a>)</p>
<div class='sociable'><div><span class='sociable-tagline'><strong>Share and Enjoy:</strong></span></div><ul><li><a rel="nofollow" target="_blank"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.strainu.ro%2Fsoftware%2F15%2F&amp;t=Algorithm%20Analysis%20Project" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/facebook.png" class="sociable-img sociable-hovers" title="Facebook" alt="Facebook" /></a></li><li><a rel="nofollow" target="_blank"  href="http://twitter.com/home?status=Algorithm%20Analysis%20Project%20-%20http%3A%2F%2Fwww.strainu.ro%2Fsoftware%2F15%2F" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/twitter.png" class="sociable-img sociable-hovers" title="Twitter" alt="Twitter" /></a></li><li><a rel="nofollow" target="_blank"  href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Fwww.strainu.ro%2Fsoftware%2F15%2F" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/identica.png" class="sociable-img sociable-hovers" title="Identi.ca" alt="Identi.ca" /></a></li><li><a rel="nofollow" target="_blank"  href="mailto:?subject=Algorithm%20Analysis%20Project&amp;body=http%3A%2F%2Fwww.strainu.ro%2Fsoftware%2F15%2F" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/email_link.png" class="sociable-img sociable-hovers" title="email" alt="email" /></a></li><li><a rel="nofollow" target="_blank" title="Add to favorites" href="#" onclick="AddToFavorites(); return false;"><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/addtofavorites.png" class="sociable-img sociable-hovers" title="Add to favorites" alt="Add to favorites" /></a></li><li><a rel="nofollow" target="_blank"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.strainu.ro%2Fsoftware%2F15%2F&amp;title=Algorithm%20Analysis%20Project&amp;bodytext=%0D%0A%0D%0AAlgorithm%20Analysis%20Project%203rd%20year%2C%20Computer%20Science%20Faculty%2C%20UPB%2C%20Bucharest.%20It%27s%20about%20contour%20tracing%20%28Square%20Tracing%20Algorithm%2C%20Moore-Neighbor%20Tracing%2C%20Radial%20Sweep%2C%20Theo%20Pavlidis%27%20Algorithm%29.%20To%20see%20the%20applets%2C%20just%20choose%20the%20algorithm%2C%20t" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/digg.png" class="sociable-img sociable-hovers" title="Digg" alt="Digg" /></a></li><li><a rel="nofollow" target="_blank"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.strainu.ro%2Fsoftware%2F15%2F&amp;title=Algorithm%20Analysis%20Project" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/stumbleupon.png" class="sociable-img sociable-hovers" title="StumbleUpon" alt="StumbleUpon" /></a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.strainu.ro/software/15/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OOP Labs</title>
		<link>http://www.strainu.ro/software/6/</link>
		<comments>http://www.strainu.ro/software/6/#comments</comments>
		<pubDate>Sun, 26 Mar 2006 12:41:38 +0000</pubDate>
		<dc:creator>Strainu</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[Poli]]></category>
		<category><![CDATA[POO]]></category>
		<category><![CDATA[WebBrowse]]></category>

		<guid isPermaLink="false">http://www.strainu.ro/site/?p=370</guid>
		<description><![CDATA[OOP Labs OOP labs, Automatics and Computer Science Faculty, UPB, 2nd year, prof. Florian Moraru. Labs summary: Using JDK. Compiling and executing Java programs; Strings; File I/O in Java; Inheritance; Abstract classes and interfaces; Sets in Java 2; Maps in Java 2; Included classes; JFC/Swing; JFC windows, panels and events; GUI applications; Misc. programs. The [...]]]></description>
			<content:encoded><![CDATA[<p><strong>OOP Labs</strong> OOP labs, Automatics and Computer Science Faculty, UPB, 2nd year, prof. Florian Moraru. <span id="more-370"></span>Labs summary:</p>
<ol>
<li>Using  JDK. Compiling and executing Java programs;</li>
<li>Strings;</li>
<li>File I/O in Java;</li>
<li>Inheritance;</li>
<li>Abstract classes and interfaces;</li>
<li>Sets in Java 2;</li>
<li>Maps in Java 2;</li>
<li>Included classes;</li>
<li>JFC/Swing;</li>
<li>JFC windows, panels and events;</li>
<li>GUI applications;</li>
<li>Misc. programs.</li>
</ol>
<p>The software is distributed under <a href="http://creativecommons.org/licenses/GPL/2.0/">CC-GNU GPL license</a>.</p>
<p><a href="http://www.strainu.ro/tracker/downi.php?id=lab_poo" target="_blank"><strong>Download</strong></a></p>
<div class='sociable'><div><span class='sociable-tagline'><strong>Share and Enjoy:</strong></span></div><ul><li><a rel="nofollow" target="_blank"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.strainu.ro%2Fsoftware%2F6%2F&amp;t=OOP%20Labs" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/facebook.png" class="sociable-img sociable-hovers" title="Facebook" alt="Facebook" /></a></li><li><a rel="nofollow" target="_blank"  href="http://twitter.com/home?status=OOP%20Labs%20-%20http%3A%2F%2Fwww.strainu.ro%2Fsoftware%2F6%2F" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/twitter.png" class="sociable-img sociable-hovers" title="Twitter" alt="Twitter" /></a></li><li><a rel="nofollow" target="_blank"  href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Fwww.strainu.ro%2Fsoftware%2F6%2F" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/identica.png" class="sociable-img sociable-hovers" title="Identi.ca" alt="Identi.ca" /></a></li><li><a rel="nofollow" target="_blank"  href="mailto:?subject=OOP%20Labs&amp;body=http%3A%2F%2Fwww.strainu.ro%2Fsoftware%2F6%2F" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/email_link.png" class="sociable-img sociable-hovers" title="email" alt="email" /></a></li><li><a rel="nofollow" target="_blank" title="Add to favorites" href="#" onclick="AddToFavorites(); return false;"><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/addtofavorites.png" class="sociable-img sociable-hovers" title="Add to favorites" alt="Add to favorites" /></a></li><li><a rel="nofollow" target="_blank"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.strainu.ro%2Fsoftware%2F6%2F&amp;title=OOP%20Labs&amp;bodytext=OOP%20Labs%20OOP%20labs%2C%20Automatics%20and%20Computer%20Science%20Faculty%2C%20UPB%2C%202nd%20year%2C%20prof.%20Florian%20Moraru.%20Labs%20summary%3A%0D%0A%0D%0A%09Using%20%20JDK.%20Compiling%20and%20executing%20Java%20programs%3B%0D%0A%09Strings%3B%0D%0A%09File%20I%2FO%20in%20Java%3B%0D%0A%09Inheritance%3B%0D%0A%09Abstract%20classes%20and%20interfaces%3B%0D%0A%09S" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/digg.png" class="sociable-img sociable-hovers" title="Digg" alt="Digg" /></a></li><li><a rel="nofollow" target="_blank"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.strainu.ro%2Fsoftware%2F6%2F&amp;title=OOP%20Labs" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/stumbleupon.png" class="sociable-img sociable-hovers" title="StumbleUpon" alt="StumbleUpon" /></a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.strainu.ro/software/6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

