2016-12-16 4 views
0

Ich wundere mich, wenn ich google 'Java-Objekt zu Json' Ich bekomme in der Regel die grundlegenden Bibliotheken/Frameworks wie Jackson und Gson. Alle von ihnen serialisieren Objekte auf der Grundlage von Anmerkungen oder anderen Konzepten, die Reflexion verwenden.Fragen über Java-Objekt-JSON-Serialisierung

Jetzt in einigen anderen Programmiersprachen sehe ich erhebliche Leistungssteigerungen durch die Verwendung von generierten Serialisierungsmethoden/Funktionen im Gegensatz zu reflektionsbasierten Serialisierer. Ein Beispiel dafür ist diese Nachrichtenpaketbibliothek (https://github.com/tinylib/msgp).

Meine Frage ist, können Leistungsgewinne gewonnen werden, indem man etwas Ähnliches in Java für JSON-Serialisierung tut? Das heißt, Serialisierungsverfahren basierend auf der Vorkompilierung eines gegebenen Pojos erzeugen; und dann diese zur Laufzeit verwenden.

Ich habe nicht unbedingt einen Anwendungsfall, einfach zu denken, Geschwindigkeit.

+1

Für die meisten Anwendungen, in denen ich als Ingenieur gearbeitet habe, war die Geschwindigkeit des Parsens und Generierens von JSON nie ein Engpass. Vielleicht könnten Sie den Anwendungsfall hinzufügen, in dem JSON ein Problem ist? –

+0

Ich glaube nicht, dass ich einen Anwendungsfall brauche, um über Leistungssteigerungen nachzudenken. Aber sagen wir einfach eine WEB API, wo jede gewonnene ms nett ist. Die Faktoren der Unternehmenssoftware liegen außerhalb des Anwendungsbereichs; wie schnell zu vermarkten usw. – Patrick

Antwort

1

Jackson hat ein Modul mit dem Namen Afterburner, das erhebliche Leistungssteigerungen erzielt, indem es während der Laufzeit benutzerdefinierte Serializer/Deserializer-Klassen erstellt.