এটি দরকারী যেখানে একটি উদাহরণ:
-XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled
আমাদের ওয়েবলোগিক 10.3 এ সেট করে জেভিএম এমন একটি সমস্যার সমাধান করতে সহায়তা করেছে যেখানে জ্যাকস-ডাব্লুএস বাস্তবায়ন প্রতিটি ওয়েব পরিষেবা কলের জন্য একটি নতুন প্রক্সি ক্লাস তৈরি করেছিল, যা শেষ পর্যন্ত মেমরির ত্রুটিগুলি থেকে বেরিয়ে আসে।
এটি সনাক্ত করা তুচ্ছ ছিল না। নিম্নলিখিত কোডটি সর্বদা এর জন্য একই প্রক্সি ক্লাস ফিরিয়ে দেয়port
final MyPortType port =
Service.create(
getClass().getResource("/path/to.wsdl"),
new QName("http://www.example.com", "MyService"))
.getPort(
new QName("http://www.example.com", "MyPortType"),
MyPortType.class);
অভ্যন্তরীণভাবে, এই প্রক্সিটি একটি উদাহরণে প্রেরণ করা হয়েছিল weblogic.wsee.jaxws.spi.ClientInstance
, যা আবার নতুন $Proxy[nnnn]
ক্লাসে প্রেরণ করা n
হয়েছিল যেখানে প্রতিটি কলে বৃদ্ধি করা হয়েছিল। পতাকাগুলি যুক্ত করার সময়, n
এখনও বাড়ানো হয়েছিল, তবে কমপক্ষে সেই অস্থায়ী ক্লাসগুলি মেমরি থেকে সরানো হয়েছিল।
আরও সাধারণ নোটে, জাভা প্রতিবিম্ব এবং প্রক্সির মাধ্যমে ভারী ব্যবহার করার সময় এটি খুব কার্যকর হতে পারে java.lang.reflect.Proxy
CMSClassUnloadingEnabled
কোনো প্রভাব,UseConcMarkSweepGC
এছাড়াও সেট করা আবশ্যক