2011-02-17 12 views
7

एक छोटे से कार्यान्वयन गलती मुझे पता चला कि कैसे जल्दी से मैं एक जावा ढेर अंतरिक्ष मुद्दाएप्लेट:

अब बग तय हो गई है सब कुछ ठीक है तक पहुँच सकता है, लेकिन यह और मिला मुझे यह कैसे हल करने के लिए जांच कर रहे के कारण जावा ढेर अंतरिक्ष मैं कई समाधान foudn जैसे

जावा -Xms5m -Xmx15m MyApp

समस्या यह है कि इस अपने कंप्यूटर पर जावा स्मृति बदल जाता है, लेकिन मैं एक एप्लेट है कि होने जा रहा है पर काम कर रहा हूँ है एक webrowser में प्रयोग किया जाता है।

इसलिए, क्या एक तरीका है, एक ऐपलेट में ढेर आकार बदलने के लिए RUNTIME में?

उत्तर

10

आप एप्लेट टैग में पैरामीटर जोड़ सकते हैं। लेकिन जिस पैरामीटर पर आप रुचि रखते हैं वह केवल जावा 6 यू 10 या बाद में उपलब्ध है।

उदाहरण:

<APPLET archive="my_applet.jar" code="MyApplet" width="300" height="300"> 
    <PARAM name="java_arguments" value="-Xmx256m"> 
</APPLET> 

यहाँ अधिक जानकारी http://www.oracle.com/technetwork/java/javase/plugin2-142482.html#JAVA_ARGUMENTS

+0

अतिरिक्त स्मृति भी माध्यम से तैनात एप्लेट के लिए परिभाषित किया जा सकता है। जेएनएलपी, लेकिन यह एक आसान तरीका है। विशेष रूप से एप्लेट विकी (http://stackoverflow.com/tags/applet/info) में पिछले दो लिंक नोट करें। लिंक और उदाहरण पर अच्छी कॉल। (फुसफुसाते हुए) उम्मीद है कि इस धागे के कुछ अन्य योगदानकर्ता कुछ या दो सीखेंगे। ;) –

2

AFAIK, केवल उपयोगकर्ता जेआरई ढेर सेटिंग्स बदल सकते हैं। एप्लेट इस सेटिंग्स को बदल नहीं सकता है।

अद्यतन:

ऐसा लगता है कि JDK के नवीनतम संस्करण में यह संभव है। How can I start an Java applet with more memory?

Update2: को देखो

मेमोरी सेटिंग्स केवल JNLP क्षुधा के लिए सेट किया जा सकता, एप्लेट के लिए नहीं।

1

यदि यह कमांड लाइन पर निर्दिष्ट नहीं है, तो आपको इसे JVM सेटिंग्स से प्राप्त करना होगा। इसलिए जब आप अपने एप्लेट को वेब पर तैनात करते हैं, तो यह उनके कंप्यूटर पर उनके द्वारा चलाए जाने पर स्मृति सेटिंग्स पर निर्भर करेगा। आम तौर पर यह डिफ़ॉल्ट रूप से 60-90 एमबी पर सेट होता है, इसलिए इसे नीचे रखने की कोशिश करें।

अगर एप्लेट उन सेटिंग्स को बदल सकता है तो ramifications पर विचार करें ... यह और क्या बदल सकता है। यह सिर्फ अंततः सुरक्षा शोषण के लिए पूछ रहा है, और जावा कार्यक्षमता से पहले सुरक्षा के लिए लक्ष्य रखता है :)

1

जेवीएम आपके सामने एप्पलट से बहुत पहले शुरू हो सकता है। अब में ढेर आकार बदलना बहुत देर हो चुकी है। जावा वेब स्टार्ट आज़माएं जहां आप इसे नियंत्रित कर सकते हैं, को अपने ऐप्पल/एप्लिकेशन के लिए एक नया JVM स्पॉइंग कर रहा है।

संबंधित मुद्दे