Frage

Ich programmiere in Java seit 2004, meist enterprise-und web-Anwendungen.Aber ich haben nie verwendet kurze oder byte, andere als ein Spielzeug-Programm, nur um zu wissen, wie diese Typen arbeiten.Sogar in einem for-Schleife 100 mal, wir gehen in der Regel mit int.Und ich kann mich nicht erinnern, ob ich jemals kam über alle code, die byte oder kurze, anders als einige öffentliche APIs und frameworks.

Ja, ich weiß, Sie verwenden können eine kurze oder byte um Speicherplatz zu sparen in großen arrays, in Situationen, in denen der Speicher-Einsparungen wirklich wichtig ist.Hat jemand Pflege üben?Oder seine nur etwas, was in den Büchern.

[Bearbeitet]

Verwendung byte arrays für Netzwerk-Programmierung und socket-Kommunikation ist eine ganz Allgemeine Verwendung.Vielen Dank, Darren, Punkt.Nun, wie wäre kurze?Ryan, gab ein hervorragendes Beispiel.Vielen Dank, Ryan.

War es hilfreich?

Lösung

Beachten Sie, dass Java auch auf mobilen Geräten verwendet wird, in dem Speicher viel begrenzter ist.

Andere Tipps

Ich benutze Byte viel. In der Regel in Form von Byte-Arrays oder ByteBuffer, für Netzwerk-Kommunikation von binären Daten.

Ich verwende selten float oder double, und ich glaube nicht, dass ich jemals kurz verwendet haben.

Ich habe 'byte' viel, in C / C ++ Code Funktionalität wie Bildkompression Implementierung (dh einen Kompressionsalgorithmus über jeden laufenden Byte von einem Schwarz-Weiß-Bitmap) und die Verarbeitung binäre Netzwerk-Nachrichten (durch das Bytes zu interpretieren in der Nachricht).

Allerdings habe ich so gut wie nie ‚schweben‘ oder ‚doppelte‘ verwendet wird.

Die primäre Verwendung ich sie gesehen habe, ist, während Daten mit einer unbekannten Struktur verarbeiten oder gar keine wirkliche Struktur. Netzwerkprogrammierung ist ein Beispiel für ersteres (wer sendet die Daten wissen, was es bedeutet, aber Sie werden vielleicht nicht), so etwas wie Bildkompression von 256 Farben (oder Graustufen) Bildern ist ein Beispiel für die letztere.

Aus der Spitze von meinem Kopf grep kommt als ein weitere Verwendung in dem Sinne, wie jede Art von Datei zu kopieren. (Sicher, das Betriebssystem wird es tun -. Aber manchmal ist das nicht gut genug)

Der Java-Sprache macht es unangemessen schwierig zu verwenden byte oder short Arten.Wenn Sie einen Vorgang auf ein byte oder short Wert, Java fördert es zu einem int zuerst, und das Ergebnis der operation zurückgegeben wird, wie ein int.Auch, Sie sind unterzeichnet, und es gibt keine unsigned-äquivalente, das ist eine weitere häufige Quelle der frustration.

Sodass du am Ende mit byte eine Menge, weil es ist immer noch der Grundbaustein aller Dinge, cyber -, aber die short Typ könnte genauso gut nicht existieren.

Bis heute habe ich nicht bemerkt, wie selten ich sie verwenden.

I Verwendung Byte für Netzwerk-related stuff haben, aber die meisten der Zeit sie für meine eigenen Werkzeuge / Lernen waren. In Arbeitsprojekten werden diese Dinge von Frameworks (JSP zum Beispiel) behandelt

Short? so gut wie nie.

Lange? Weder noch.

Meine bevorzugten Ganzzahlliterale sind immer int, für Schleifen, Zähler, etc.

Wenn Daten stammen von einem anderen Ort (eine Datenbank zum Beispiel) Ich verwende die richtige Art, aber für Literale Ich benutze immer int.

Ich benutze Bytes in vielen verschiedenen Orten, vor allem Low-Level-Datenverarbeitung beteiligt sind. Leider unterzeichneten die Designer des Java-Sprache gemacht Bytes. Ich kann mich nicht jede Situation, in der als hilfreich negative Byte-Werten. Nachdem hätte ein Bereich 0-255 gewesen viel hilfreicher.

Ich glaube nicht, dass ich jemals Shorts in jedem richtigen Code verwendet haben. Ich habe auch nie Schwimmer verwenden (wenn ich Gleitkommazahlen müssen, habe ich immer doppelt verwenden).

Ich stimme mit Tom . Im Idealfall sollten in Hochsprachen wir nicht mit den zugrunde liegenden Maschine Darstellungen betroffen sein. Wir sollten in der Lage sein, unsere eigene Bereiche zu definieren oder Zahlen beliebiger Genauigkeit verwendet werden.

, wenn wir für elektronische Geräte wie Mobiltelefon programmieren verwenden wir Byte und short.In diesem Fall sind wir auf Speicherverwaltung kümmern sollte.

Es ist vielleicht interessant, die Semantik von int zu suchen. Sind diese willkürlichen Grenzen und die automatische Kürzen, was Sie wollen? Für wirklich auf Anwendungsebene Code beliebig große ganze Zahlen will, es ist nur, dass Java vernünftigerweise keine Möglichkeit, diejenigen auszudrücken hat.

Ich habe verwendet Bytes, wenn staatliche Spar während Modellprüfung zu tun. Bei dieser Anwendung sind die Platzersparnis der zusätzliche Arbeit wert. Ich sie sonst nie verwenden.

Ich fand ich Byte-Variablen wurde mit, wenn einige Low-Level-Bildverarbeitung zu tun. Die + .Net GDI-Routinen zeichnen waren wirklich langsam, damit ich meine eigene Hand gerollt.

Die meiste Zeit, aber ich bleibe mit signierten ganzen Zahlen, wenn ich gezwungen ist, etwas größer, da das Problem Einschränkungen zu verwenden. Jede Art von Physik-Modellierung ich in der Regel tun, erfordert Schwimmern oder Doppelzimmer, auch wenn ich die Präzision nicht brauchen.

Apache POI wurde mit short ein paar Mal. Wahrscheinlich wegen der Excel Zeilen / Spalten-Nummer Einschränkung.

Vor ein paar Monaten geändert sie int ersetzen

createCell (kurz column )

mit

createCell (int column ) .

Eine In-Memory Datagrids, kann es nützlich sein. Das Konzept eines Datagrid wie Gemfire ist eine riesige verteilte Karte zu haben. Wenn Sie nicht über genügend Speicher können mit LRU-Strategie Überlauf auf der Festplatte, aber die Schlüssel aller Einträge Ihrer Karte bleiben im Speicher (zumindest mit Gemfire).

So ist es sehr wichtig, um Ihre Schlüssel mit geringen Platzbedarf zu machen, vor allem, wenn Sie sehr große Datenmengen umgehen. Für den Eingabewert, wenn Sie kann es auch besser, die geeignete Art mit einem geringen Speicherbedarf zu verwenden ...

Ich habe verwendet Shorts und Bytes in Java-Anwendungen in Verbindung stehen, um benutzerdefinierte USB oder serielle Mikrocontroller 10-Bit-Werte in 2 Bytes als Shorts eingewickelt zu empfangen.

bytes und shorts sind in Java Card Entwicklung intensiv genutzt. Werfen Sie einen Blick auf meine Antwort auf gibt es wirkliches Leben verwendet für den Java-Byte-Urtyp? .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top