Beiträge von martin

    Zitat

    Original geschrieben von Seppi
    [...]einer zweiten Platte Linux installiere und dann auf der Boot Plattn WinXP habe?


    Wenn du zwei Festplatten hast würd ich das BIOS als "Bootmanager" verwenden. Ist am saubersten, da Linux nicht eine Partition BSD-style (UFS) slice-t, sondern soweit ich weiß mehrere Partitionen braucht -> Du musst das gesamte Linux in die extended Partition installieren. LILO kommt damit zurecht, hab aber jetzt schon von mehreren Seiten gehört dass das eher ungünstig ist

    Über CVS glaub ich schon dass es einzeln erhältlich ist. Ansonsten gibts ja auch die Eclipse Platform (ca. 20 MB, ohne die JDT). Ah ja, Eclipse selber is ein geniales Application Framework...

    Was mich derzeit stört ist, dass einige Plattformen/Betriebssysteme nicht unterstützt werden (mal schauen inwieweit ein einfacher Recompile der C Sources funktioniert)

    /edit: Stimmt, die Windows DLL für SWT is <1MB. Jar File is auch nicht so groß

    Also es gibt denk ich viel stupidere Ansätze als AWT/Swing (SendMessage() is einer davon, s.o.).
    Ich mag z.B. Gnome (mit Glade), Corbon/Cocoa in Mac OS X sind sicher auch interessant, aber für 90% der Computeruser is dein Programm dann leider nicht zugänglich -> kommt also stark drauf an was man programmiert und für welche Zielgruppe, ob man sich mit Swing herumschlagen möcht. Lernkurve is sicher höher als bei VB ;)

    MaxAuthority wrote:
    > martin: zu pointern:
    >
    > probier einmal das: int testFunction (int x, my_struct *addr_of_big_struct)
    > {
    > if (addr_of_big_struct->do_something());
    > return 1;
    > else
    > return 0;
    > }
    >
    > Ich weiss, als Java-Programmierer würd man sowas anders (objektorientierter)
    > Programmieren, mir geht dieses Feature von Durchgangsparametern schon stark
    > ab.

    Wenn ich das richtig verstanden habe, meinst du es gäbe in Java keine
    Pointer. Das wollte ich vorher schon klarstellen...

    Hier ein Beispielcode:

    StringBuffer answer = new StringBuffer("Fortytoo");
    StringBuffer correctAnswer = answer;
    correctAnswer.setCharAt(6, 'w');
    System.out.println(answer);

    STDOUT: Fortytwo. Echt :)
    In C/C++ Terminologie: in Java kommt alles (zumindest alle Objekte) auf
    den Heap.

    > Hmm, und warum zählen primitive Datentypen nicht?

    Im Sinne von vorhin zählen die deshalb nicht, weil die beim
    Methodenaufruf sehr wohl kopiert werden..

    > Aja und vermutlich ist es möglich, aber mich würd interssieren, wie ich das in
    > Java löse:
    > MyObject *a, *b;
    > a) a = b; //die addresse von b an a zuweisen
    > b) memcpy (a, b, sizeof (a)); //wirklich das objekt kopieren

    Die Frage ist wohl eher: wie geht das *nicht*? Man müsste wohl mit
    Object.clone() arbeiten bzw. Clonable implementieren und eine eigene
    clone() Methode schreiben, die eine neue Instanz zurückgibt.

    Mittlerweile tendier ich auch schon zu C/C++, Objective C würd mich
    ebenfalls interessieren, aber ein paar Sachen muss ich einfach korrigieren

    J.Petso wrote:
    > korrigiert mich wenn was falsch ist.
    >
    > also der vorteil schlechthin von C, im vergleich zu Java auch von C++, ist auf
    > jeden fall die Geschwindigkeit. Wäre derzeit wohl ziemlich undenkbar, eine
    > schnelle 3D-Engine in Java zu schreiben.

    Gibt es, nennt sich Java3D. performancemäßig aber kein Vergleich zu
    Quake, bzw. featuremäßig zu Doom 3. Eher so wie die Unreal Engine :)

    > Was mir in Java am meisten abgeht sind die in C/C++ üblichen Zeiger auf
    > Variablen/Strukturen (achja, Strukturen: Sammlungen von Variablen, wie eine
    > Klasse ohne Methoden), mit solchen Zeigern kannst du allerhand Feines machen,
    > z.B. einen einer Funktion als Parameter übergeben, welche dann die Variable
    > direkt verändern kann. Zeiger auf Zeiger sind auch möglich.

    Ähh, seit wann gibts in Java bitte *keine* Zeiger (Referenzen)? Wenn du
    ein Beispielprogramm hast, das das demonstriert, schick es mir bitte
    oder poste es hier, wäre interessant. Primitive Datentypen zählen aber
    nicht...

    MaxAuthority wrote:
    > aja, und was noch vergessen wurde:
    > In Java kann man normalerweise keine GUI entwickeln, die das look &
    feel des
    > jeweiligen Betriebssystems übernimmt. (geht nur mit SWT, das jedoch
    nicht
    > offizieller teil von Java ist, sondern eine proprietäre erweiterung)

    SWT ist einfach nur genial, und soweit ich das beurteilen kann "freely
    redistributable". Außerdem gibts ja JFace, das macht das Programmieren
    damit etwas komfortabler

    Photographier mal einen CRT mit verschiedenen Shutter Speeds :)

    Beim TFT hast *immer* das ganze Bild (no na), beim CRT brauchst je nach Hz 1/30 sec oder langsamer. Hab selber keinen TFT, mein nächster Monitor wird aber wahrscheinlich einer...

    <sarkasmus>
    Ja, sicher. Wir gehen alle in Multimedia oder können Gedanken lesen, daher brauchst du uns mit Details nicht zu nerven ;)
    </sarkasmus>

    Wahrscheinlich reicht mkdir und copy aus, ansonsten würd ich das Install in Java schreiben und die Batch Datei nur als bootstrapper verwenden

    Zitat

    Original geschrieben von Becherer
    Mit der Methode interrupt() wird in dem Thread ein internes
    natives Flag gesetzt, welches dann in der run() Methode durch isInterrupted() periodisch abgefragt werden kann.


    Stimmt, nur hab ich noch nie gesehen das jemand das macht. Die Methode interrupt() ist wie gesagt hauptsächlich dazu da, Threds die eigentlich gerade schlafen oder blocken aus diesem Zustand zu holen.

    Es ist auch nicht effektiv: Du kannst ja dein eigenes Flag erstellen, das du setzt und abfragst. Bei so trivialen Sachen ist der Overhead den du durch den Aufruf einer nativen Methode hast viel größer als jeder Performance Gewinn (wäre bei true/flase Abfragen überhaupt einer da?). Außerdem wird ja bei interrupt() noch ein Security Check gemacht und bei Applets sollte normalerweise ein SecurityManger aktiv sein. Die Frage ist also ob du dazu überhaupt berechtigt bist

    Zitat

    Original geschrieben von Becherer
    [...]ein Beenden durch Thread.interrupt() oder durch eine eigene Methode Thread.cancel (welche eine Boolean Variable innerhalb der Berechnung setzt) schlagen fehl.
    <snip/>
    Irgendwelche Ideen?


    deinThread.setPriority(Thread.MIN_PRIORITY);
    am besten noch vor deinThread.start(), da du sonst möglicherweise dasselbe Problem mit Auslastung hast wie bei deiner cancel Methode. Wenns dann nicht geht passt bei deiner cancel Methode was nicht...
    Eine andere Möglichkeit wäre, hin und wieder Thread.yield() aufzurufen, würde dir aber prinzipiell davon abraten; außer es gibt Stellen in deinem Code/Algorithmus, von denen du weißt, dass sie nicht oft, d.i. nicht bei jedem Schlefendurchlauf aufgerufen werden, aber doch regelmäßig - wird wohl eher nicht der Fall sein.
    Erfahrungsgemäß würde ich Threads in GUI Programmen _immer_ MIN_PRIORITY zuweisen, da sonst meistens nicht nur die JVM sondern auch das restliche OS mehr oder weniger `steht' :borg:

    hth

    EDIT: Schau dir mal die JavaDocs für Thread.interrupt() an dann wirst du sehen, dass es unmöglich das sein kann wonach du gesucht hast. Es `weckt' nämlich schlafende oder wartende Threads auf (und der Code für das abfangen der zugehörigen InterruptedException wird ausgefürht)

    Zitat

    Original geschrieben von ze_artfuldodger
    außerdem: ich weiß ned ob das problem ned wesentlich
    tiefer liegt, es gibt ja auch für tcp verbindungen
    timeouts.


    Und wenn das ganze jetzt noch eine Ebene tiefer läge? ich nehm mal an, du hast die beiden Server/Programme/Dienste am selben Kistl rennen. Ich meine Caching auf Betriebssystemlevel.. Is der übliche Schmäh, wie wenn man z.B. Photoshop ladet, beendet, und dann gleich wieder startet.

    Die Frage ist vielleicht etwas tricky: Man kann die Auslagerungsdatei ja auf mehr als eine Festplatte geben. Wenn ich jetzt zwei (physikalische, nicht logische) Festplatten habe, bringts dann etwas das zu tun- auch wenn eine Platte vergleichsweise eher lahm ist?
    Anders ausgedrückt, checkt es Windoze die Daten dann gleichzeitig zu schreiben und/oder zu lesen?

    Eine Suche in der Hilfe hat mich nicht wirklich weitergebracht (Überraschung :hewa: ), und ganz kurz hab ich mich sogar in die Microsoft Knowledge Base vorgewagt.

    Erst mal: Würd mich auch sehr sehr gern an sowas beteiligen. :)
    Vor allem da ich bis jetzt hauptsächlich mit Java und Perl was gemacht hab, wär ein bisschen Horizont erweitern nicht schlecht.

    Zitat

    Original geschrieben von MaxAuthority
    ...nur wie will man so einen workshop organisieren.
    wenn z.B. über Postscript keiner wirklich ahnung hat?


    Es kann sich ja mal einer ein bissl anschauen und dann versuchen den es anderen etwas näher zu bringen. PostScript wär überhaupt witzig: Weiß ja nicht wer von euch grad OOP macht (und Aufgabe 11 schon programmiert hat), aber arithmetische Berechnungen werden direkt in umgekehrt-polnischer Notation eingegeben...