Java "ÓÐÀíÓÉ" ±È C++ ¿ì
Java "ÓÐÀíÓÉ" ±È C++ ¿ì
×î½üÉÏCSDN±È½Ï¶à£¬ÓÖ¿´µ½ËµJava±ÈC++¸ü¿ìµÄÌû×Ó¡£
JavaÔÚijЩÇé¿öϱÈC++¿ìÎÒÈÏΪÊǺÜÓеÀÀíµÄ¡£ÀýÈç¿ÉÒÔ¸ù¾ÝÌØ¶¨µÄCPU½øÐÐÓÅ»¯µÈµÈ¡£
ÓÐλ½Ð wingfiring(±ð¶ºÁË)(·ÇµäÐÍͺ×Ó) µÄÀÏÐÖ·¢ÁËÒ»¸öÌû×Ó£¬ÔÎÄÈçÏ£º
ºÃ£¬ÎÒûÄÇô¶àʱ¼ä³³C++ºÃ»¹ÊÇJavaºÃ£¬ËùÒÔ£¬ÎÒ¾ÍÏÈÕ°ÑöÒ»ÏÂÂ¥Ö÷¸ø³öµÄÁ´½Ó°É£¬
µÚÒ»¸ö£º
http://kano.net/javabench/
ÀïÃæÓÐÁ½¶Î´úÂë
http://kano.net/javabench/src/cpp/
http://kano.net/javabench/src/java/
È»ºó¸ø³öÁË×Ô¼ºµÄÀíÓɲµ³âÕâ¸ö¹Ûµã¡£¿ÉϧÂíÉϾÍÑÍûÔÚÎÞÐÝÖ¹µÄÀ¬»øÌù×ÓºóÃæ¡£
ÎÒÈ»ºó¾ÍÄÃÉÏÃæµÄÕâ¸öÁ´½ÓÀ´Ëµ£¬·ÖÎöΪʲôJava±ÈC++¿ì¡£
´ó¸ÅµÄÔ´´úÂëÌù³öÀ´£º
Java°æ±¾£º
try {
byte[] buff = new byte[4096];
boolean inword = false;
int length;
while ((length = System.in.read(buff)) != -1) #1
{
nc += length;
for(int i = 0; i < length; i++) { #2
char c = (char)buff[i];
if (c == '\n')
++nl;
if (Character.isWhitespace(c))
inword = false;
else if (inword == false) {
++nw;
inword = true;
}
}
}
×¢Òâ#1ÕâÒ»ÐУ¬read½«4K×Ö½Ú¶ÁÈëbuffÖУ¬È»ºóÔÚ#2½øÐÐÄÚ²ãÑ»·£¬
C++°æ±¾£»
char buff[4096];
cin.rdbuf()->pubsetbuf(buff, 4096); #0// enable buffering
state = OUT;
nl = nw = nc = 0;
int intc;
streambuf* sbuf = cin.rdbuf();
while ((intc = sbuf->sbumpc()) != EOF) { #1
c = (char)intc;
++nc;
if (c == '\n')
++nl;
if (c == ' ' || c == '\n' || c == '\t')
state = OUT;
else if (state == OUT) {
state = IN;
++nw;
}
}
cout << nl << " " << nw << " " << nc << endl;
×¢ÒâC++°æ±¾Ö»Óе¥²ãÑ»·£¬ËäÈ»ÔÚ#0Ã²ËÆ¹«ÕýµÄ¿ª±ÙÁËͬÑù´óСµÄ4K buffer£¬µ«ÊÇÿһ¸ö×ֽڵĻñµÃ¶¼ÊÇͨ¹ýsbumpc()º¯Êý£¬µ÷ÓÃÒ»´Î¶Áȡһ¸ö×Ö½Ú£¬sbumpc´ó¸ÅÆäÖеÄÂß¼ÊÇÊ²Ã´ÄØ£¿Ê×ÏÈÒªÅжÏÊÇ·ñ¶Áµ½ÄÚ²¿»º³åÇøÎ²ÁË£¬Èç¹ûûÓУ¬ÄÇôµÝÔöÒ»¸öÖ¸Õ룬Èç¹û¶Áµ½Î²ÁË£¬ÄÇô½øÐÐϵͳµ÷ÓøüÐÂbuffer¡£¹âÆäÖÐifÓïÑԵĿªÏú¾Í¾ªÈË¡£
¶øJava°æ±¾¾Íͨ¹ýÒ»¸öreadº¯Êýµ÷Óã¬Ö±½Ó½«²»¶àÓÚ4KµÄÊý¾Ý´ÓÁ÷ÖжÁÈ¡µ½±¾µØbufferÖУ¬È»ºó½øÐÐÄÚ²ãÑ»·¡£
ÕâÑù¶ÔÓÚC++µÄ°æ±¾£¬ËäÈ»¶ÔOSµ×²ãµÄϵͳµ÷ÓúÍJavaÒ»Ñù¶à£¬µ«ÊǺ¯Êýµ÷ÓõĴÎÊý¿ªÏú¼¸ºõÊÇJavaµÄ4000±¶¡£
¼´Ò»¸ö8KµÄÎļþ£¬Javaµ÷ÓÃÁ½´Îread£¬È»ºó½øÈëÄÚ²ãÑ»
Ïà¹ØÎĵµ£º
Ò»¡¢
GET
ºÍ
POST
µÄÇø±ð
1.GET
Ìá½»µÄÊÇÎı¾ÄÚÈÝ£¬¹æ¶¨ÆäÊý¾Ý³¤¶È²»³¬¹ý
255
¸ö×Ö·û¡£ÔÚ
GET
·½Ê½Ìá½»µÄ
URL
ÖлáÏÔʾ³öÌá½»µÄ²éѯÊý¾Ý¶øÈ´Ìá½»Êý¾ÝµÄ»º´æ»áÔÚä¯ÀÀÆ÷µÄ
URL
Àúʷ״̬ÖУ¬ÕâÑùÎÒÃÇÍùÍùÔÚä¯ÀÀÍøÒ³µÄʱºòµã»÷ºóÍ˼ü²»ÐèÒªÖØÐ·¢ËÍÇëÇó¡£
2.POST
Ìá½»µÄ¿ÉÒÔʹÎı¾ÄÚÈÝ£¬Ò²¿ÉÒÔʹ¶þ½øÖÆÄÚÈÝ£¬Ëù ......
Ò»¡¢
ʲôÊǹýÂËÆ÷
´Ó¼¼ÊõÉϽ²¹ýÂËÆ÷ÊÇÒ»¸öÖмä×é¼þ£¬ÓÃÓÚÀ¹½ØÔ´Êý¾ÝºÍÄ¿µÄÊý¾Ý¼äµÄÏûÏ¢£¬²¢ÇÒ¹ýÂ˶þÕßÖ®¼ä´«µÝµÄÊý¾Ý¡£¶ÔÓÚ
WEB
Ó¦ÓóÌÐò£¬¹ýÂËÆ÷ÊÇפÁôÔÚ
WEB
·þÎñÆ÷ÉϵÄ
WEB
×é¼þ¡£¶ÔÓÚ¿Í»§¶ËºÍÄ¿±ê×ÊÔ´¶øÑÔ¹ýÂËÆ÷ÊÇ͸Ã÷µÄ£¬ËûÃÇÊDz»ÖªµÀ·¢ËÍÀ´µÄÊý¾ÝÊÇ·ñ¾¹ý¹ýÂËÆ÷µÄ´¦Àí¡£
¶þ¡¢
¹ýÂËÆ÷µÄ×÷ÓÃ
¹ýÂËÆ÷Ï൱ÓÚÒ ......
ËÄ¡¢JSTLµÄÓ÷¨
ÔÚÆ½³£µÄʹÓÃÖÐÎÒÃÇÒ»°ãÀûÓÃ
EL
¿ØÖƱäÁ¿ÒÔ¼°±äÁ¿µÄÊä³ö£¬ÀûÓÃ
JSTL
¿ØÖÆËãÊõÂß¼¡£
JSTL
ÊÇÒ»ÖÖ±ê¼Ç¡£
1.
JSTL
µÄµ¼Èë
&nb ......
javac
Ó÷¨£ºjavac <Ñ¡Ïî> <Ô´Îļþ>
ÆäÖУ¬¿ÉÄܵÄÑ¡Ïî°üÀ¨£º
-g   ......
LuceneÊÇÒ»¸ö»ùÓÚJavaµÄÈ«ÎÄË÷Òý¹¤¾ß°ü¡£
»ùÓÚJavaµÄÈ«ÎÄË÷ÒýÒýÇæLucene¼ò½é£º¹ØÓÚ×÷ÕߺÍLuceneµÄÀúÊ·
È«ÎļìË÷µÄʵÏÖ£ºLueneÈ«ÎÄË÷ÒýºÍÊý¾Ý¿âË÷ÒýµÄ±È½Ï
ÖÐÎÄÇзִʻúÖÆ¼ò½é£º»ùÓÚ´Ê¿âºÍ×Ô¶¯ÇзִÊËã·¨µÄ±È½Ï
¾ßÌåµÄ°²×°ºÍʹÓüò½é£ºÏµÍ³½á¹¹½éÉܺÍÑÝʾ
Hacking Lucene£º¼ò»¯µÄ²éѯ·ÖÎöÆ÷£¬É¾³ýµÄʵÏÖ£¬¶¨ÖƵÄÅ ......