紧咬 9 行代码,索赔超 10 亿美元

Ô­Îijö´¦£º ²®ÀÖÔÚÏß 

±³¾° 

¼×¹ÇÎĺ͹ȸèÖ®¼äµÄ Java °æȨËßËÏ°¸´Ó 2010 Äê 8 ÔÂÆð£¬ÒѾ­ÓÐ 5 Äê¶àÁË¡£2015 Äê 6 Ô£¬ÃÀ¹ú¸ßµÈ·¨Ôº²µ»Ø¹È¸èµÄÉÏËߣ¬Î¬³ÖÔ­ÅУ¨¼´£ºÅж¨ API ÊÜ°æȨ±£»¤£¬¹È¸èÇÖȨ£©¡£

2015 Äê 10 Ô°¸¼þÍË»ØÃÀ¹úµØÇø·¨Ôº£¬ÓÉ William Alsup ·¨¹ÙÔÙ´ÎÉóÀí¡£Õâλ·¨¹ÙÔøÔÚ 2012 ÄêÍÆ·­ÁËÅãÉóÍÅÈÏΪ¹È¸èÇÖȨµÄÒâ¼û£¬³Æ API ²»Ó¦¸ÃÊÜ°æȨ±£»¤¡£

Õâ¸ö°¸×Ó×î½üÓÖÓÐнøÕ¹ÁË¡£William Alsup ·¨¹ÙÑûÇëÁËһλ¾­¼Ãѧ½ÌÊÚÀ´ÆÀ¹À Android µÄ 9 ÐдúÂëÊÇ·ñÇÖȨ£¬Õâ³¹µ×µÄ¼¤Å­Á˼׹ÇÎÄ¡£¼×¹ÇÎıíʾÕâλ½ÌÊÚ¸ù±¾Ã»ÓÐÄÜÁ¦ÆÀ¹À´úÂë¡£

±¸ÊÜÕùÒéµÄ 9 ÐдúÂ룬¿ÉÈëÑ¡×î¹óµÄ´úÂë¶Î

OpenJDK ÖеÄÄÇ 9 ÐдúÂ룺

private static void rangeCheck(int arrayLen, int fromIndex, int toIndex) {
        if (fromIndex > toIndex)
            throw new IllegalArgumentException("fromIndex(" + fromIndex +
                       ") > toIndex(" + toIndex+")");
        if (fromIndex < 0)
            throw new ArrayIndexOutOfBoundsException(fromIndex);
        if (toIndex > arrayLen)
            throw new ArrayIndexOutOfBoundsException(toIndex);
    }

Google ÓÃÁ˵ÄÄÇ 9 ÐдúÂ룺

private static void rangeCheck(int arrayLen, int fromIndex, int toIndex) {
        if (fromIndex > toIndex)
            throw new IllegalArgumentException("fromIndex(" + fromIndex +
                       ") > toIndex(" + toIndex+")");
        if (fromIndex < 0)
            throw new ArrayIndexOutOfBoundsException(fromIndex);
        if (toIndex > arrayLen)
            throw new ArrayIndexOutOfBoundsException(toIndex);
    }

ÕâÁ½¶Î´úÂ붼ÊÇ Joshua Bloch дµÄ¡£

blob.png

Bloch Ôø¾­ÔÚ Sun ¹«Ë¾Ð´ Java API¡£2004 ÄêËû¼ÓÈë¹È¸è£¬2008Äê¼ÓÈëAndroidÏîÄ¿¡£²»¹ý£¬Ôڹȸ蹤×÷ʱ£¬ËûÈÔÈ»ÔÚ¸øÓÉ Sun ¹«Ë¾¿ØÖÆµÄ OpenJDK ÏîÄ¿¹±Ï×´úÂë¡£

ËûµÄ¹±Ï×Ö®Ò»£¬»ùÓÚ TimSort Ëã·¨¸Ä½øÁËÊý×éÅÅÐòµÄʵÏÖ¡£¾ÉËã·¨ºÍÐÂËã·¨Öж¼ÓÐ rangeCheck ·½·¨£¬ËùÒÔËû´Ó¾ÉʵÏÖÖи´ÖÆÁË£¬×÷Ϊ¡°a temporary measure¡±¡£

Joshua Bloch ºÎÐíÈËÒ²£¿

blob.png

Joshua Bloch£¬Java ´óÅ£¡£Java ³ÌÐòÔ±Ó¦¸Ã¶¼Ìý¹ý£¬¼´±ãÄãûÓÐÌý¹ýËûµÄÃû×Ö£¬ÄÇÒ²¿Ï¶¨Ìý¹ýËûµÄÕâ±¾Ê顶Effective Java¡·¡£

ÔçÔÚ1996Ä꣬ÊÊ·ê Java ¸Õ¸Õո¶ͷ½Ç¡£ÏÈÊÇ1Ô·ݷ¢²¼JDK1.0£¬È»ºóÊÇ5Ôµ×ÔھɽðɽÕÙ¿ªÊ×½ìJavaOne´ó»á£¬ÄêÄ©ÓÖÊÇJDK1.1½ô¸úÆäºó¡£ÕýÊÇÔÚJava¼¼ÊõÈç»ðÈçݱ¡¢´óչȭ½ÅµÄ±³¾°Ö®Ï£¬JoshuaBlochÀ´µ½ÁËSun¡£2004 Äê7Ô³õ£¬¾ÍÔÚJ2SE5.0·¢²¼ÔÚ¼´£¬Jusha Bloch¸Õ¸ÕÈÙ»ñSun¡°½Ü³ö¹¤³Ìʦ£¨Distinguished Engineer£©¡±µÄ³ÆºÅ֮ʱ£¬ËûͻȻÀ뿪Sun¶øÈ¥ÁËÕýÖµ·¢Õ¹Ì¬ÊÆѸÃ͵ÄGoogle£¬³ÉΪÁËGoogleµÄJavaÊ×ϯ¼Ü¹¹Ê¦¡£

2012 Äê 8 Ô£¬Bloch À뿪ÁË Google¡£

¹ØÓÚË÷Åâ½ð¶î

  • Åí²©Éç 2015Äê11ÔÂ19ÈÕ±¨µÀ£º¡¶Oracle Says Judge¡¯s Expert Biased in $1 Billion Google-Java Case¡·

  • PC World 2011Äê1ÔÂ20ÈÕ±¨µÀ£º¡¶Google Disputes Possible $6 Billion Java Lawsuit Price-tag¡·

  • ZDnet 2011Äê1ÔÂ17ÈÕ±¨µÀ£º¡¶Oracle wants billions from Google over Android: And just might get it¡·

²Î¿¼

HN & Maja D¡¯Hondt & °Ù¿Æ