Java 6 ÖÐÒ²¿ÉÒÔÔËÐÐ javascript à¶ (ת)
¸ø Java SE ×¢Èë½Å±¾ÓïÑԵĻîÁ¦
Mustang µÄ½Å±¾ÓïÑÔÐÂÌØÐÔ
ÎĵµÑ¡Ïî
½«´ËÒ³×÷Ϊµç×ÓÓʼþ·¢ËÍ
½«´ËÒ³×÷Ϊµç×ÓÓʼþ·¢ËÍ
¼¶±ð£º Öм¶
Îâ 玥ò« (wuyuehao@cn.ibm.com), Èí¼þ¹¤³Ìʦ, IBM
2006 Äê 10 ÔÂ 30 ÈÕ
ÔÚ¼´½«·¢²¼µÄ Java SE6£¨Mustang£©ÖУ¬Ôö¼ÓÁ˶Խű¾ÓïÑÔµÄÖ§³Ö¡£Í¨¹ý¶Ô½Å±¾ÓïÑԵĵ÷Óã¬Ê¹µÃһЩͨ³£Óà Java ±È½ÏÄÑÓÚʵÏֵŦÄܱäµÃ¼òµ¥ºÍÇá±ã¡£½Å±¾ÓïÑÔÓë Java Ö®¼äµÄ»¥²Ù×÷½«±äµÃÓÅÑŶøÖ±½Ó¡£
½Å±¾ÓïÑÔÓë Java
¼ÙÉèÎÒÃÇÓÐÒ»¸ö¼òµ¥µÄÐèÇ󣬲쿴һ·ÝÎĵµÖÐ 5 ¸ö×Öĸ×é³ÉµÄµ¥´ÊµÄ¸öÊý¡£Óà Java Ò»°ãʵÏÖÈçÏ£º
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class Find5Words {
public static void main(String[] args) throws IOException {
String result = "";
String line = null;
int num = 0;
FileReader fr = new FileReader("filename");
BufferedReader br = new BufferedReader(fr);
while ((line = br.readLine()) != null) {
result += line;
}
br.close();
fr.close();
String[] s = result.split(" ");
for (int i = 0; i < s.length; i++) {
if (s[i].matches("^\\w{5}$")) {
num++;
}
}
System.out.println(num);
}
}
ÔÙ¿´¿´ Perl ÓïÑÔʵÏÖͬÑù¹¦ÄܵĴúÂ룺
open FILE, "<filename ";
while (<FILE>) {
for (split) {
$num++ if /^\w{5}$/
}
}
print $num;
ÄÇôÓÐûÓÐÒ»ÖÖÓÅÑŵķ½Ê½½« Java Óë½Å±¾ÓïÑÔ½áºÏÄØ£¬ÔÚ½ñÄêÇï¼¾¼´½«·¢²¼µÄ Java SE6£¨´úºÅ Mustang£©ÖУ¬Õ⽫³ÉΪÏÖʵ¡£
»ØÒ³Ê×
Mustang µÄ½Å±¾ÒýÇæ
JSR 233 Ϊ Java Éè¼ÆÁËÒ»Ì׽ű¾ÓïÑÔ API¡£ÕâÒ»Ì× API ÌṩÁËÔÚ Java ³ÌÐòÖе÷Óø÷Öֽű¾ÓïÑÔÒýÇæµÄ½Ó¿Ú¡£ÈκÎʵÏÖÁËÕâÒ»½Ó¿ÚµÄ½Å±¾ÓïÑÔÒýÇæ¶¼¿ÉÒÔÔÚ Java ³ÌÐòÖб»µ÷Óá£ÔÚ Mustang µÄ·¢Ðа汾ÖаüÀ¨ÁËÒ»¸ö»ùÓÚ Mozilla Rhino µÄ JavaScript ½Å±¾ÒýÇæ¡£
Mozilla Rhino
Rhino ÊÇÒ»¸ö´¿ Java µÄ¿ªÔ´µÄ JavaScript ʵÏÖ¡£ËûµÄÃû×ÖÀ´Ô´ÓÚ O'Reilly ¹ØÓÚ JavaScript µÄÊéµÄ·âÃæ£º
Rhino ÏîÄ¿¿ÉÒÔ×·Ë·µ½ 1997 Ä꣬µ±Ê± Netscape ¼Æ»®¿ª·¢Ò»¸ö´¿ Java ʵÏÖµÄ
Ïà¹ØÎĵµ£º
ÒýÑÔ
JavaScript²»Êǰ´ÃæÏò¶ÔÏóµÄ˼ÏëÉè¼ÆµÄ³ÌÐòÓïÑÔ£¬ËùÒÔËü²»¾ß±¸ÏñÏÖÓеÄÃæÏò¶ÔÏóµÄÓïÑÔÄÇÑùµÄ¹¦ÄÜ£¬µ«ÊÇÃæÏò¶ÔÏóµÄ˼ÏëÊÇÈç´ËµÄÉîÈëÈËÐÄ£¬ÒÔÖÁÓÚJavaScriptÒ²Ï÷¼âÁËÄÔ´ü“ÃæÏò¶ÔÏó”¡£¹ûÕæ£¬Í¨¹ýÒ»Ð©ÌØÊâµÄ´¦Àí£¬JavaScriptÒ²¾ßÓÐÁË»ù±¾µÄÃæÏò¶ÔÏóµÄ¹¦ÄÜ¡£
......
ÔÚûÓкúõØÑÐÏ°ÃæÏò¶ÔÏóÉè¼ÆµÄÉè¼ÆÄ£Ê½Ö®Ç°£¬ÎÒ¶ÔJava½Ó¿ÚºÍJava³éÏóÀàµÄÈÏʶ»¹ÊǺÜÄ£ºý£¬ºÜ²»¿ÉÀí½â¡£
¸ÕѧJavaÓïÑÔʱ£¬¾ÍºÜÄÑÀí½âΪʲôҪÓнӿÚÕâ¸ö¸ÅÄËä˵ÊÇ¿ÉÒÔʵÏÖËùνµÄ¶à¼Ì³Ð£¬¿ÉÒ»¸öÖ»Óз½·¨Ãû£¬Ã»Óз½·¨ÌåµÄ¶«Î÷£¬ÎÒʵÏÖËüÓÖÓÐʲôÓÃÄØ£¿ÎÒ´ÓËüÄÇʲôҲµÃ²»µ½£¬³ýÁËһЩ·½·¨Ãû£¬ÎÒÖ±½ÓÔÚ¾ßÌåÀàÀï¼ÓÈëÕâЩ·½ ......
×î½üÒòΪÏîÄ¿ÐèÒª£¬Ñо¿ÁËjava html parserÀà¿âµÄÓ¦Ó᣼ǼÏÂʹÓÃÒªµã£º
Ö÷ÒªµÄÀà˵Ã÷£º
1¡¢ParserÀà
½âÎöÆ÷Ö÷À࣬¸ºÔðÔØÈëHTML´úÂë²¢½âÎö¡£
2¡¢Node½Ó¿Ú
ÓÃÀ´±íÕ÷ÔÚ½âÎö¹ý³ÌÖÐʹÓõÄÓï·¨µ¥Ôª¡£Ê¾ÀýÈç϶Îhtml´úÂ룺
<span> ----Tag node
text ----Text Node
</span>
Îı¾ºÍ±êÇ©¶¼ÊǶÀÁ¢µÄnodeÔªËØ¡ ......
ÔÚJava
ÓïÑÔÖУ¬ abstract class ºÍinterface
ÊÇÖ§³Ö³éÏóÀà
¶¨
ÒåµÄÁ½ÖÖ»úÖÆ¡£ÕýÊÇÓÉÓÚÕâÁ½ÖÖ»úÖÆµÄ´æÔÚ£¬²Å¸³ÓèÁËJavaÇ¿´óµÄ ÃæÏò¶ÔÏóÄÜÁ¦¡£abstract
classºÍinterfaceÖ®¼äÔÚ¶ÔÓÚ³éÏóÀඨÒåµÄÖ§³Ö·½Ãæ¾ßÓкܴóµÄÏàËÆÐÔ£¬ÉõÖÁ¿ÉÒÔÏà»¥Ìæ»»£¬Òò´ËºÜ¶à¿ª·¢ÕßÔÚ½ø
ÐгéÏóÀඨÒåʱ¶ÔÓÚabstract
classºÍinterfaceµÄÑ¡Ô ......
JavaÔÚJDK1.3Ö®ºó¼ÓÈëÁË¿ÉÐÖú¿ª·¢¶¯Ì¬´úÀí¹¦ÄܵÄAPI.ʹÓö¯Ì¬´úÀí£¬¿ÉÒÔʹһ¸ö´¦ÀíÕߣ¨´úÀí£©·þÎñÓÚ¸÷¸ö¶ÔÏó¡£´´½¨Ò»¸ö¶¯Ì¬´úÀíÀàÖ»ÐèʵÏÖjava.lang.reflect.InvocationHandler½Ó¿Ú¡£
ÏÂÃæ´´½¨Ò»¸ö´¦ÀíÈÕÖ¾µÄ¶¯Ì¬´úÀíÀàLogHandlerÈ¥´úÀíHelloSpeakerÀà
Ê×ÏÈ´´½¨HelloSpeakerµÄ½Ó¿Ú
pa ......