fixed-keyword von C# für Java

Diskutiere fixed-keyword von C# für Java im Allgemeine Java-Themen Bereich.
N

Nemo2478

Hallo an alle,

ich möchte verhindern, dass der Garbage Collector eine bewegliche Variable verschiebt. Ich brauche einen Zeiger (Pointer (den ich erstellen möchte)) auf eine verwaltete Variable setzen und diese Variable während ihrer Ausführung "verankern".

In anderen Worten, wie kann ich den folgenden Code auf Java übersetzen?:
C#:
fixed (Char* sPtr = s) { //s = irgendeine String Variable

                    return inIrgendetwasUmwandeln(sPtr, s.Length); // Irgendeine Methode
                }

Danke und Grüße
 
Wurstkopp

Wurstkopp

Da es in Java keine "Pointer Arithmetic" gibt, sollte das nicht nötig sein.
 
T

TM69

Aus Sicherheitsgründ (da man mit Pointer sehr sehr viel sch... bauen kann) gibt es Pointer / Zeiger in Java nicht.
 
N

Nemo2478

Hallo an alle,

dann würde es ausreichen, wenn der Java-Code so aussieht?:

Code:
return inIrgendetwasUmwandeln(s, s.Length); // Irgendeine Methode
Oder sollte man doch mit dem GC arbeiten?


Danke und viele Grüße
 
sascha-sphw

sascha-sphw

Wie von @TM69 schon geschrieben, gibt es in Java keine Pointer. Somit ist auch ein fixed nicht notwendig. Der GC weiß, in Deinem Beispiel, zu jedem Zeitpunkt was er entfernen kann und was nicht.

Also ja, der Code würde ausreichen.

Desweiteren würde ich Dir aber Raten, nicht einfach Blind von einer Sprache in eine scheinbar unbekannte andere zu übersetzen, sondern die zu Grunde liegenden Spachfeatures der unbekannten Sprache lernen und dann Sinnvoll in diese umschreiben. Auch wenn C# und Java sehr ähnlich sind (meine Meinung), gibt es viele Dinge, die ich persönlich, je nach Sprache ganz unterschiedlich lösen würde.
 
sascha-sphw

sascha-sphw

Ein Punkt noch.
Hast Du Dir eigentlich schon mal die Frage gestellt, warum der Code in C# im unmanaged Part steckt? In 99% der Fälle sind das Performanz Gründe und da sollte man sich fragen ob der Schuss das mit Java zu machen nicht nach hinten los geht. Ich würde in jedem Fall mal Tests diesbezüglich machen.
 
Thema: 

fixed-keyword von C# für Java

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben