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£¬È»ºó½øÈëÄÚ²ãÑ»
Ïà¹ØÎĵµ£º
Ò»¡¢
HTTP
ÐÒéµÄÀí½â
1.
ʲôÊÇ
HTTP
ÐÒé
HTTP
ÊÇÒ»ÖÖ³¬±¾ÎÄ´«ÊäÐÒ飬ÊÇÒ»Ì×¼ÆËã»úÔÚÍøÂçÖÐͨÐŵĹæÔò¡£ËûÊÇÒ»ÖÖÎÞ״̬µÄ´«Ê䷽ʽ¡£
2.
HTTP
ÐÒéµÄ¸ñʽ
HTTP
µÄÇëÇó£º
Ç ......
¡¡¡¡Àà¼ÓÔØÊÇjavaÓïÑÔÌṩµÄ×îÇ¿´óµÄ»úÖÆÖ®Ò»¡£¾¡¹ÜÀà¼ÓÔØ²¢²»ÊÇÌÖÂÛµÄÈȵ㻰Ì⣬µ«ËùÓеıà³ÌÈËÔ±¶¼Ó¦¸ÃÁ˽âÆä¹¤×÷»úÖÆ£¬Ã÷°×Ôõô×ö²ÅÄÜÈÃÆäÂú×ãÎÒÃǵÄÐèÒª¡£ÕâÄÜÓÐЧ½ÚÊ¡ÎÒÃǵıàÂëʱ¼ä£¬´Ó²»¶Ïµ÷ÊÔClassNotFoundException, ClassCastExceptionµÄ¹¤×÷ÖнâÍѳöÀ´¡£
¡¡¡¡ÕâÆªÎÄÕ´ӻù´¡½²Æð£¬±ÈÈç´úÂëºÍÊý¾ÝµÄ²»Í¬Ö®´¦ÊÇʲ ......
¼ÇµÃÒ»Äêǰ£¬ÕýÊÇ×Ô¼º¶Ôjava°®²»ÊÍÊÖµÄʱºò£¬¶øÍøÉÏÒ²ÊÇÒ»²¨ÓÖÒ»²¨µÄjava³°·íÈÈ£¬ÎÒ·ßÅÁË£¬¾ÍÏñÈËÈ˶¼»áº´ÎÀ×Ô¼ºÏ²»¶µÄ¶«Î÷Ò»Ñù¡£ÎÒÔÚÄÚÍøÒ»´ÎÓÖÒ»´ÎµÄ·¢Ìû·¢Ð¹£¬¿ÉÄܰÓÚÎÒÊǰæÖ÷£¬javaÅúÅÐÕßÃÇҲûÓлØÌû¡£Ö±µ½ºóÀ´£¬´ó¼ÒÈÏʶÎÒ£¬¶¼ËµÂ··ÉºÜÉó¤java£¬javaºÜÀ÷º¦¡£ÆäʵÎÒÖ»¶ÔJ2SEÂÔ¶®Æ¤Ã«¡£ÎÒϲ»¶javaµÄÔÒòÊÇ£¬¶ÔÓÚÒ»¸ö ......
Ö±½ÓÑ¡ÔñÅÅÐòËã·¨£º´Ó´ýÅÅÐòµÄÊý¾ÝÔªËØ¼¯ºÏÖÐѡȡ×îСµÄÔªËØ·Åµ½ÔʼÊý¾ÝµÄµÚÒ»¸öÔªËØµÄλÖÃÉÏ¡£È»ºó²»°üÀ¨µÚÒ»¸öÔªËØµÄÊý¾ÝÔªËØ¼¯ºÏÖÐÕÒµ½×îСµÄÔªËØ·Åµ½´Ë¼¯ºÏÖУ¬ÒÀ´ÎÀàÍÆ£¬¼´¿ÉÍê³ÉÅÅÐò¡£
Ë㷨ʵÏÖÈçÏ£º
/**
* Ö±½ÓÑ¡ÔñÅÅÐò
* @param a ÓÃÓÚÅÅÐòµÄÊý×é
* */
public void ......
java for foreach whileÑ»·µÄ±È½Ï
¹Ø¼ü×Ö: java
ÔÚjavaÖо¿¾¹ÊÇÒ»°ãµÄforÑ»·£¬»¹ÊÇforµÄÔöÇ¿ÐÍforeach£¬»òÊÇwhileµÄÖ´ÐÐЧÂʱȽϿìÄØ,ÎÒÓÃÁËÒ»¸ö¼òµ¥µÄ³ÌÐòÀ´·ÖÎö3ÖÖÑ»·
public static void main(String[] args) {
List<Integer> map = new ArrayList<Integer>();
for (int i = 0; i < ......