﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-小明思考-随笔分类-开发日志</title><link>http://www.blogjava.net/sandy/category/51017.html</link><description>Just a software engineer</description><language>zh-cn</language><lastBuildDate>Wed, 07 Nov 2012 11:46:50 GMT</lastBuildDate><pubDate>Wed, 07 Nov 2012 11:46:50 GMT</pubDate><ttl>60</ttl><item><title>有点难度的java笔试题</title><link>http://www.blogjava.net/sandy/archive/2012/11/07/390916.html</link><dc:creator>小明</dc:creator><author>小明</author><pubDate>Wed, 07 Nov 2012 01:46:00 GMT</pubDate><guid>http://www.blogjava.net/sandy/archive/2012/11/07/390916.html</guid><wfw:comment>http://www.blogjava.net/sandy/comments/390916.html</wfw:comment><comments>http://www.blogjava.net/sandy/archive/2012/11/07/390916.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sandy/comments/commentRss/390916.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sandy/services/trackbacks/390916.html</trackback:ping><description><![CDATA[以下是我在上一家公司出的java笔试题，有些难度，感兴趣的同学可以做做看。<br /><br /><p><span style="font-size:9.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;">---Question---</span></p>  <p><span style="font-size:9.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;">1.What is the output of the following program?&nbsp; </span></p>  <p><span style="font-size:9.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;">public class Foo {</span></p>  <p><span style="font-size:9.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public static void main(String[] args){</span></p>  <p><span style="font-size:9.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Map&lt;byte[], String&gt; m = new HashMap&lt;byte[], String&gt;();</span></p>  <p><span style="font-size:9.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte[] key = "abcd".getBytes();</span></p>  <p><span style="font-size:9.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m.put(key, "abcd");</span></p>  <p><span style="font-size:9.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(m.containsKey(key));</span></p>  <p><span style="font-size:9.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(m.containsKey("abcd"));</span></p>  <p><span style="font-size:9.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(m.containsKey("abcd".getBytes()));</span></p>  <p><span style="font-size:9.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>  <p><span style="font-size:9.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;">}</span></p>  <p><span style="font-size:9.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;">a) true,true,false b)true,false,false c)true,true,true d) false,false,false e)Program throws an exception</span></p>  <p>&nbsp;</p>  <p>2. What is the proper string filled in the following program? </p>  <p>Public class Foo {</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public static void main(String[] args) {</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String s=&#8221;1\\2\\3\\4&#8221;;</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //split the string with &#8220;\&#8221;</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String []result = s.split(&#8220;____&#8221;);</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(String r:result){</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(r);</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>  <p>}</p>  <p>a) \ b) \\ c) \\\ d)\\\\ e)\\\\\</p>  <p>&nbsp;</p>  <p><span style="font-size:9.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;">3. What is the output of the following program?&nbsp; </span></p>  <p>public class Foo {</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public static void main(String[] args) {</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char[] c = new char[] { '1' };</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String s = new String(c);</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("abcd" + c);</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("abcd" + s);</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>  <p>}</p>  <p>a) Compile error b)abcd1,abcd1 c) abcd49,abcd1 d) Program throws an exception e)none of above</p>  <p>&nbsp;</p>  <p>4. Which class is threading safe which one object can be used between multi-threads without extra synchronized?&nbsp; </p>  <p>a) Vector b) HashMap c) ArrayList d)StringBuilder e)HashSet</p>  <p>&nbsp;</p>  <p><span style="font-size:9.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;">5. What is the output of the following program?&nbsp; </span></p>  <p>public class Foo {</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public static void main(String[] args) throws IOException {</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ByteArrayOutputStream baos = new ByteArrayOutputStream();</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte[] b = new byte[]{(byte)0x0,(byte)0x1,(byte)0x2};</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; baos.write(b);</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; baos.write(0x0102);</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte[] result = baos.toByteArray();</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ByteArrayInputStream bais = new ByteArrayInputStream(result);</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(bais.available());</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>  <p>}</p>  <p>a) 0 b) 1 c)4 d) 5 e) Program throws an exception</p>  <p>&nbsp;</p>  <p>6. What is return value of function &#8220;calc&#8221;?</p>  <p>public class Foo {</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public static int calc() throws IOException{</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int ret = 0;</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try{</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ++ret;</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new IOException("try");</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; catch(IOException ioe){</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --ret;</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return ret;</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; finally{</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ++ret;</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return ret;</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>  <p>}</p>  <p>a) 0 b) 1 c)2 d)3 e) throws an exception</p>  <p>&nbsp;</p>  <p>7. <span style="font-size:9.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;">What is the output of the following program?</span> </p>  <p>public class Foo {</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public static class Value {</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private int value;</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public int get(){</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return value;</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void set(int v){</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; value = v;</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public static class Values implements Iterable&lt;Value&gt;{</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public Values(int capacity){</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.capacity = capacity;</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int count =1 ;</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int capacity;</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Value v = new Value();</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public Iterator&lt;Value&gt; iterator() {</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return new Iterator&lt;Value&gt;(){</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public boolean hasNext() {</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return count&lt;=capacity;</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>  <p>&nbsp;</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public Value next() {</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; v.set(count++);</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return v;</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>  <p>&nbsp;</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void remove() {</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new UnsupportedOperationException();</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public static void main(String[] args) {</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Values vs = new Values(10);</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Value result = null;</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(Value v:vs){</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(result ==&nbsp; null){</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; result = v;</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else{</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; result.set(result.get()+v.get());</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(result.get());</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>  <p>}</p>  <p style="margin-left:18.0pt;text-indent:-18.0pt;">a)<span style="font-size: 7pt; line-height: normal; font-family: 'Times New Roman'; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>20 b)40 c)45 d)55 e)throws NullpointerException</p>  <p>&nbsp;</p>  <p>8. If add keyword &#8220;final&#8221; before a class member function, it means:</p>  <p>a) The method can&#8217;t access the non-final member variable.</p>  <p>b) The method can&#8217;t modify the member variable.</p>  <p>c) The method can&#8217;t be override by subclass.</p>  <p>d) The method is a thread-safe function.</p>  <p>e) The method can&#8217;t be accessed by other non-final function.</p>  <p>&nbsp;</p>  <p>9. About java memory and garbage collector, which statement is correct?</p>  <p>a) Moving variable from locale to class will make GC more effectively.</p>  <p>b) When Full GC is executing, all the user threads will be paused.</p>  <p>c) If object A contains a reference of object B and object B contains a reference of object A, the two objects can&#8217;t be reclaimed by GC. </p>  <p>d) When a thread exits, all objects which created by that thread will be reclaimed</p>  <p>e) It is recommended that calling &#8220;System.gc()&#8221; to control the memory usage.</p>  <p>&nbsp;</p>  <p>10. About java classpath and classloader, which statement is NOT correct?</p>  <p>a) User can specify the classpath by using the option &#8220;-cp&#8221; in Java command line.</p>  <p>b) If user doesn&#8217;t specify classpath, the JVM search the class from the current folder by default.</p>  <p>c) A JVM can load two different versions of a library.</p>  <p>d) To define customized class loader, it is possible to load class from internet at runtime.</p>  <p>&nbsp;</p>  <p>&nbsp;</p>  <p>11. Which data structure has best performance when remove an element from it?</p>  <p>a) Vector b)ArrayList c)LinkedList d)HashMap e)HashSet</p>  <p>&nbsp;</p>  <p>12. Which is the correct way to convert bytes from charset &#8220;gb2312&#8221; to &#8220;utf-8&#8221;?</p>  <p>byte[] src , dst;</p>  <p>a) dst = new String(src,&#8221;utf-8&#8221;).getBytes(&#8220;gb2312&#8221;);</p>  <p>b) dst = new String(src,&#8221;gb2312&#8221;).getBytes(&#8220;utf-8&#8221;);</p>  <p>c) dst = new String(src,&#8221;utf-16&#8221;).getBytes();</p>  <p>d) dst = new String(src).getBytes();</p>  <p>e) None of above.</p>  <p>&nbsp;</p><img src ="http://www.blogjava.net/sandy/aggbug/390916.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sandy/" target="_blank">小明</a> 2012-11-07 09:46 <a href="http://www.blogjava.net/sandy/archive/2012/11/07/390916.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用Amazon EC2 命令行工具</title><link>http://www.blogjava.net/sandy/archive/2012/03/07/371409.html</link><dc:creator>小明</dc:creator><author>小明</author><pubDate>Wed, 07 Mar 2012 08:03:00 GMT</pubDate><guid>http://www.blogjava.net/sandy/archive/2012/03/07/371409.html</guid><wfw:comment>http://www.blogjava.net/sandy/comments/371409.html</wfw:comment><comments>http://www.blogjava.net/sandy/archive/2012/03/07/371409.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sandy/comments/commentRss/371409.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sandy/services/trackbacks/371409.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 和Amazon EC2提供了一系列的命令行工具帮助使用自动化任务，比如创建instance，启动instance等等。步骤：1. 下载：http://developer.amazonwebservices.com/connect/entry.jspa?externalID=3512. 创建一个脚本用于设置环境变量。windows平台：Code highlighting produced by Ac...&nbsp;&nbsp;<a href='http://www.blogjava.net/sandy/archive/2012/03/07/371409.html'>阅读全文</a><img src ="http://www.blogjava.net/sandy/aggbug/371409.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sandy/" target="_blank">小明</a> 2012-03-07 16:03 <a href="http://www.blogjava.net/sandy/archive/2012/03/07/371409.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>诡异的mysql latin1编码</title><link>http://www.blogjava.net/sandy/archive/2012/02/24/mysql_latin1.html</link><dc:creator>小明</dc:creator><author>小明</author><pubDate>Fri, 24 Feb 2012 06:54:00 GMT</pubDate><guid>http://www.blogjava.net/sandy/archive/2012/02/24/mysql_latin1.html</guid><wfw:comment>http://www.blogjava.net/sandy/comments/370685.html</wfw:comment><comments>http://www.blogjava.net/sandy/archive/2012/02/24/mysql_latin1.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sandy/comments/commentRss/370685.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sandy/services/trackbacks/370685.html</trackback:ping><description><![CDATA[<div><p><code><span style="font-size: 12pt">Mysql </span></code><code><span style="font-size: 12pt">的latin1 不等于标准的latin1（iso-8859-1） 和cp1252,比iso-8859-1多了0x80-0x9f字符，比cp1252多了0x81,0x8d,0x8f,0x90,0x9d 一共5个字符。<br /></span></code></p> <p><code>&nbsp;</code></p> <p><code><span style="font-size: 12pt"><a title="http://dev.mysql.com/doc/refman/5.0/en/charset-we-sets.html" href="http://dev.mysql.com/doc/refman/5.0/en/charset-we-sets.html">http://dev.mysql.com/doc/refman/5.0/en/charset-we-sets.html</a></span></code></p> <code><span style="font-size: 12pt">latin1</span></code><span> is the default character  set. MySQL's </span><code><span style="font-size: 12pt">latin1</span></code><span> is the same as the  Windows </span><code><span style="font-size: 12pt">cp1252</span></code><span> character set. This  means it is the same as the official </span><code><span style="font-size: 12pt">ISO 8859-1</span></code> or IANA (Internet Assigned Numbers Authority) <code><span style="font-size: 12pt">latin1</span></code><span>, except that IANA  </span><code><span style="font-size: 12pt">latin1</span></code><span> treats the code points  between </span><code><span style="font-size: 12pt">0x80</span></code> and <code><span style="font-size: 12pt">0x9f</span></code> as &#8220;<span>undefined,&#8221; whereas </span><code><span style="font-size: 12pt">cp1252</span></code><span>,  and therefore MySQL's </span><code><span style="font-size: 12pt">latin1</span></code><span>,  assign characters for those positions. For example, </span><code><span style="font-size: 12pt">0x80</span></code> is the Euro sign. For the &#8220;<span>undefined&#8221;  entries in </span><code><span style="font-size: 12pt">cp1252</span></code><span>, MySQL translates  </span><code><span style="font-size: 12pt">0x81</span></code><span> to Unicode  </span><code><span style="font-size: 12pt">0x0081</span></code>, <code><span style="font-size: 12pt">0x8d</span></code> to <code><span style="font-size: 12pt">0x008d</span></code>, <code><span style="font-size: 12pt">0x8f</span></code> to <code><span style="font-size: 12pt">0x008f</span></code>, <code><span style="font-size: 12pt">0x90</span></code> to <code><span style="font-size: 12pt;">0x0090</span></code>, and <code><span style="font-size: 12pt">0x9d</span></code> to <code><span style="font-size: 12pt">0x009d</span></code>.</div><br />这样在Java中，如果使用标准的iso-8859-1或者cp1252解码可能出现乱码。<br />s.getBytes("iso-8859-1") 或者 s.getBytes("cp1252");<br /><br />写了一段代码来解决这个问题<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">private</span><span style="color: #000000; ">&nbsp;String&nbsp;convertCharset(String&nbsp;s){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(s</span><span style="color: #000000; ">!=</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">try</span><span style="color: #000000; ">&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;length&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;s.length();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">byte</span><span style="color: #000000; ">[]&nbsp;buffer&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">byte</span><span style="color: #000000; ">[length];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">0x81&nbsp;to&nbsp;Unicode&nbsp;0x0081,&nbsp;0x8d&nbsp;to&nbsp;0x008d,&nbsp;0x8f&nbsp;to&nbsp;0x008f,&nbsp;0x90&nbsp;to&nbsp;0x0090,&nbsp;and&nbsp;0x9d&nbsp;to&nbsp;0x009d.</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;i</span><span style="color: #000000; ">=</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;i</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">length;</span><span style="color: #000000; ">++</span><span style="color: #000000; ">i){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">char</span><span style="color: #000000; ">&nbsp;c&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;s.charAt(i);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(c</span><span style="color: #000000; ">==</span><span style="color: #000000; ">0x0081</span><span style="color: #000000; ">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buffer[i]</span><span style="color: #000000; ">=</span><span style="color: #000000; ">(</span><span style="color: #0000FF; ">byte</span><span style="color: #000000; ">)</span><span style="color: #000000; ">0x81</span><span style="color: #000000; ">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">else</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(c</span><span style="color: #000000; ">==</span><span style="color: #000000; ">0x008d</span><span style="color: #000000; ">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buffer[i]</span><span style="color: #000000; ">=</span><span style="color: #000000; ">(</span><span style="color: #0000FF; ">byte</span><span style="color: #000000; ">)</span><span style="color: #000000; ">0x8d</span><span style="color: #000000; ">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">else</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(c</span><span style="color: #000000; ">==</span><span style="color: #000000; ">0x008f</span><span style="color: #000000; ">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buffer[i]</span><span style="color: #000000; ">=</span><span style="color: #000000; ">(</span><span style="color: #0000FF; ">byte</span><span style="color: #000000; ">)</span><span style="color: #000000; ">0x8f</span><span style="color: #000000; ">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">else</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(c</span><span style="color: #000000; ">==</span><span style="color: #000000; ">0x0090</span><span style="color: #000000; ">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buffer[i]</span><span style="color: #000000; ">=</span><span style="color: #000000; ">(</span><span style="color: #0000FF; ">byte</span><span style="color: #000000; ">)</span><span style="color: #000000; ">0x90</span><span style="color: #000000; ">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">else</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(c</span><span style="color: #000000; ">==</span><span style="color: #000000; ">0x009d</span><span style="color: #000000; ">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buffer[i]</span><span style="color: #000000; ">=</span><span style="color: #000000; ">(</span><span style="color: #0000FF; ">byte</span><span style="color: #000000; ">)</span><span style="color: #000000; ">0x9d</span><span style="color: #000000; ">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">else</span><span style="color: #000000; ">{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buffer[i]&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;Character.toString(c).getBytes(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">cp1252</span><span style="color: #000000; ">"</span><span style="color: #000000; ">)[</span><span style="color: #000000; ">0</span><span style="color: #000000; ">];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;result&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;String(buffer,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">utf-8</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;result;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000FF; ">catch</span><span style="color: #000000; ">&nbsp;(UnsupportedEncodingException&nbsp;e)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;logger.error(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">charset&nbsp;convert&nbsp;error</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,&nbsp;e);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}</span></div><img src ="http://www.blogjava.net/sandy/aggbug/370685.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sandy/" target="_blank">小明</a> 2012-02-24 14:54 <a href="http://www.blogjava.net/sandy/archive/2012/02/24/mysql_latin1.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Snaker开发笔记(1)-实现插件</title><link>http://www.blogjava.net/sandy/archive/2012/01/20/368643.html</link><dc:creator>小明</dc:creator><author>小明</author><pubDate>Fri, 20 Jan 2012 07:27:00 GMT</pubDate><guid>http://www.blogjava.net/sandy/archive/2012/01/20/368643.html</guid><wfw:comment>http://www.blogjava.net/sandy/comments/368643.html</wfw:comment><comments>http://www.blogjava.net/sandy/archive/2012/01/20/368643.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/sandy/comments/commentRss/368643.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sandy/services/trackbacks/368643.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 如何在Java中实现Javascript插件?&nbsp;&nbsp;<a href='http://www.blogjava.net/sandy/archive/2012/01/20/368643.html'>阅读全文</a><img src ="http://www.blogjava.net/sandy/aggbug/368643.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sandy/" target="_blank">小明</a> 2012-01-20 15:27 <a href="http://www.blogjava.net/sandy/archive/2012/01/20/368643.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java 控制台中文问题(windows平台）</title><link>http://www.blogjava.net/sandy/archive/2012/01/19/368747.html</link><dc:creator>小明</dc:creator><author>小明</author><pubDate>Thu, 19 Jan 2012 08:18:00 GMT</pubDate><guid>http://www.blogjava.net/sandy/archive/2012/01/19/368747.html</guid><wfw:comment>http://www.blogjava.net/sandy/comments/368747.html</wfw:comment><comments>http://www.blogjava.net/sandy/archive/2012/01/19/368747.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/sandy/comments/commentRss/368747.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sandy/services/trackbacks/368747.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Java 控制台中文问题&nbsp;&nbsp;<a href='http://www.blogjava.net/sandy/archive/2012/01/19/368747.html'>阅读全文</a><img src ="http://www.blogjava.net/sandy/aggbug/368747.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sandy/" target="_blank">小明</a> 2012-01-19 16:18 <a href="http://www.blogjava.net/sandy/archive/2012/01/19/368747.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java i18n kit</title><link>http://www.blogjava.net/sandy/archive/2005/12/19/24655.html</link><dc:creator>小明</dc:creator><author>小明</author><pubDate>Mon, 19 Dec 2005 09:26:00 GMT</pubDate><guid>http://www.blogjava.net/sandy/archive/2005/12/19/24655.html</guid><wfw:comment>http://www.blogjava.net/sandy/comments/24655.html</wfw:comment><comments>http://www.blogjava.net/sandy/archive/2005/12/19/24655.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/sandy/comments/commentRss/24655.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sandy/services/trackbacks/24655.html</trackback:ping><description><![CDATA[<p>Here is my some recommendations for java i18n .</p>
<p><strong>1.&nbsp; The correct way to handle text-based resource files for localization</strong></p>
<p>&nbsp;Use java.util.ResourceBoundle to read resource from file.</p>
<p>e.g.<br />&nbsp;Local local = Local.CHINA;<br />&nbsp;ResourceBundle rb = ResourceBundle.getBundle("test", local);<br />&nbsp;String title = rb.getString("helloworld.title");<br />&nbsp;System.out.println(title);</p>
<p>&nbsp;//The program will read file: test_zh.properties<br />&nbsp;# This locale is zh_CN<br />&nbsp;# helloworld.title=中文1234<br />&nbsp;and the file should use native2ascii program to convert (native2ascii.exe is in JDK)<br />&nbsp;# This locale is zh_CN<br />&nbsp;helloworld.title=\u4f60\u597d1234</p>
<p>&nbsp;if you don't use native2ascii&nbsp; to covert,you must covert it in the java program,like this:<br />&nbsp;ResourceBundle rb = ResourceBundle.getBundle("test", Locale.CHINA);<br />&nbsp;&nbsp;&nbsp; &nbsp;String title = rb.getString("helloworld.title");<br />&nbsp;&nbsp; &nbsp;System.out.println(new String(title.getBytes("8859_1")));&nbsp; //covert to os/jvm default charset</p>
<p><strong>2.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Locale driven date and time display</strong><br />&nbsp;<br />&nbsp;Use java.text.DateFormat to format date string<br />e.g.<br />&nbsp;DateFormat df = DateFormat.getDateInstance(DateFormat.FULL,Locale.CHINA);<br />&nbsp;String date = df.format(new Date());<br />&nbsp;&nbsp; &nbsp;System.out.println(date);</p>
<p>&nbsp;DateFormat df2 = DateFormat.getDateTimeInstance(DateFormat.DEFAULT,DateFormat.DEFAULT,Locale.CHINA);<br />&nbsp;String datetime = df2.format(new Date());<br />&nbsp;&nbsp; &nbsp;System.out.println(datetime);</p>
<p><strong>3.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JSP localization method.</strong></p>
<p>1) native method:<br />&nbsp;use "Local local = request.getLocale();" to get the page accessor's local info<br />&nbsp;then use ResourceBoundle to read local resource<br />&nbsp;and page should use utf-8 charset<br />&nbsp;<br />e.g.<br />&lt;%@ page contentType="text/html; charset=utf-8" %&gt;<br />&lt;%<br />Local local = request.getLocale();<br />ResourceBundle rb = ResourceBundle.getBundle("test", local);<br />String title = rb.getString("helloworld.title");<br />%&gt;<br />&lt;html&gt;<br />&lt;head&gt;<br />&lt;title&gt;test&lt;/title&gt;<br />&lt;/head&gt;<br />&lt;body bgcolor="#ffffff"&gt;<br />&lt;h1&gt;&lt;%=title%&gt;&lt;/h1&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;<br />notice:put the&nbsp; test_zh.properties into directionary WEB_INF/classes</p>
<p>2)use jsp taglib to simplify the page </p>
<p>&nbsp;the Jakarta i18n taglib is a good choice. <a href="http://jakarta.apache.org/taglibs/doc/i18n-doc/index.html">http://jakarta.apache.org/taglibs/doc/i18n-doc/index.html</a><br />e.g.<br />&lt;%@ page contentType="text/html; charset=utf-8"%&gt;<br />&lt;%@ taglib uri="<a href="http://jakarta.apache.org/taglibs/i18n-1.0">http://jakarta.apache.org/taglibs/i18n-1.0</a>" prefix="i18n" %&gt;<br />&lt;i18n:bundle baseName="test" id="test" localeRef="userLocale"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; scope="request"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; changeResponseLocale="false"/&gt;<br />&lt;html&gt;<br />&lt;head&gt;<br />&lt;title&gt;test&lt;/title&gt;<br />&lt;/head&gt;<br />&lt;body bgcolor="#ffffff"&gt;<br />&lt;h1&gt;&lt;i18n:message key="helloworld.title" /&gt;&lt;/h1&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;</p>
<p>3）use j2ee web framework(Struts) to simplify </p>
<p>&nbsp;the Struts web framework supply i18n support<br />&nbsp;Please refer: <a href="http://www.allapplabs.com/struts/struts_internationalization.htm">http://www.allapplabs.com/struts/struts_internationalization.htm</a><br /></p><img src ="http://www.blogjava.net/sandy/aggbug/24655.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sandy/" target="_blank">小明</a> 2005-12-19 17:26 <a href="http://www.blogjava.net/sandy/archive/2005/12/19/24655.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>