پروپوزال به نیاز به یک API «دقیق، کامل، بهروز، عملکردی» برای تجزیه، تولید و تبدیل فایلهای کلاس جاوا اشاره میکند.
جاوا یک API برای پردازش فایلهای کلاس جاوا، تحت یک پیشنهاد در جامعه جاوا، دریافت میکند.
پیشنهاد پیشنهاد API کلاس فایل خواستار ارائه یک API برای تجزیه، تولید، و تبدیل فایل های کلاس جاوا. این کتابخانه کلاسی در ابتدا به عنوان یک جایگزین داخلی برای چارچوب دستکاری کد بایت کد جاوا ASM عمل می کند. در نهایت، ASM به طور کامل از JDK حذف خواهد شد.
پیشنهاد کلاس فایل API اشاره میکند که تولید فایل کلاس، تجزیه و ابزار دقیق در اکوسیستم جاوا همه جا وجود دارد و ابزارها و کتابخانههای زیادی نیاز به پردازش فایلهای کلاس دارند. فریمورکها اغلب ابزار دقیق بایت کد را در لحظه انجام میدهند. پیشنهاد میگوید JDK باید یک API دقیق، کامل، بهروز و عملکردی برای خواندن، نوشتن و تبدیل فایلهای کلاس جاوا ارائه دهد.
اهداف و اصول طراحی برای API شامل داشتن تمام موجودیتهای فایل کلاس، مانند متدها و فیلدها، که با اشیاء تغییرناپذیر نمایش داده میشوند. ناوبری کاربر محور نیز یک هدف است. انگیزه تماس برای کتابخانه کلاس فایل جاوا عواملی از جمله:
هستند
- تجمیع JDK، با خود JDK در برخورد با فایل های کلاس مهم است. و یک تاخیر ذاتی در استفاده JDK از ASM وجود دارد.
- انحراف نسخه بین چارچوب ها و اجرای JDK. برنامهها و چارچوبهایی که فایلهای کلاس را پردازش میکنند، معمولاً یک کتابخانه کلاسی مانند ASM را در کنار هم قرار میدهند. اما از آنجایی که ویژگیهای فایل کلاس جدید میتواند در هر نسخه از JDK ظاهر شود، برنامهها و فریمورکها بیشتر با فایلهای کلاسی مواجه میشوند که جدیدتر از کتابخانهای هستند که با آنها همراه هستند، که منجر به خطاهای زمان اجرا یا فریمورکهایی میشود که سعی میکنند فرمتهای فایل کلاس را تجزیه کنند. آینده. توسعه دهندگان یک کتابخانه فایل کلاسی می خواهند که با اجرای JDK به روز باشد.
- فرمت فایل JVM و کلاس اکنون سریعتر از قبل در حال تکامل هستند. در حالی که برخی از تکامل ها ساده هستند، برخی دیگر پیچیده تر هستند، مانند پروژه والهالا که کدهای بایت جدید، توصیفگرهای میدان و قوانین تأیید را ارائه می دهد.
- زبان از زمان نگارش ASM به طور قابل توجهی بهبود یافته است.
برنامهها نیاز به جایگزینی اولیه ASM به عنوان یک وابستگی زمان اجرا JDK بدون از دست دادن غیرقابل قبول عملکرد دارند. هدف دیگر جایگزینی کتابخانه کلاسخوان داخلی است که توسط ابزارهای کامپایلر و JDK استفاده می شود. در نهایت، طیف وسیعی از چارچوب ها و برنامه ها باید بتوانند از کتابخانه به عنوان جایگزینی برای کتابخانه های ASM، cglib و سایر بایت کدها استفاده کنند.
پست های مرتبط
پیشنهاد OpenJDK API فایل کلاس جاوا را ارائه می دهد
پیشنهاد OpenJDK API فایل کلاس جاوا را ارائه می دهد
پیشنهاد OpenJDK API فایل کلاس جاوا را ارائه می دهد