¸üÐÂʱ¼ä:2023Äê09ÔÂ04ÈÕ09ʱ29·Ö À´Ô´:ÀÖÓãµç¾º ä¯ÀÀ´ÎÊý:

¡¡¡¡ÔÚJavaÖУ¬»º³åÇø(Buffer)ÊÇÒ»ÖÖÓÃÓÚÔÚÄÚ´æÖд洢Êý¾ÝµÄÊý¾Ý½á¹¹£¬Í¨³£ÓëÊäÈëÊä³ö²Ù×÷Ò»ÆðʹÓã¬ÀýÈçÎļþ¶Áд¡¢ÍøÂçͨÐŵȡ£JavaÖеĻº³åÇøÖ÷Òª·ÖΪÁ½ÖÖÀàÐÍ£ºÖ±½Ó»º³åÇø(Direct Buffer)ºÍ·ÇÖ±½Ó»º³åÇø(Non-Direct Buffer£¬Ò²³ÆÎª¼ä½Ó»º³åÇø)¡£ËüÃÇÖ®¼äÓÐһЩ¹Ø¼üÇø±ð£º
¡¡¡¡·Ö±½Ó»º³åÇø£ºÖ±½Ó»º³åÇøÊ¹ÓöÑÍâÄÚ´æ(Off-Heap Memory)À´´æ´¢Êý¾Ý£¬ÕâÒâζ×ÅËüµÄÊý¾Ý²»ÊÜJavaÐéÄâ»ú(JVM)µÄÀ¬»ø»ØÊÕ¹ÜÀí¡£Ëüͨ¹ýJavaµÄNIO(New I/O)¿âÖеÄByteBuffer.allocateDirect()·½·¨À´·ÖÅäÄÚ´æ¡£
¡¡¡¡··ÇÖ±½Ó»º³åÇø£º·ÇÖ±½Ó»º³åÇøÊ¹ÓÃJVM¶ÑÄÚ´æÀ´´æ´¢Êý¾Ý£¬Òò´ËËüµÄÊý¾ÝÊܵ½JVMµÄÀ¬»ø»ØÊÕ¹ÜÀí¡£Ëüͨ¹ýJavaµÄNIO¿âÖеÄByteBuffer.allocate()·½·¨À´·ÖÅäÄÚ´æ¡£
¡¡¡¡·Ö±½Ó»º³åÇø£ºÖ±½Ó»º³åÇøµÄÄÚ´æ·ÖÅäͨ³£±È·ÇÖ±½Ó»º³åÇø¸ü¸ßЧ£¬ÒòΪËü±ÜÃâÁ˽«Êý¾Ý´Ó¶ÑÄÚ´æ¸´ÖÆµ½¶ÑÍâÄÚ´æµÄ¿ªÏú¡£Õâ¶ÔÓÚÐèҪƵ·±µÄI/O²Ù×÷À´ËµÌرðÓÐÓã¬ÒòΪËü¼õÉÙÁËÊý¾Ý¿½±´µÄ´ÎÊý¡£
¡¡¡¡··ÇÖ±½Ó»º³åÇø£º·ÇÖ±½Ó»º³åÇøµÄÄÚ´æ·ÖÅäÉæ¼°½«Êý¾Ý´Ó¶ÑÄÚ´æ¸´ÖÆµ½»º³åÇø£¬È»ºóÔÙ´Ó»º³åÇø¸´ÖƵ½¶ÑÍâÄڴ棬ÕâÔö¼ÓÁËÄڴ濽±´µÄ¿ªÏú¡£
¡¡¡¡·Ö±½Ó»º³åÇø£ºÓÉÓÚ±ÜÃâÁËÄڴ濽±´²Ù×÷£¬Ö±½Ó»º³åÇøÍ¨³£ÔÚI/O²Ù×÷ÖбíÏֵøü¿ì£¬ÌرðÊÇÔÚ´¦Àí´óÁ¿Êý¾Ýʱ¡£
¡¡¡¡··ÇÖ±½Ó»º³åÇø£º·ÇÖ±½Ó»º³åÇøµÄÐÔÄÜ¿ÉÄÜÊܵ½Äڴ濽±´µÄÓ°Ï죬Òò´ËÔÚijЩÇé¿öÏ£¬Ëü¿ÉÄܱÈÖ±½Ó»º³åÇøÂýһЩ¡£

¡¡¡¡·Ö±½Ó»º³åÇøÊÊÓÃÓÚÐèÒª¸ßÐÔÄÜI/O²Ù×÷µÄ³¡¾°£¬ÀýÈç´óÐÍÎļþµÄ¿ìËÙ¸´ÖÆ¡¢ÍøÂçÊý¾Ý´«ÊäµÈ¡£
¡¡¡¡··ÇÖ±½Ó»º³åÇøÍ¨³£ÓÃÓÚÊý¾Ý²»ÐèҪƵ·±½øÐÐI/O²Ù×÷µÄ³¡¾°£¬ÀýÈçÊý¾Ý´¦Àí¡¢Êý¾Ý¼ÆËãµÈ¡£
¡¡¡¡ÐèҪעÒâµÄÊÇ£¬Ö±½Ó»º³åÇøµÄÄÚ´æ·ÖÅäºÍÊÍ·Åͨ³£±È·ÇÖ±½Ó»º³åÇø¸ü°º¹ó£¬Òò´ËÔÚʹÓÃÖ±½Ó»º³åÇøÊ±£¬ÒªÈ·±£ºÏÀíµØ¹ÜÀíÄڴ棬±ÜÃâÄÚ´æÐ¹Â©¡£
¡¡¡¡×ÜÖ®£¬Ö±½Ó»º³åÇøºÍ·ÇÖ±½Ó»º³åÇøµÄÑ¡ÔñÈ¡¾öÓÚ¾ßÌåµÄÓ¦Óó¡¾°ºÍÐÔÄÜÐèÇó¡£ÔÚ´ó¶àÊýÇé¿öÏ£¬Ö±½Ó»º³åÇø¿ÉÒÔÌṩ¸üºÃµÄÐÔÄÜ£¬µ«ÐèÒª½÷É÷´¦ÀíÄÚ´æ¹ÜÀí¡£·ÇÖ±½Ó»º³åÇøÔò¸üÈÝÒ×ʹÓ㬵«ÔÚijЩ¸ßÐÔÄܳ¡¾°Ï¿ÉÄÜ»áÓÐÐÔÄÜ¿ªÏú¡£
Spring FrameworkÓÐÄÄЩ²»Í¬µÄ¹¦ÄÜ?_java¿ò¼Ü֪ʶ
2023-08-30¹¹ÔìÆ÷×¢ÈëºÍsetterÒÀÀµ×¢È룬ÄÄÖÖ·½Ê½¸üºÃ?
2023-08-30ÎÒÃÇ¿ÉÒÔÔÚhashcode()ÖÐʹÓÃËæ»úÊý×ÖÂð?
2023-08-29JavaÖÐËÀËøÓë»îËøµÄÇø±ð£¬ËÀËøÓë¼¢¶öµÄÇø±ð?_Java²¢·¢±à³Ì»ù´¡
2023-08-28javaÏÖÔÚ»¹ÄÜѧÂð?
2023-08-25Ϊʲô»áÐγɻº´æÑ©±À£¿»º´æÑ©±À½â¾ö·½°¸
2023-08-25
±±¾©Ð£Çø