Serializacja A.D. 2022

0

Jak się akcentuje obecnie zagadnienia serializacji javowskiej?
Niegdysiejsze, sprzed kilku lat, emocje, ten serializer urwał tyle mikrosekund, tamten tyle. Dalej tu przykładamy akcent?
Jakieś Kryo np. było bardzo modne (widzę, że żyje, ma 2mc temu aktualizacje)

Nowe idee? Nowe biblioteki ?

  1. Ma ktoś pod ręką artykuł, jak się dzieje magia deserialziacji obiektu, jak to nie przechodzi przez wykonanie konstruktora itd...
    Jest zapewnienie, że ten sam nie zostanie zdeserializowany w dwóch instancjach?

(jakby ktoś potrzebował backgrouod, w tej chwili myślę o cachowaniu przez socket, out of proces - ale pytanie jest szersze)

0

Wszystko zależy od tego, co robisz. Jeśli jakoś specjalnie nie zależy ci na wydajności lub apka służy do porozumiewania się z frontendem to króluje REST.

Jeśli chodzi o bardziej zaawansowane kwestie to jest tego od groma. Ostatnio popularnością cieszy się Avro z swoim zestawem serializerów i deserializerów, jest też gson gpb.

Co do bebechów - wszystko zależy od biblioteki. Wspomniane avro ma scheme'y, dzięki którym apka nie musi się zastanawiać, jak zbudowany jest obiekt. Natomiast część rozwiązań po prostu leci refleksją. Jeśli faktycznie chcesz się czegoś dowiedzieć to szukaj raczej po konkretnych rozwiązaniach.

Ps. Kryo ciągle działa i z tego co pamiętam to można włączyć go w konfiguracji Flinka.

0

@wartek01:

Dzięki za wypowiedź. No tak, sytuacje komunikacyjne, a już zwłaszcza międzyjęzykowe, to swoją ścieżką (od lat jestem blisko z Apache Thriftem - o Avro kiedyś czytywałem)...

Sytuacje cache to nieco inna bajka, przeciwna strona socketa jest "głupia" i nie analizuje treści danych, międzyjęzykowego cache chyba nikt nie potrzebuje. Oszczędności bajtów jak są, to bardzo dobrze, więcej się w cache zmieści itd ... sophisticated serializery binarne górą

No i warto było zadać pytanie. Lata przyniosły duże zainteresowanie serializacjami kompatybilnymi między językami (~= komuniakcyjnymi), nie było to priorytetem 20,15 lat temu

1

@ZrobieDobrze: w dobie niskich kosztów RAMu i miejsca w kontekście cache oszczędności na bajtach są raczej potrzebne do minimalizacji transferu. Cache ma być szybki i niezawodny, a nie zajmujący mało miejsca.

0

Są jeszcze protobuffy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1