JNI_CreateVM und -Xms –Xmx setzen

Status
Nicht offen für weitere Antworten.
P

ProgerOhneIDE

Gast
...ich weiß etwas komplizierte Frage aber ich hoffe jemand weiß bescheid.
Also, ich möchte die Speicher-Grenzen per JNI beim Aufruf von JVM setzen, es war eigentlich ganz einfach bis JRE 1.4.2 hat man es im s. Source unten gesetzt:

Code:
JavaVMOption options[x];
options[3].optionString = "-Xms128m -Xmx256m" ;
wie ich gerade merke JRE 1.5.0 gibt in dieser Zeile Fehler aus...

SUN hat wieder Sch..... gebaut, :noe: die glauben wir haben sowieso nichts zu tun also sollten ab und zu unsere App umschreiben.
Na ja kann selber nicht verstächen aber es ist leider so. Leider ist nirgendwo, zu den Optionen (JavaVMOption), was zu finden, nur veraltete Tutorials :###

gruß ProgerOhneIDE
 
G

Guest

Gast
Der Fehler lautet:

Code:
Could not initialize Java VM.

Und die Zeile die den generiert ist:

Code:
res = createJavaVM(&jvm, (void**)&env, &vm_args);

Also, wie ich sehe sagt es dir nichts, da es von C/C++ kommt, sei mir nicht böse Wildcard aber es ist wirklich für... na ja für die, die sich mit JNI auskennen. :wink:

brauch wirklich Konstruktive Antworten, :meld: also bitte besudelt den Thread nicht, wenn ihr kein Antwort habt.


gruß ProgerOhneIDE
 

Murray

Top Contributor
Anonymous hat gesagt.:
Also, wie ich sehe sagt es dir nichts, da es von C/C++ kommt, sei mir nicht böse Wildcard aber es ist wirklich für... na ja für die, die sich mit JNI auskennen. :wink:

brauch wirklich Konstruktive Antworten, :meld: also bitte besudelt den Thread nicht, wenn ihr kein Antwort habt.

Wie bist Du denn drauf - Du hast hast die Fehlermeldung nicht gepostet, da wird es doch wohl noch erlaubt sein, dass jemand nachfragt. Woanders hättest Du vielleicht überhaupt keine Antwort bekommen.

Aber wenn wir schon bei C++ sind:
Anonymous hat gesagt.:
Code:
options[3].optionString = "-Xms128m -Xmx256m" ;

Installierst Du damit nicht einen Pointer auf eine lokale Variable (bzw. Konstante) in der JavaVMOption-Struktur? Das wird mit hoher Wahrscheinlichkeit früher oder später knallen.

Sollte es nicht eigentlich so aussehen:
Code:
const char* str "-Xms128m -Xmx256m";
options[3].optionString = (char*)malloc( strlen( str) + 1); //--- fuer Paranoiker auch malloc( (strlen( str) + 1) *sizeof( char));
strcpy(options[3].optionString, str);
 

thE_29

Top Contributor
Naja, wenn du in initialisiert mit malloc, könntest du ein sprintf genauso machen!

sprintf(options[3].optionString, "-Xms128m -Xmx256m");

Und ersparst dir das 2malige erstellen des Strings ;)
 

Murray

Top Contributor
thE_29 hat gesagt.:
Naja, wenn du in initialisiert mit malloc, könntest du ein sprintf genauso machen!

sprintf(options[3].optionString, "-Xms128m -Xmx256m");

Und ersparst dir das 2malige erstellen des Strings ;)

Klar, statt strcpy könnte man sprintf verwenden, aber woher bekommt man dann die Länge für das malloc ???:L
 

Murray

Top Contributor
thE_29 hat gesagt.:
Wie wärs mit Zeichen abzählen? ;)

Da kann man nur hoffen, dass niemand hinterher auf die Idee kommt, die Stringkonstante zu ändern..

Diese Art von Redundanz sollte man doch wohl vermeiden und den String genau einmal im Code schreiben und seine Länge per strlen ermitteln lassen.
 
P

ProgerOhneIDE

Gast
Sorry ihr habt mich falsch verstanden: ???:L
es geht hier darum dass die options[3].optionString = "-Xms128m -Xmx256m"; keinen XMS bzw XMX aufnehmen kann, da SUN die Array 3-Position für "-verbose:jni"; seit JRE 1.4.2 reserviert hat.
In Doku :### ist aber nirgendwo zu finden wo man jetzt die Speicher Grenzen (-Xms bzw. -Xmx) definieren kann.

ProgerOhneIDE
 

Murray

Top Contributor
ProgerOhneIDE hat gesagt.:
SUN die Array 3-Position für "-verbose:jni"; seit JRE 1.4.2 reserviert hat.
Wo hast Du denn die Info her?

Ist das Problem nicht eher, dass das, was Du hier setzen willst, eigentlich zwei verschiedene Optionen sind (das ist mir vorhin leider nicht aufgefallen) und daher auch zwei Array-Elemente dafür verwendet werden müssen? Die Reihenfolge dürfte völlig egal sein; ob an Position 3 jetzt "-Xms128", "-Xmx256m", "-Dsome.property=some.value" oder "-verbose.jni" steht, dürfte keine Rolle spielen.

Ich würde trotzdem empfehlen, keine Pointer auf lokale Variablen zu versenken, sondern den Spicher explizit zu allokieren.
 
P

ProgerOhneIDE

Gast
WOW Ja so ist es :toll:

Murray hast mir wirklich geholfen man sollte es einzeln zuweisen dann klappt es, egal an welcher Position. DANKE :applaus:

gruß ProgerOhneIDE

PS: Kann geschlossen werden!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
berserkerdq2 Was heißt es mit FXML Listener zu setzen ind Buttons zu erstellen? Allgemeine Java-Themen 6
TheSepp Java bestimmtes Array auf den Wert 0 setzen Allgemeine Java-Themen 32
Y Bild in JPanel setzen Allgemeine Java-Themen 2
C javax.mail.Message message.setreplyto() null setzen (keine replyto Adresse) Allgemeine Java-Themen 25
JavaNewbie2.0 Anführungszeichen setzen Allgemeine Java-Themen 3
OnDemand FTP4J Rechte setzen Allgemeine Java-Themen 1
J Mausposition setzen Allgemeine Java-Themen 2
I Setzen und Lesen eines Objektes (Enum?) Allgemeine Java-Themen 10
N event_scheduler richtig setzen? Allgemeine Java-Themen 1
O log4j pfad per umgebungsvariable setzen Allgemeine Java-Themen 5
F JTextArea Cursor in die nächste Zeile setzen Allgemeine Java-Themen 2
G JDK setzen Allgemeine Java-Themen 4
H java.util.logging Formatter Optionen setzen Allgemeine Java-Themen 2
iB0T "goto" Befehl aus Batch in Java und Variablen wert immer wieder neu setzen Allgemeine Java-Themen 4
D ClassLoader für Variablen einer Klasse setzen Allgemeine Java-Themen 24
C Datentypen int in bytes zerlegen und wieder zusammen setzen Allgemeine Java-Themen 13
M Session-Parameter setzen? Allgemeine Java-Themen 10
D Alle Variablen final setzen ? Allgemeine Java-Themen 26
I %AppData% Variable für einen Prozess setzen Allgemeine Java-Themen 23
N java.util.Date - Zeit auf 00:00 setzen Allgemeine Java-Themen 3
T HTTP Skript für Passwortgeschützte Seite :: Häkchen setzen und Download Allgemeine Java-Themen 4
L Variablen Systemvariablen setzen Allgemeine Java-Themen 3
G JNDI Context setzen Allgemeine Java-Themen 3
S "Working Directory" setzen..? Allgemeine Java-Themen 3
A Datei als Object einlesen und das Object als Singleton instance setzen. Allgemeine Java-Themen 13
V Priorität der Event-Handlings setzen Allgemeine Java-Themen 4
N Timeout setzen Allgemeine Java-Themen 10
P Einzelne Bits in einem Byte-Array setzen Allgemeine Java-Themen 2
X JTable mit Checkboxen -> Setzen (true/false) der Checkboxen per Mouseklick... Allgemeine Java-Themen 3
S String intelligent zusammen setzen Allgemeine Java-Themen 8
A Umgebungsvariable unter Windows Vista setzen Allgemeine Java-Themen 60
N ranges setzen Allgemeine Java-Themen 5
O getRuntime().Exec() - Environment - Variablen setzen? Allgemeine Java-Themen 2
Y beliebige Dateigröße setzen Allgemeine Java-Themen 10
G Proxy- Server setzen Allgemeine Java-Themen 2
thE_29 Rechnungen (Sättigung setzen) verschnellern Allgemeine Java-Themen 13
M nichtreferenzierte Objekte auf NULL setzen -> Performance Allgemeine Java-Themen 4
M Focus setzen - Frage zu FAQ Artikel Allgemeine Java-Themen 6
reibi Priorität setzen bei Thread Allgemeine Java-Themen 11
0 Taste setzen Allgemeine Java-Themen 2
B Listener dynamisch setzen Allgemeine Java-Themen 6
F Werte von Member-Variablen erst im Konstruktor setzen? Allgemeine Java-Themen 7
P Datum in einer DateComboBox setzen Allgemeine Java-Themen 7
MQue Datum in ComboBox setzen Allgemeine Java-Themen 9
0 Timeout für Thread setzen? Allgemeine Java-Themen 2
MQue Objektvariablen setzen Allgemeine Java-Themen 3
MQue Button Attribute setzen Allgemeine Java-Themen 14
L datum nach dem kopiervorgang neu setzen? Allgemeine Java-Themen 2
R Array komplett auf null setzen Allgemeine Java-Themen 10
B Choice setzen Allgemeine Java-Themen 5
O Environment Variable Setzen Allgemeine Java-Themen 2
O Schreibrechte setzen? Allgemeine Java-Themen 4
TheJavaKid Focus für KeyListener setzen Allgemeine Java-Themen 5
D Position des Mauszeigers setzen! Allgemeine Java-Themen 3
S Odnericon neu setzen/auslesen etc. Allgemeine Java-Themen 2
G Konsoleneingabe: vordefinierte werte setzen? geht das? Allgemeine Java-Themen 4
foobar java.library.path Property setzen Allgemeine Java-Themen 5
Z Parallel Port, setzen der einzelnen Pins Allgemeine Java-Themen 4
C Setzen der Cursorposition Allgemeine Java-Themen 2
G Standard-Drucker mit Java setzen Allgemeine Java-Themen 4
T Classpath per Java Programm setzen Allgemeine Java-Themen 9
D jdic classpath setzen Allgemeine Java-Themen 2
S Grafiken/ImageIcon setzen Allgemeine Java-Themen 24
S File Encoding im Programm setzen? Allgemeine Java-Themen 3
clemson Umgebungsvariable setzen und lesen Allgemeine Java-Themen 9
F Verfügbaren Heap-Speicher setzen Allgemeine Java-Themen 2
M Content-Type setzen und auslesen? Allgemeine Java-Themen 2
C Objekte null setzen? Allgemeine Java-Themen 7

Ähnliche Java Themen

Neue Themen


Oben