<?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>FaceitWeb.com &#187; java</title>
	<atom:link href="http://www.faceitweb.com/category/java/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.faceitweb.com</link>
	<description>Recensioni e articoli sul mondo della programmazione</description>
	<lastBuildDate>Tue, 20 Jul 2010 12:34:40 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/>		<item>
		<title>Tomcat 7.0 beta</title>
		<link>http://www.faceitweb.com/2010/07/tomcat-7-0-beta/</link>
		<comments>http://www.faceitweb.com/2010/07/tomcat-7-0-beta/#comments</comments>
		<pubDate>Fri, 02 Jul 2010 07:22:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[j2ee]]></category>
		<category><![CDATA[java server]]></category>
		<category><![CDATA[jsp 2.2]]></category>
		<category><![CDATA[servlet 3.0]]></category>
		<category><![CDATA[tomcat]]></category>
		<category><![CDATA[tomcat 7.0]]></category>

		<guid isPermaLink="false">http://www.faceitweb.com/?p=406</guid>
		<description><![CDATA[

Anche se in versione beta, è finalmente disponibile la release 7 di Tomcat.
Tra le novità principali introdotte, c&#8217;è da sottolineare che questa nuova versione implementerà interamente le specifiche Java Servlet 3.0 (descritte in un precedente articolo), Java Server Pages 2.2 ed Expression Language 2.2.  In particolare, gli sviluppatori si sono soffermati sulle prestazioni e sulla [...]]]></description>
			<content:encoded><![CDATA[
<!-- ALL ADSENSE ADS DISABLED -->
<p>Anche se in versione beta, è finalmente disponibile la release 7 di Tomcat.</p>
<p>Tra le novità principali introdotte, c&#8217;è da sottolineare che questa nuova versione implementerà interamente le specifiche Java Servlet 3.0 (descritte in un precedente <a href="http://www.faceitweb.com/2008/11/servlet-30/">articolo</a>), Java Server Pages 2.2 ed Expression Language 2.2.  In particolare, gli sviluppatori si sono soffermati sulle prestazioni e sulla sicurezza di Tomcat 7, requisiti fondamentali per ospitare applicazioni web. Nel caso in cui invece, si vuole determinare la presenza di memory leack, c&#8217;è anche la possibilità di avviare un&#8217;analisi sull&#8217;utilizzo della memoria.</p>
<p>E&#8217; stata migliorata anche la gestione dei cookie, le comunicazioni asincrone ed il caricamento dei file. Da ricordare invece, che l&#8217;ambiente supporterà solo la Java Runtime Environmento 6.0.</p>
<p>Entro l&#8217;autunno Apache dovrebbe lanciare la versione definitiva.</p>
<p><a href="http://tomcat.apache.org/tomcat-7.0-doc/index.html">Tomcat 7.0</a></p>
<p class="buymebeer"><form action="https://www.paypal.com/cgi-bin/webscr" target="paypal" method="post"><input type="hidden" name="cmd" value="_xclick" /><input type="hidden" name="business" value="fabio.cervino@poste.it" /><input type="hidden" name="return" value="Grazie di cuore per aver voluto dare una mano allo staff di Faceitweb.com" /><input type="hidden" name="item_name" value="Offri un caffè allo staff for Tomcat 7.0 beta" /><input type="hidden" name="currency_code" value="EUR" /><input type="hidden" name="amount" value="" /><input type="image" src="http://www.faceitweb.com/wp-content/plugins/buy-me-beer/icon_cafe.gif" align="left" alt="Offrimi un caffè" title="Offrimi un caffè" hspace="3" /></form><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=fabio.cervino@poste.it&amp;currency_code=EUR&amp;amount=&amp;return=Grazie di cuore per aver voluto dare una mano allo staff di Faceitweb.com&amp;item_name=Offri+un+caffè+allo+staff+for+Tomcat+7.0+beta" target="paypal"></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.faceitweb.com/2010/07/tomcat-7-0-beta/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Java Mobile sull’iPhone con alcheMo</title>
		<link>http://www.faceitweb.com/2010/05/java-mobile-sull%e2%80%99iphone-con-alchemo/</link>
		<comments>http://www.faceitweb.com/2010/05/java-mobile-sull%e2%80%99iphone-con-alchemo/#comments</comments>
		<pubDate>Thu, 20 May 2010 12:46:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[iphone]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[alcheMo]]></category>
		<category><![CDATA[java mobile]]></category>

		<guid isPermaLink="false">http://www.faceitweb.com/?p=401</guid>
		<description><![CDATA[

Una societa’ neozelandese ha messo a punto alcheMO : una versione mobile di Java per iPhone.La  piattaforma J2ME disponibile nella grande parte dei telefoni GSM non solo e’ utilizzata per giochi ma anche per molte applicazioni.
Per i programmatori in ambito mobile e’ sicuramente una manna visto che potranno sfruttare le loro skills in ambito Java per [...]]]></description>
			<content:encoded><![CDATA[
<!-- ALL ADSENSE ADS DISABLED -->
<p>Una societa’ neozelandese ha messo a punto alcheMO : una versione mobile di <a title="alchemo java per iphone" href="http://www.innaworks.com/alcheMo-for-iPhone.html">Java per iPhone</a>.La  piattaforma J2ME disponibile nella grande parte dei telefoni GSM non solo e’ utilizzata per giochi ma anche per molte applicazioni.</p>
<p>Per i programmatori in ambito mobile e’ sicuramente una manna visto che potranno sfruttare le loro skills in ambito Java per programmare su Iphone.</p>
<p>Innaworks sta per commercializzare questa soluzione che permettera’ il porting automatico di codice Java (J2ME) in Object C (simile al C++) il linguaggio nativo della piattaforma iPhone.</p>
<p>Ecco cosa permettera’ di fare Alchemo:</p>
<ul>
<li>Programmaziome simultanea J2ME e C++.</li>
<li>portabilita’ (write once,run anywhere).per esempio applicazioni su iPhone saranno compatibili con iPod touch</li>
<li>accesso all’accelerometro e al touch screen tramite le api MID 2.0 API</li>
<li>ottime performance</li>
<li>management automatica della memoria (garbage collector di java)</li>
</ul>
<p><a href="http://www.iphoneland.it/software-iphone/java-mobile-a-giugno-sulliphone-con-alchemo/">Java Mobile a giugno sull’iPhone con alcheMo</a></p>
<p class="buymebeer"><form action="https://www.paypal.com/cgi-bin/webscr" target="paypal" method="post"><input type="hidden" name="cmd" value="_xclick" /><input type="hidden" name="business" value="fabio.cervino@poste.it" /><input type="hidden" name="return" value="Grazie di cuore per aver voluto dare una mano allo staff di Faceitweb.com" /><input type="hidden" name="item_name" value="Offri un caffè allo staff for Java Mobile sull’iPhone con alcheMo" /><input type="hidden" name="currency_code" value="EUR" /><input type="hidden" name="amount" value="" /><input type="image" src="http://www.faceitweb.com/wp-content/plugins/buy-me-beer/icon_cafe.gif" align="left" alt="Offrimi un caffè" title="Offrimi un caffè" hspace="3" /></form><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=fabio.cervino@poste.it&amp;currency_code=EUR&amp;amount=&amp;return=Grazie di cuore per aver voluto dare una mano allo staff di Faceitweb.com&amp;item_name=Offri+un+caffè+allo+staff+for+Java+Mobile+sull’iPhone+con+alcheMo" target="paypal"></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.faceitweb.com/2010/05/java-mobile-sull%e2%80%99iphone-con-alchemo/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>GWT Java: Quake 2 via browser</title>
		<link>http://www.faceitweb.com/2010/04/gwt-java-quake-2-via-browser/</link>
		<comments>http://www.faceitweb.com/2010/04/gwt-java-quake-2-via-browser/#comments</comments>
		<pubDate>Fri, 09 Apr 2010 07:01:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[GWT]]></category>
		<category><![CDATA[Quake]]></category>

		<guid isPermaLink="false">http://www.faceitweb.com/?p=382</guid>
		<description><![CDATA[

La squadra di sviluppatori di GWT Java hanno realizzato il porting di Quake 2 su browser. Si tratta di un esempio di quello che ci aspetta in futuro: la realtà è che il motore Java ha ancora grandi potenzialità da esprimere.
GWT è una soluzione che permette l&#8217;utilizzo di applicazioni Web in ambiente Java: non a [...]]]></description>
			<content:encoded><![CDATA[
<!-- ALL ADSENSE ADS DISABLED -->
<p>La squadra di sviluppatori di GWT Java hanno realizzato il porting di Quake 2 su browser. Si tratta di un esempio di quello che ci aspetta in futuro: la realtà è che il motore Java ha ancora grandi potenzialità da esprimere.</p>
<p>GWT è una soluzione che permette l&#8217;utilizzo di applicazioni Web in ambiente Java: non a caso fa funzionare anche Google Wave.</p>
<p>Quake 2 su browser è un esempio del <strong>futuro 3D online</strong>. Da quando Google rilasciò nel 2008 una demo di Quake per Native Client (NaCl) è passato del tempo: un&#8217;occhiata al video pubblicato online non lascia dubbi.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="350" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.youtube.com/v/fyfu4OwjUEI&amp;feature" /><embed type="application/x-shockwave-flash" width="425" height="350" src="http://www.youtube.com/v/fyfu4OwjUEI&amp;feature"></embed></object></p>
<p class="buymebeer"><form action="https://www.paypal.com/cgi-bin/webscr" target="paypal" method="post"><input type="hidden" name="cmd" value="_xclick" /><input type="hidden" name="business" value="fabio.cervino@poste.it" /><input type="hidden" name="return" value="Grazie di cuore per aver voluto dare una mano allo staff di Faceitweb.com" /><input type="hidden" name="item_name" value="Offri un caffè allo staff for GWT Java: Quake 2 via browser" /><input type="hidden" name="currency_code" value="EUR" /><input type="hidden" name="amount" value="" /><input type="image" src="http://www.faceitweb.com/wp-content/plugins/buy-me-beer/icon_cafe.gif" align="left" alt="Offrimi un caffè" title="Offrimi un caffè" hspace="3" /></form><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=fabio.cervino@poste.it&amp;currency_code=EUR&amp;amount=&amp;return=Grazie di cuore per aver voluto dare una mano allo staff di Faceitweb.com&amp;item_name=Offri+un+caffè+allo+staff+for+GWT+Java:+Quake+2+via+browser" target="paypal"></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.faceitweb.com/2010/04/gwt-java-quake-2-via-browser/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Java Platfom Enterprise Edition 6</title>
		<link>http://www.faceitweb.com/2010/01/java-platfom-enterprise-edition-6/</link>
		<comments>http://www.faceitweb.com/2010/01/java-platfom-enterprise-edition-6/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 09:33:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[j2EE6]]></category>
		<category><![CDATA[Java Platfom Enterprise Edition 6]]></category>
		<category><![CDATA[sun microsystems]]></category>

		<guid isPermaLink="false">http://www.faceitweb.com/?p=344</guid>
		<description><![CDATA[

Sun Microsystems Inc. ha annunciato la disponibilità di Java™ Platform Enterprise Edition 6 (Java EE 6).
Java EE &#8211; la principale piattaforma per lo sviluppo e il deployment di applicazioni web ed enterprise &#8211; possiede ora nuove caratteristiche che ne incrementano la flessibilità e permettono alle aziende di adottare, in alternativa alla piattaforma enterprise completa, specifici [...]]]></description>
			<content:encoded><![CDATA[
<!-- ALL ADSENSE ADS DISABLED -->
<p>Sun Microsystems Inc. ha annunciato la disponibilità di Java™ Platform Enterprise Edition 6 (Java EE 6).</p>
<p>Java EE &#8211; la principale piattaforma per lo sviluppo e il deployment di applicazioni web ed enterprise &#8211; possiede ora nuove caratteristiche che ne incrementano la flessibilità e permettono alle aziende di adottare, in alternativa alla piattaforma enterprise completa, specifici scenari applicativi per meglio rispondere ai requisiti dei singoli progetti . Java EE SDK è già stato scaricato più di 18 milioni di volte e le specifiche sono supportate da 28 licenziatari che commercializzano prodotti compatibili con Java EE. Gli sviluppatori possono scaricare Java EE SDK dall&#8217;indirizzo <a href="http://java.sun.com/javaee/downloads/index.jsp">http://java.sun.com/javaee/downloads/index.jsp</a>.</p>
<p>Java EE 6 offre una solida base per la continua crescita della tecnologia Java sia dal punto di vista degli sviluppatori che da quello dei solution provider. Le specifiche Java EE 6 introducono i Profile, un sistema che permette di adeguare la piattaforma ai singoli scenari applicativi. I Profile offrono un maggior grado di flessibilità a clienti, ISV e vendor di piattaforma, aiutandoli ad affrontare meglio mercati specifici.</p>
<p>Web Profile, per esempio, è un profilo “compatto” realizzato appositamente per gli scenari basati su applicazioni Web che non richiedono tutto il set di funzionalità della piattaforma Java EE completa. Abbinato a importanti miglioramenti delle specifiche esistenti e all&#8217;introduzione della tecnologia Enterprise JavaBeans™ (EJB) 3.1 Lite, Web Profile consente agli sviluppatori Web di realizzare applicazioni in maniera rapida e semplice senza doversi costruire e gestire uno &#8220;stack custom&#8221;. Inoltre, gli sviluppatori che dovessero necessitare della potenza della piattaforma tradizionale possono passare agevolmente dall&#8217;ambiente Web Profile alla piattaforma Java EE 6 completa. Ulteriori profili saranno definiti in futuro attraverso il Java Community Process per affrontare differenti scenari applicativi.</p>
<p><span id="more-344"></span></p>
<p style="text-align: center;"><script type="text/javascript"><!--
google_ad_client = "pub-8488545646955443";
google_ad_slot = "1886844531";
google_ad_width = 468;
google_ad_height = 60;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</p>
<p>Java EE 6 definisce inoltre le sue capacità di estensibilità come un mezzo per abbracciare e supportare innovazioni e comunità esterne, consentendo ad esse di collegarsi – in maniera trasparente &#8211; alla piattaforma stessa. Java EE 6 specifica quindi un processo e un set di tecnologie che potranno essere rimossi da future release della piattaforma, permettendo a vendor e application provider di pianificare la migrazione verso le nuove tecnologie che saranno offerte dalle prossime versioni della piattaforma.</p>
<p>La nuova release di Java EE SDK mette a disposizione potenti tecnologie per lo sviluppo web ed enterprise che fanno leva sulla prima implementazione della piattaforma Java EE 6. Gli sviluppatori che hanno familiarità con il modello di programmazione di Java EE possono ora sfruttare i miglioramenti alla produttività e l&#8217;eccezionale facilità di sviluppo che contraddistinguono Java EE 6 per realizzare una vasta gamma di applicazioni per il Web e per i contesti enterprise.</p>
<p>Tra le novità introdotte vi sono: l&#8217;aggiunta delle tecnologie Context and Dependency Injection ed EJB 3.1 Lite, un modo più semplice per aggiungere EJB ai file .war delle applicazioni Web senza dover creare package ulteriori, la possibilità di trascinare col mouse i framework di terze parti nelle servlet attraverso web-fragments.xml, l&#8217;aggiunta di numerose annotazioni all&#8217;interno di tutta la piattaforma per semplificare la creazione di applicazioni, e la possibilità di integrare EJB all&#8217;interno di applicazioni indipendenti per agevolare le procedure di test. Un elenco completo di tutte le funzionalità di Java EE 6 è disponibile all&#8217;indirizzo: <a href="http://java.sun.com/javaee/">http://java.sun.com/javaee/</a>.</p>
<p>Java EE 6 mette quindi a disposizione significativi miglioramenti in termini di produttività e facilità d&#8217;uso, mantenendo la compatibilità verso il basso con Java EE 5, e con in più il vantaggio di poter scegliere tra varie implementazioni. La reference implementation di Java EE 6 deriva dal progetto open source GlassFish(TM).</p>
<p>La Reference Implementation, il TCK e l&#8217;SDK di Java EE 6 sono già disponibili. Il nuovo SDK comprende documentazione e tool con i quali gli sviluppatori possono imparare a conoscere Java EE 6 e accelerare la creazione di nuove applicazioni enterprise. Il download è gratuitamente disponibile all&#8217;indirizzo <a href="http://java.sun.com/javaee/downloads/index.jsp">http://java.sun.com/javaee/downloads/index.jsp</a>.</p>
<p><a href="http://it.sun.com/sunnews/press/2009/20091215.jsp"><small><strong><em>Sun Microsystems</em></strong></small></a></p>
<p class="buymebeer"><form action="https://www.paypal.com/cgi-bin/webscr" target="paypal" method="post"><input type="hidden" name="cmd" value="_xclick" /><input type="hidden" name="business" value="fabio.cervino@poste.it" /><input type="hidden" name="return" value="Grazie di cuore per aver voluto dare una mano allo staff di Faceitweb.com" /><input type="hidden" name="item_name" value="Offri un caffè allo staff for Java Platfom Enterprise Edition 6" /><input type="hidden" name="currency_code" value="EUR" /><input type="hidden" name="amount" value="" /><input type="image" src="http://www.faceitweb.com/wp-content/plugins/buy-me-beer/icon_cafe.gif" align="left" alt="Offrimi un caffè" title="Offrimi un caffè" hspace="3" /></form><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=fabio.cervino@poste.it&amp;currency_code=EUR&amp;amount=&amp;return=Grazie di cuore per aver voluto dare una mano allo staff di Faceitweb.com&amp;item_name=Offri+un+caffè+allo+staff+for+Java+Platfom+Enterprise+Edition+6" target="paypal"></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.faceitweb.com/2010/01/java-platfom-enterprise-edition-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Guava, le librerie Java di Google</title>
		<link>http://www.faceitweb.com/2009/10/guava-le-librerie-java-di-google/</link>
		<comments>http://www.faceitweb.com/2009/10/guava-le-librerie-java-di-google/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 09:25:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[guava]]></category>
		<category><![CDATA[librerie]]></category>

		<guid isPermaLink="false">http://www.faceitweb.com/?p=338</guid>
		<description><![CDATA[

Guava è una collezione di librerie Java non presenti in Google Collection Library anche se quest&#8217;ultima presto sarà incluso nel progetto. Al momento sono solo tre i namespace inclusi in tale progetto: com.google.common.primitives, com.google.common.io e com.google.common.util.concurrent. Queste librerie arricchiscono quelle Java con molte classi e API create dal gruppo di sviluppatori Google e utilizzate in [...]]]></description>
			<content:encoded><![CDATA[
<!-- ALL ADSENSE ADS DISABLED -->
<p><a href="http://code.google.com/p/guava-libraries/" target="_blank">Guava</a> <strong>è una collezione di librerie Java non presenti in</strong> <a href="http://code.google.com/p/google-collections/" target="_blank">Google Collection Library</a> anche se quest&#8217;ultima presto sarà incluso nel progetto. Al momento sono solo tre i <em>namespace</em> inclusi in tale progetto: <em>com.google.common.primitives</em>, <em>com.google.common.io</em> e <em>com.google.common.util.concurrent</em>. Queste librerie arricchiscono quelle Java con molte classi e API create dal gruppo di sviluppatori Google e utilizzate in molti dei loro progetti realizzati con tale linguaggio.</p>
<p>Spulciando un&#8217;<a href="http://guava-libraries.googlecode.com/files/Guava_a_sketchy_overview.pdf" target="_blank">overview</a> vediamo un po&#8217; di feature, che possono tornare utili ai nostri progetti. Un esempio è l&#8217;<strong>introduzione della classe <em>CharMatcher</em> per manipolare caratteri all&#8217;interno di una stringa</strong> come la funzione <em>CharMatcher.is(&#8216;-&#8217;)</em>. <strong>Le stringhe sono sempre manipolabili con la classe <em>Joiner</em></strong>, che può legare una sequenza di numeri separati da uno o più caratteri scelti con la seguente riga di codice:</p>
<div>
<div style="font-family: monospace;">
<ol>
<li>
<pre><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span>String</span></a> s <span>=</span> Joiner.<span>on</span><span>(</span><span>", "</span><span>)</span>.<span>join</span><span>(</span>numbers<span>)</span><span>;</span></pre>
</li>
</ol>
</div>
</div>
<p><strong>Per la separazione di stringe troviamo la classe <em>Splitter</em></strong> in grado di separare parti di stringa da un testo complesso molto meglio di quanto faccia la funzione <em>split()<em> di Java:<br />
</em></em></p>
<div>
<div style="font-family: monospace;">
<ol>
<li>
<pre>Iterable<span>&lt;</span>String<span>&gt;</span> pieces <span>=</span></pre>
</li>
<li>
<pre>   Splitter.<span>on</span><span>(</span><span>','</span><span>)</span>.<span>split</span><span>(</span><span>"trivial,example"</span><span>)</span></pre>
</li>
</ol>
</div>
</div>
<p><strong>Per ciò che riguarda l&#8217;I/O, le classi <em>ByteStreams</em>, <em>CharSequence</em> e <em>Files</em> promettono di leggere le righe di un file in modo molto stringato</strong>. Sotto infatti vediamo un esempio di routine in grado di contare le righe di un file:</p>
<div>
<div style="font-family: monospace;">
<ol>
<li>
<pre><span>int</span> count <span>=</span> Files.<span>readLines</span><span>(</span></pre>
</li>
<li>
<pre>  <span>new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Afile+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span>File</span></a><span>(</span><span>"/path/to/file"</span><span>)</span>,</pre>
</li>
<li>
<pre>  Charsets.<span>UTF_8</span>,</pre>
</li>
<li>
<pre>  <span>new</span> LineProcessor<span>&lt;</span>Integer<span>&gt;</span><span>(</span><span>)</span> <span>{</span></pre>
</li>
<li>
<pre>   <span>int</span> count <span>=</span> <span>0</span><span>;</span></pre>
</li>
<li>
<pre>   <span>public</span> <span>boolean</span> processLine<span>(</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span>String</span></a> line<span>)</span> <span>{</span></pre>
</li>
<li>
<pre>     count<span>++;</span></pre>
</li>
<li>
<pre>   <span>}</span></pre>
</li>
<li>
<pre>   <span>public</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Ainteger+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span>Integer</span></a> getResult<span>(</span><span>)</span> <span>{</span> <span>return</span> count<span>;</span> <span>}</span></pre>
</li>
<li>
<pre>  <span>}</span><span>)</span><span>;</span></pre>
</li>
</ol>
</div>
</div>
<p>Anche le <strong>primitive</strong> non sono esenti da novità con l&#8217;introduzione di classi come <em>Ints</em>, <em>Longs</em> o <em>Bytes</em></p>
<p>.</p>
<div>
<div style="font-family: monospace;">
<ol>
<li>
<pre><span>int</span><span>[</span><span>]</span> nums <span>=</span> ...<span>;</span></pre>
</li>
<li>
<pre>List<span>&lt;</span>Integer<span>&gt;</span> list <span>=</span> Ints.<span>asList</span><span>(</span>nums<span>)</span><span>;</span></pre>
</li>
</ol>
</div>
</div>
<p>In attesa della versione 1.0, il rimando è ai <a href="http://guava-libraries.googlecode.com/svn/trunk/javadoc/index.html" target="_blank">javadoc</a> ufficiali.</p>
<p><a href="http://programmazione.it/index.php?entity=eitem&amp;idItem=42900">Guava, una collezione di librerie Java da Google</a></p>
<p class="buymebeer"><form action="https://www.paypal.com/cgi-bin/webscr" target="paypal" method="post"><input type="hidden" name="cmd" value="_xclick" /><input type="hidden" name="business" value="fabio.cervino@poste.it" /><input type="hidden" name="return" value="Grazie di cuore per aver voluto dare una mano allo staff di Faceitweb.com" /><input type="hidden" name="item_name" value="Offri un caffè allo staff for Guava, le librerie Java di Google" /><input type="hidden" name="currency_code" value="EUR" /><input type="hidden" name="amount" value="" /><input type="image" src="http://www.faceitweb.com/wp-content/plugins/buy-me-beer/icon_cafe.gif" align="left" alt="Offrimi un caffè" title="Offrimi un caffè" hspace="3" /></form><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=fabio.cervino@poste.it&amp;currency_code=EUR&amp;amount=&amp;return=Grazie di cuore per aver voluto dare una mano allo staff di Faceitweb.com&amp;item_name=Offri+un+caffè+allo+staff+for+Guava,+le+librerie+Java+di+Google" target="paypal"></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.faceitweb.com/2009/10/guava-le-librerie-java-di-google/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Telefono e chat nelle applicazioni Java con Skype4Java</title>
		<link>http://www.faceitweb.com/2009/06/telefono-e-chat-nelle-applicazioni-java-con-skype4java/</link>
		<comments>http://www.faceitweb.com/2009/06/telefono-e-chat-nelle-applicazioni-java-con-skype4java/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 10:09:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[skype]]></category>
		<category><![CDATA[Skype4Java]]></category>
		<category><![CDATA[SMS]]></category>
		<category><![CDATA[VoIP]]></category>

		<guid isPermaLink="false">http://www.faceitweb.com/?p=301</guid>
		<description><![CDATA[

In questo articolo esamineremo e utilizzaremo la libreria open source Skype4Java, per interagire con Skype, uno dei programmi VoIP più diffusi al mondo. Questa libreria può essere concettualmente suddivisa in due parti: la prima, contenente le classi e le interfacce Java utilizzabili dal programmatore, e la seconda che comprende le librerie native, richiamate tramite tecnologia [...]]]></description>
			<content:encoded><![CDATA[
<!-- ALL ADSENSE ADS DISABLED -->
<p>In questo articolo esamineremo e utilizzaremo la libreria open source Skype4Java, per interagire con Skype, uno dei programmi VoIP più diffusi al mondo. Questa libreria può essere concettualmente suddivisa in due parti: la prima, contenente le classi e le interfacce Java utilizzabili dal programmatore, e la seconda che comprende le librerie native, richiamate tramite tecnologia JNI (Java Native Interface), per la comunicazione a basso livello con il client Skype.</p>
<p>È possibile scarircare la libreria e la documentazione del progetto dal sito ufficiale (https://developer.skype.com/wiki/Java_API).</p>
<p>Skype4Java ci permette è possibile effettuare moltissime operazioni, tra cui:</p>
<ul>
<li>Visualizzare e modificare le impostazioni del client (lingua, sfondi, proprietà)</li>
<li>Visualizzare, aggiungere, modificare ed eliminare i contatti ed i gruppi</li>
<li>Gestire il proprio profilo</li>
<li>Avviare una sessione voce</li>
<li>Avviare una sessione di chat</li>
<li>Inviare SMS</li>
</ul>
<p><strong>La classe principale</strong> della libreria è <code>com.skype.Skype</code>. Questa classe ci fornisce numerosi metodi statici che ci permettono di recuperare moltissime informazioni: versione installata del client, lista dei gruppi, lista dei contatti, informazioni relative ai profili dei nostri contatti, e molte altre informazioni.</p>
<p style="text-align: center;"><span id="more-301"></span><script type="text/javascript"><!--
google_ad_client = "pub-8488545646955443";
google_ad_slot = "1886844531";
google_ad_width = 468;
google_ad_height = 60;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</p>
<p>Alcuni esempi ci aiuteranno a prendere confidenza con questa libreria.</p>
<div class="boxcode">
<p>Versione installata del client Skype</p>
<pre>Skype.getVersion()</pre>
</div>
<div class="boxcode">
<p>Visualizzazione e modifica del proprio profilo</p>
<pre>Profile profilo = Skype.getProfile();

System.out.println("ID:" + profilo.getId());
System.out.println("Sesso:" + profilo.getSex());
System.out.println("Città:" + profilo.getCity());
System.out.println("Stato:" + profilo.getStatus());

profilo.setCity("Napoli");</pre>
</div>
<p>L&#8217;oggetto <code>Profile</code> restituito dal metodo <code>getProfile()</code>, contiene le informazioni relative al profilo dell&#8217;utente skype attivo sul client, compreso lo stato attuale dell&#8217;utente (In linea, Non al computer, Occupato). Le informazioni sono richiamabili mediante i classici metodi getter. È possibile anche modificare tali proprietà utilizzando i metodi setter.</p>
<p><strong>Gli stati</strong> possibili di ciascun contatto sono i seguenti:</p>
<table class="tabella_htmlit" border="0">
<tbody>
<tr>
<td><code>User.Status.AWAY</code></td>
<td><code>User.Status.OFFLINE</code></td>
<td><code>User.Status.ONLINE</code></td>
</tr>
<tr>
<td><code>User.Status.UNKNOWN</code></td>
<td><code>User.Status.NA</code></td>
<td><code>User.Status.DND</code></td>
</tr>
</tbody>
</table>
<div class="boxcode">
<p>Visualizzazione dei contatti</p>
<pre>Friend[] contatti = Skype.getContactList().getAllFriends();

for (int i = 0; i &lt; contatti.length; i++)
{
  Friend contatto = contatti[i];
  System.out.println(contatto.getId() + " " + contatto.getFullName());
}</pre>
</div>
<p>Il metodo <code>getContactList()</code>, restituisce diverse informazioni sui contatti. Il metodo <code>getAllFriends()</code>, restituisce un array di oggetti <code>Friend</code> che contiene l&#8217;elenco completo di tutti i contatti. L&#8217;oggetto <code>Friend</code>, contiene tutte le informazioni sul profilo del contatto: id, nome, città, lingua, stato, email.</p>
<div class="boxcode">
<p>Creare un nuovo gruppo</p>
<pre>Skype.getContactList().addGroup("amici");</pre>
</div>
<p>Il metodo <code>addGroup()</code> ci permette di aggiungere un nuovo gruppo.</p>
<div class="boxcode">
<p>Inserire i contatti in un gruppo</p>
<pre>Group amici = Skype.getContactList().getGroup("amici");

Friend contatto1 = Skype.getContactList().getFriend("nick1");
Friend contatto2 = Skype.getContactList().getFriend("nick2");

amici.addFriend(contatto1);
amici.addFriend(contatto2);</pre>
</div>
<p>Per inserire i contatti all&#8217;interno di un gruppo occorre prima di tutto recuperare l&#8217;istanza del gruppo mediante il metodo <code>getGroup()</code>. Successivamente occorre recuperare l&#8217;istanza di ciascun contatto da inserire nel gruppo, mediante il metodo <code>getFriend(</code>), ed infine, richiamare il metodo <code>addFriend()</code> della classe Group.</p>
<div class="boxcode">
<p>Inviare un messaggio ad un contatto</p>
<pre>Friend contatto = Skype.getContactList().getFriend("pippo");

if (null != contatto &amp;&amp; contatto.getOnlineStatus().equals(User.Status.ONLINE))
  contatto.send("Ciao Pippo");
else
  System.out.println("Il contatto non è al PC. Il suo stato è '" + contatto.getOnlineStatus() + "'");</pre>
</div>
<p>Ottenuta l&#8217;instanza dell&#8217;oggetto <code>Friend</code>, mediante il metodo <code>getFriend(String)</code> della classe <code>ContactList</code>, corrispondente al contatto che ci interessa, e verificato il suo stato, possiamo inviargli un messaggio via chat utilizzando il metodo <code>send(String)</code>. Naturalmente, qualora il contatto richiesto non sia presente nella lista dei contatti, il metodo restituirà un riferimento null e quindi non sarà possibile inviargli un messaggio.</p>
<div class="boxcode">
<p>Effettuare una chiamata</p>
<pre>Friend contatto = Skype.getContactList().getFriend("pippo");

if (null != contatto &amp;&amp; contatto.getOnlineStatus().equals(User.Status.ONLINE))
  contatto.call();
else
  System.out.println("Il contatto non è al PC. Il suo stato è '" + contatto.getOnlineStatus() + "'");</pre>
</div>
<p>Con la stessa logica dell&#8217;esempio precedente, è possibile avviare una chiamata. L&#8217;unica differenza è il metodo della classe <code>Friend</code> da richiamare. Per inviare un messaggio di chat è necessario utilizzare il metodo <code>send(String)</code>, mentre per inoltrare una chiamata, occorre utilizzare il metodo <code>call()</code>.</p>
<div class="boxcode">
<p>Inviare un SMS</p>
<pre>Skype.sendSMS("134567890", "prova sms");</pre>
</div>
<p>Mediante il metodo <code>sendSMS()</code> è possibile inviare un SMS direttamente ad un numero specifico.</p>
<p>Oltre alla classe <code>Skype</code>, la libreria <code>Skype4Java</code>, mette a disposizione anche la <strong>classe SkypeClient</strong>, mediante la quale è possibile interagire direttamente con il client. Ad esempio, è possibile aprire la finestra delle impostazioni, la finestra dei contatti, etc.</p>
<ul>
<li><code>SkypeClient.showSkypeWindow()</code></li>
<li><code>SkypeClient.showProfileWindow()</code></li>
<li><code>SkypeClient.showSearchWindow()</code></li>
</ul>
<p>Per eseguire gli esempi proposti, è necessario includere nel proprio progetto la libreria specifica del sistema operativo. Nel pacchetto zip scaricabile dal sito ufficiale, infatti, sono inclusi i seguenti file jar:</p>
<ul>
<li><code>skype_linux.jar</code> per i sistemi linux</li>
<li><code>skype_osx.jar </code> per MAC</li>
<li><code>skype_win32.jar</code> per Windows</li>
</ul>
<p>Queste sono solo alcune delle funzionalità messe a disposizione dalla libreria Skype4Java, per iniziare a acquisire familiarità con la libreria.</p>
<p><a href="http://java.html.it/articoli/leggi/3030/skype4java-telefono-e-chat-nelle-applicazioni-java/">Skype4Java, telefono e chat nelle applicazioni Java</a></p>
<p class="buymebeer"><form action="https://www.paypal.com/cgi-bin/webscr" target="paypal" method="post"><input type="hidden" name="cmd" value="_xclick" /><input type="hidden" name="business" value="fabio.cervino@poste.it" /><input type="hidden" name="return" value="Grazie di cuore per aver voluto dare una mano allo staff di Faceitweb.com" /><input type="hidden" name="item_name" value="Offri un caffè allo staff for Telefono e chat nelle applicazioni Java con Skype4Java" /><input type="hidden" name="currency_code" value="EUR" /><input type="hidden" name="amount" value="" /><input type="image" src="http://www.faceitweb.com/wp-content/plugins/buy-me-beer/icon_cafe.gif" align="left" alt="Offrimi un caffè" title="Offrimi un caffè" hspace="3" /></form><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=fabio.cervino@poste.it&amp;currency_code=EUR&amp;amount=&amp;return=Grazie di cuore per aver voluto dare una mano allo staff di Faceitweb.com&amp;item_name=Offri+un+caffè+allo+staff+for+Telefono+e+chat+nelle+applicazioni+Java+con+Skype4Java" target="paypal"></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.faceitweb.com/2009/06/telefono-e-chat-nelle-applicazioni-java-con-skype4java/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Scheduling in JAVA</title>
		<link>http://www.faceitweb.com/2009/06/scheduling-in-java/</link>
		<comments>http://www.faceitweb.com/2009/06/scheduling-in-java/#comments</comments>
		<pubDate>Sun, 14 Jun 2009 16:47:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[Scheduling java]]></category>

		<guid isPermaLink="false">http://www.faceitweb.com/?p=285</guid>
		<description><![CDATA[

Java offre metodi nativi per poter supportare lo scheduling dei processi e delle azioni. Le classi deputate a tali compiti sono Timer e TimerTask. La classe TimerTask dovrà contenere il codice che vogliamo sia eseguito. Per far ciò, occorrerà sviluppare una nuova classe che estenda TimerTask, condizione fondamentale è la ridefinizione del metodo run() con [...]]]></description>
			<content:encoded><![CDATA[
<!-- ALL ADSENSE ADS DISABLED -->
<p><strong>Java</strong> offre metodi nativi per poter supportare lo <strong>scheduling dei processi</strong> e delle azioni. Le classi deputate a tali compiti sono <strong><em>Timer</em> </strong>e <strong><em>TimerTask</em></strong>. La classe TimerTask dovrà contenere il codice che vogliamo sia eseguito. Per far ciò, occorrerà sviluppare una nuova classe che <strong>estenda TimerTask</strong>, condizione fondamentale è la ridefinizione del metodo <strong>run()</strong> con le operazioni da schedulare, tale classe per chi ha dimestichezza con la gestione della concorrenza in <strong>Java </strong>somiglia ad una classe <strong>thread</strong>, ed infatti altro non è.</p>
<p>TimeTask implementa <strong>Runnable</strong>, e per poterla utilizzare occorre importare il <strong>package java.util.TimerTask</strong>. Implementata la nostra classe erede di TimerTask, occorrerà schedulare i nostri job all’interno del main principale, per far ciò ricorreremo all’oggetto <strong>Timer</strong>.</p>
<p>Ma vediamo un esempio per capire meglio. Supponiamo di voler stampare ogni 5 secondi una stringa di saluto:</p>
<p>import java.util.Timer;<br />
import java.util.TimerTask;<br />
public class ttask extends TimerTask{<br />
String stringa;<br />
public ttask(){<br />
stringa=&#8221;Ciao a tutti&#8221;;<br />
}<br />
public void run(){<br />
System.out.println(stringa);<br />
}<br />
}</p>
<p>E la nostra classe main sarà:</p>
<p>public static void main(String[] args) {<br />
Timer t=new Timer();<br />
ttask tt= new ttask();<br />
t.schedule(tt, 5000);<br />
}</p>
<p>Fonte: <a href="http://www.onlinetutorial.it/scheduling-con-java.html">Scheduling con Java</a></p>
<p class="buymebeer"><form action="https://www.paypal.com/cgi-bin/webscr" target="paypal" method="post"><input type="hidden" name="cmd" value="_xclick" /><input type="hidden" name="business" value="fabio.cervino@poste.it" /><input type="hidden" name="return" value="Grazie di cuore per aver voluto dare una mano allo staff di Faceitweb.com" /><input type="hidden" name="item_name" value="Offri un caffè allo staff for Scheduling in JAVA" /><input type="hidden" name="currency_code" value="EUR" /><input type="hidden" name="amount" value="" /><input type="image" src="http://www.faceitweb.com/wp-content/plugins/buy-me-beer/icon_cafe.gif" align="left" alt="Offrimi un caffè" title="Offrimi un caffè" hspace="3" /></form><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=fabio.cervino@poste.it&amp;currency_code=EUR&amp;amount=&amp;return=Grazie di cuore per aver voluto dare una mano allo staff di Faceitweb.com&amp;item_name=Offri+un+caffè+allo+staff+for+Scheduling+in+JAVA" target="paypal"></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.faceitweb.com/2009/06/scheduling-in-java/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>In arrivo il Java Store: Vector</title>
		<link>http://www.faceitweb.com/2009/05/in-arrivo-il-java-store-vector/</link>
		<comments>http://www.faceitweb.com/2009/05/in-arrivo-il-java-store-vector/#comments</comments>
		<pubDate>Fri, 22 May 2009 09:34:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[App Store]]></category>
		<category><![CDATA[java store]]></category>
		<category><![CDATA[vector]]></category>

		<guid isPermaLink="false">http://www.faceitweb.com/?p=277</guid>
		<description><![CDATA[

Dal blog ufficiale il Ceo di Sun annuncia in anteprima gli obiettivi del progetto nome in codice Vector: realizzare un App Store per mettere in contatto gli infiniti programmatori Java con il pubblico ancora più vasto degli utenti. Il modello di Apple applicato su scala infinitamente più grande e per gli applicativi su desktop.
Ha tutte [...]]]></description>
			<content:encoded><![CDATA[
<!-- ALL ADSENSE ADS DISABLED -->
<p><span style="font-weight: normal;"><span style="font-size: 13px;">Dal blog ufficiale il Ceo di Sun annuncia in anteprima gli obiettivi del progetto nome in codice Vector: realizzare un App Store per mettere in contatto gli infiniti programmatori Java con il pubblico ancora più vasto degli utenti. Il modello di Apple applicato su scala infinitamente più grande e per gli applicativi su desktop.</span><br />
<span style="font-weight: normal;"><span style="font-size: 13px;">Ha tutte le carte in regola per diventare l&#8217;App Store definitivo, il negozio online più vasto e in grado di coinvolgere un numero esteso di programmatori, per non parlare di un pubblico potenziale di oltre 1 miliardo di utenti, questa la popolazione stimata. Si tratta del progetto con il nome in codice<a href="http://www.eweek.com/c/a/Application-Development/Sun-Plans-Java-App-Store-194558/">Vector</a>, rivelato direttamente da Jonathan Schwartz in un <a href="http://blogs.sun.com/jonathan/entry/will_java_be_the_world">post sul blog ufficiale</a> di Sun.</span></span></span></p>
<div class="edit">
<p>Nel corposo messaggio il Ceo della società svela in anteprima i piani in corso di sviluppo: creare un mercato online sullo stile di App Store che permetterà agli infiniti programmatori <a class="iAs" href="http://www.macitynet.it/macity/aA38089/il_progetto_vector_di_sun_presto_in_arrivo_il_java_store.shtml#" target="_blank">Java</a> di pubblicare i loro software e di raggiungere in un colpo solo un mercato potenziale stimato in oltre un miliardo di utenti. Come gli &#8220;altri&#8221; app store esistenti anche Sun vaglierà i programmi che potranno essere ammessi alla vendita o alla distribuzione gratuita, ancora Sun richiederà una percentuale per la gestione della distribuzione. Pur non riportando mai direttamente il nome App Store il Ceo di Sun si riferisce in più punti allo store di Apple, sottolineando il grande divario nelle dimensioni tra la realtà di Cupertino e il progetto in corso di Sun. Milioni o al massimo decine di milioni di utenti per il negozio della Mela, oltre un miliardo di utenti per Java.</p>
<p>Il progetto Vector sarà molto probabilmente rinominato Java Store e, sottolinea Scwhartz, non si rivolgerà alla nicchia mobile del mondo IT bensì ad applicativi scritti in uno dei linguaggi più diffusi e utilizzati dagli sviluppatori e per software che funzioneranno su computer. E&#8217; molto probabile che presto sentiremo ancora parlare di Vector o meglio di Java Store: JavaOne, la conferenza più importante del mondo Java inizia i lavori il primo di giugno.<br />
<span style="font-weight: normal;"><span style="font-size: 13px;"><a href="http://www.macitynet.it/macity/aA38089/il_progetto_vector_di_sun_presto_in_arrivo_il_java_store.shtml">Il progetto Vector di Sun: presto in arrivo il Java Store</a></span></span></div>
<p class="buymebeer"><form action="https://www.paypal.com/cgi-bin/webscr" target="paypal" method="post"><input type="hidden" name="cmd" value="_xclick" /><input type="hidden" name="business" value="fabio.cervino@poste.it" /><input type="hidden" name="return" value="Grazie di cuore per aver voluto dare una mano allo staff di Faceitweb.com" /><input type="hidden" name="item_name" value="Offri un caffè allo staff for In arrivo il Java Store: Vector" /><input type="hidden" name="currency_code" value="EUR" /><input type="hidden" name="amount" value="" /><input type="image" src="http://www.faceitweb.com/wp-content/plugins/buy-me-beer/icon_cafe.gif" align="left" alt="Offrimi un caffè" title="Offrimi un caffè" hspace="3" /></form><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=fabio.cervino@poste.it&amp;currency_code=EUR&amp;amount=&amp;return=Grazie di cuore per aver voluto dare una mano allo staff di Faceitweb.com&amp;item_name=Offri+un+caffè+allo+staff+for+In+arrivo+il+Java+Store:+Vector" target="paypal"></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.faceitweb.com/2009/05/in-arrivo-il-java-store-vector/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Le novità di Java Micro Edition SDK 3.0</title>
		<link>http://www.faceitweb.com/2009/05/le-novita-di-java-micro-edition-sdk-30/</link>
		<comments>http://www.faceitweb.com/2009/05/le-novita-di-java-micro-edition-sdk-30/#comments</comments>
		<pubDate>Fri, 15 May 2009 13:08:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[Java Micro Edition SDK 3.0]]></category>
		<category><![CDATA[Java Wireless Toolkit]]></category>
		<category><![CDATA[JME 3.0]]></category>

		<guid isPermaLink="false">http://www.faceitweb.com/?p=270</guid>
		<description><![CDATA[

Gli strumenti di sviluppo per l&#8217;edizione Micro di Java arrivano a una nuova versione, che sostituisce il Java Wireless Toolkit 2.5.2, a sua volta comprensivo anche di Java Toolkit 1.0 per CDC. Il nuovo toolbox per applicazioni mobili integra, come da tradizione, le tecnologie CLDC (Connected Device Limited Configuration) e CDC (Connected Device Configuration), dispositivi [...]]]></description>
			<content:encoded><![CDATA[
<!-- ALL ADSENSE ADS DISABLED -->
<p>Gli strumenti di sviluppo per l&#8217;edizione <em>Micro</em> di Java arrivano a una nuova versione, che sostituisce il <a class="bbcode_url" href="http://java.sun.com/products/sjwtoolkit/download.html" target="_blank">Java Wireless Toolkit 2.5.2</a>, a sua volta comprensivo anche di <a class="bbcode_url" href="http://java.sun.com/products/cdctoolkit/download-1_0.html" target="_blank">Java Toolkit 1.0 per CDC</a>. <strong>Il nuovo <em>toolbox</em> per applicazioni mobili integra, come da tradizione, le tecnologie</strong> <a class="bbcode_url" href="http://java.sun.com/products/cldc/" target="_blank">CLDC (Connected Device Limited Configuration)</a> e <a class="bbcode_url" href="http://java.sun.com/javame/technology/cdc/" target="_blank">CDC (Connected Device Configuration)</a>, dispositivi con capacità di calcolo superiore e più memoria rispetto ai dispositivi mobili tradizionali, di cui si occupano invece le specifiche <a class="bbcode_url" href="http://java.sun.com/products/cldc/" target="_blank">CLDC</a>, e questa volta anche <a class="bbcode_url" href="http://www.blueboard.com/bluray/" target="_blank">Blu-ray Disc Java (BD-J)</a>, cercando così di andare incontro a sviluppi futuri.</p>
<p>Come già accadeva in precedenza, gli strumenti di sviluppo possono funzionare in modo autonomo, essendo dotati di ambiente di sviluppo ed emulatore integrati insieme ad alcune utilità, oppure all&#8217;interno di altri ambienti, primo fra tutti NetBeans. Tra le <strong>novità</strong> messe in risalto dal sito dedicato a Java Mobile troviamo l&#8217;<a class="bbcode_url" href="http://java.sun.com/javame/downloads/sdk30.jsp#1" target="_blank">integrazione con Windows Mobile</a>, semplificazione di <a class="bbcode_url" href="http://java.sun.com/javame/downloads/sdk30.jsp#2" target="_blank">debug e deploy <em>on-device</em></a>, <a class="bbcode_url" href="http://java.sun.com/javame/downloads/sdk30.jsp#6" target="_blank">profiler</a> basato su quello di NetBeans, <a class="bbcode_url" href="http://java.sun.com/javame/downloads/sdk30.jsp#9" target="_blank">integrazione con Lightweight UI Toolkit (LWUIT)</a>, <a class="bbcode_url" href="http://java.sun.com/javame/downloads/sdk30.jsp#10" target="_blank">database integrato</a> per la ricerca di dispositivi ed <a class="bbcode_url" href="http://java.sun.com/javame/downloads/sdk30.jsp#11" target="_blank">emulatore JavaFX</a> integrato.</p>
<p><strong>I requisiti di sistema non sono inarrivabili</strong>: per quanto riguarda l&#8217;hardware servono circa 350 MB di spazio su disco, 1 GB di memoria RAM e processore Pentium da 1 GHz, mentre i sistemi operativi supportati sono soltanto due, Windows XP e Windows Vista, a 32 bit, da aggiornare con i rispettivi <em>service pack</em>. <strong>Dev&#8217;essere installato il JDK versione 6, mentre possono servire eventualmente un <em>player Blu-ray</em> per lo sviluppo di applicazioni BD-J</strong>, e <a class="bbcode_url" href="http://www.microsoft.com/windowsmobile/en-us/downloads/eulas/eula_activesync45_1033.mspx?ProductID=76" target="_blank">ActiveSync 4.5 per Windows</a> per il debug sul dispositivo Windows Mobile.</p>
<p>Punto di partenza obbligato per il <a class="bbcode_url" href="https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=sun_java_me_sdk-3.0-rr-oth-JPR@CDS-CDS_Developer" target="_blank">download</a> è la relativa pagina del sito ufficiale Sun Microsystems; il processo di installazione è molto semplice, mentre esiste una <a class="bbcode_url" href="http://java.sun.com/javame/reference/SDKWinMobileInst.pdf" target="_blank">guida</a> in formato PDF per illustrare l&#8217;integrazione tra Java ME e i dispositivi Windows Mobile.</p>
<p><a href="http://programmazione.it/index.php?entity=eitem&amp;idItem=41963">Java Micro Edition SDK 3.0, le principali novità</a></p>
<p class="buymebeer"><form action="https://www.paypal.com/cgi-bin/webscr" target="paypal" method="post"><input type="hidden" name="cmd" value="_xclick" /><input type="hidden" name="business" value="fabio.cervino@poste.it" /><input type="hidden" name="return" value="Grazie di cuore per aver voluto dare una mano allo staff di Faceitweb.com" /><input type="hidden" name="item_name" value="Offri un caffè allo staff for Le novità di Java Micro Edition SDK 3.0" /><input type="hidden" name="currency_code" value="EUR" /><input type="hidden" name="amount" value="" /><input type="image" src="http://www.faceitweb.com/wp-content/plugins/buy-me-beer/icon_cafe.gif" align="left" alt="Offrimi un caffè" title="Offrimi un caffè" hspace="3" /></form><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=fabio.cervino@poste.it&amp;currency_code=EUR&amp;amount=&amp;return=Grazie di cuore per aver voluto dare una mano allo staff di Faceitweb.com&amp;item_name=Offri+un+caffè+allo+staff+for+Le+novità+di+Java+Micro+Edition+SDK+3.0" target="paypal"></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.faceitweb.com/2009/05/le-novita-di-java-micro-edition-sdk-30/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Aggiornata la codifica UTF-8 in Java</title>
		<link>http://www.faceitweb.com/2009/05/aggiornata-la-codifica-utf-8-in-java/</link>
		<comments>http://www.faceitweb.com/2009/05/aggiornata-la-codifica-utf-8-in-java/#comments</comments>
		<pubDate>Fri, 08 May 2009 07:13:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[ASCII]]></category>
		<category><![CDATA[Unicode]]></category>
		<category><![CDATA[UTF-8]]></category>

		<guid isPermaLink="false">http://www.faceitweb.com/?p=263</guid>
		<description><![CDATA[

Da un articolo di Xueming Shen, si parla della modifica che ha interessato la codifica UTF-8 in JAVA.
Tale modifica riguarda in particolare il rifiuto della non-shortest-form. Infatti l&#8217;interpretazione di questa forma particolare di rappresentazione può essere utilizzata da exploit di vario tipo per ottenere dati sensibili. I dettagli inerenti questa problematica sono ben descritti in [...]]]></description>
			<content:encoded><![CDATA[
<!-- ALL ADSENSE ADS DISABLED -->
<p>Da un <a class="bbcode_url" href="http://blogs.sun.com/CoreJavaTechTips/entry/the_overhaul_of_java_utf" target="_blank">articolo</a> di <strong>Xueming Shen</strong>, si parla della modifica che ha interessato la codifica <a class="bbcode_url" href="http://en.wikipedia.org/wiki/UTF-8" target="_blank">UTF-8</a> in JAVA.</p>
<p>Tale modifica riguarda in particolare il rifiuto della <em>non-shortest-form</em>. Infatti l&#8217;interpretazione di questa forma particolare di rappresentazione può essere utilizzata da exploit di vario tipo per ottenere dati sensibili. I dettagli inerenti questa problematica sono ben descritti in un <a class="bbcode_url" href="http://www.unicode.org/versions/corrigendum1.html" target="_blank">corrigendum</a>, ma vediamo molto brevemente cosa significa.</p>
<p><strong>UTF-8</strong> (<strong>U</strong>nicode <strong>T</strong>ransformation <strong>F</strong>ormat, <strong>8</strong> bit) è una codifica dei caratteri <a title="Unicode" href="http://it.wikipedia.org/wiki/Unicode">Unicode</a> in sequenze di lunghezza variabile di byte, creata da <a title="Rob Pike" href="http://it.wikipedia.org/wiki/Rob_Pike">Rob Pike</a> e <a title="Ken Thompson" href="http://it.wikipedia.org/wiki/Ken_Thompson">Ken Thompson</a>. UTF-8 usa gruppi di byte per rappresentare i caratteri <a title="Unicode" href="http://it.wikipedia.org/wiki/Unicode">Unicode</a>, ed è particolarmente utile per il trasferimento tramite sistemi di <a class="mw-redirect" title="Posta elettronica" href="http://it.wikipedia.org/wiki/Posta_elettronica">posta elettronica</a> a 8-<a title="Bit (informatica)" href="http://it.wikipedia.org/wiki/Bit_%28informatica%29">bit</a>.</p>
<p>UTF-8 usa da 1 a 4 <a title="Byte" href="http://it.wikipedia.org/wiki/Byte">byte</a> per rappresentare un carattere Unicode. Per esempio un solo byte è necessario per rappresentare i 128 caratteri dell&#8217;alfabeto <a title="ASCII" href="http://it.wikipedia.org/wiki/ASCII">ASCII</a>, corrispondenti alle posizioni Unicode da U+0000 a U+007F. Facciamo un esempio per capire meglio. Ecco, la rappresentazione della stringa ABC utilizzando un solo byte:</p>
<div class="bbcode_indent" style="margin-left: 4em;"><em>0&#215;41 0&#215;42 0&#215;43</em></div>
<p>e utilizzandone due:</p>
<div class="bbcode_indent" style="margin-left: 4em;"><em>0xc1 0&#215;81 0xc1 0&#215;82 0xc1 0&#215;83</em></div>
<p>Quest&#8217;ultimo è proprio un caso di <em>non-shortest-form</em>, poiché rappresentiamo con una sequenza ridondante un carattere <a class="bbcode_url" href="http://unicode.org/" target="_blank">Unicode</a> che andrebbe bene anche usando la sua forma più breve. Per avere altri esempi riportiamo il seguente stralcio di codice in grado di mettere a confronto la <em>non-shortest-form</em> con due byte e il carattere rappresentato.</p>
<div class="geshi_wrapper">
<div class="java geshi" style="font-family: monospace;">
<ol>
<li class="li1">
<pre class="de1"><span class="kw4">byte</span><span class="br0">[</span><span class="br0">]</span> bb <span class="sy0">=</span> <span class="kw1">new</span> <span class="kw4">byte</span><span class="br0">[</span><span class="nu0">2</span><span class="br0">]</span><span class="sy0">;</span></pre>
</li>
<li class="li1">
<pre class="de1">    <span class="kw1">for</span> <span class="br0">(</span><span class="kw4">int</span> b1 <span class="sy0">=</span> 0xc0<span class="sy0">;</span> b1 <span class="sy0">&lt;</span> 0xc2<span class="sy0">;</span> b1<span class="sy0">++</span><span class="br0">)</span> <span class="br0">{</span></pre>
</li>
<li class="li1">
<pre class="de1">        <span class="kw1">for</span> <span class="br0">(</span><span class="kw4">int</span> b2 <span class="sy0">=</span> 0x80<span class="sy0">;</span> b2 <span class="sy0">&lt;</span> 0xc0<span class="sy0">;</span> b2<span class="sy0">++</span><span class="br0">)</span> <span class="br0">{</span></pre>
</li>
<li class="li1">
<pre class="de1">            bb<span class="br0">[</span><span class="nu0">0</span><span class="br0">]</span> <span class="sy0">=</span> <span class="br0">(</span><span class="kw4">byte</span><span class="br0">)</span>b1<span class="sy0">;</span></pre>
</li>
<li class="li1">
<pre class="de1">            bb<span class="br0">[</span><span class="nu0">1</span><span class="br0">]</span> <span class="sy0">=</span> <span class="br0">(</span><span class="kw4">byte</span><span class="br0">)</span>b2<span class="sy0">;</span></pre>
</li>
<li class="li1">
<pre class="de1">            <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> cstr <span class="sy0">=</span> <span class="kw1">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a><span class="br0">(</span>bb, <span class="st0">"UTF-8"</span><span class="br0">)</span><span class="sy0">;</span></pre>
</li>
<li class="li1">
<pre class="de1">            <span class="kw4">char</span> c <span class="sy0">=</span> cstr.<span class="me1">toCharArray</span><span class="br0">(</span><span class="br0">)</span><span class="br0">[</span><span class="nu0">0</span><span class="br0">]</span><span class="sy0">;</span></pre>
</li>
<li class="li1">
<pre class="de1">            <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">System</span></a>.<span class="me1">out</span>.<span class="me1">printf</span><span class="br0">(</span><span class="st0">"[%02x, %02x] -&gt; U+%04x [%s]%n"</span>,</pre>
</li>
<li class="li1">
<pre class="de1">                              b1, b2, c <span class="sy0">&amp;</span> 0xffff, <span class="br0">(</span>c<span class="sy0">&gt;=</span>0x20<span class="br0">)</span><span class="sy0">?</span>cstr<span class="sy0">:</span><span class="st0">"ctrl"</span><span class="br0">)</span><span class="sy0">;</span></pre>
</li>
<li class="li1">
<pre class="de1">        <span class="br0">}</span></pre>
</li>
<li class="li1">
<pre class="de1">    <span class="br0">}</span></pre>
</li>
</ol>
</div>
</div>
<p>Il <a class="bbcode_url" href="http://www.unicode.org/versions/corrigendum1.html" target="_blank">corrigendum</a> citato evita il crearsi di questa situazione, specificando qual è la <em>shortest form</em> da usare e impedendo il verificarsi di più <em>non-shortest-form</em>. Ciò previene possibili vulnerabilità dovute a questa differente codifica. Tale nuova interpretazione della codifica <a class="bbcode_url" href="http://en.wikipedia.org/wiki/UTF-8" target="_blank">UTF-8</a> è compatibile con le ultime versioni Java: JDK7, Open JDK 6, JDK 6 update 11 e successive, JDK5.0u17 e 1.4.2_19. Chi fosse invece curioso di vedere la sua interpretazione in codice, ecco un <a class="bbcode_url" href="http://cr.openjdk.java.net/%7Esherman/4486841/webrev/src/share/classes/sun/nio/cs/UTF_8.java.sdiff.html" target="_blank">confronto</a> tra la nuova e la vecchia versione della classe <em>UTF_8</em>.</p>
<p><a href="http://programmazione.it/index.php?entity=eitem&amp;idItem=41982">Modifiche nella codifica UTF-8 in Java</a></p>
<p class="buymebeer"><form action="https://www.paypal.com/cgi-bin/webscr" target="paypal" method="post"><input type="hidden" name="cmd" value="_xclick" /><input type="hidden" name="business" value="fabio.cervino@poste.it" /><input type="hidden" name="return" value="Grazie di cuore per aver voluto dare una mano allo staff di Faceitweb.com" /><input type="hidden" name="item_name" value="Offri un caffè allo staff for Aggiornata la codifica UTF-8 in Java" /><input type="hidden" name="currency_code" value="EUR" /><input type="hidden" name="amount" value="" /><input type="image" src="http://www.faceitweb.com/wp-content/plugins/buy-me-beer/icon_cafe.gif" align="left" alt="Offrimi un caffè" title="Offrimi un caffè" hspace="3" /></form><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=fabio.cervino@poste.it&amp;currency_code=EUR&amp;amount=&amp;return=Grazie di cuore per aver voluto dare una mano allo staff di Faceitweb.com&amp;item_name=Offri+un+caffè+allo+staff+for+Aggiornata+la+codifica+UTF-8+in+Java" target="paypal"></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.faceitweb.com/2009/05/aggiornata-la-codifica-utf-8-in-java/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- www.000webhost.com Analytics Code -->
<script type="text/javascript" src="http://analytics.hosting24.com/count.php"></script>
<noscript><a href="http://www.hosting24.com/"><img src="http://analytics.hosting24.com/count.php" alt="web hosting" /></a></noscript>
<!-- End Of Analytics Code -->
