Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 88329
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 10, 20262026-05-10T22:32:34+00:00 2026-05-10T22:32:34+00:00

I’ve been lately trying to learn more and generally test Java’s serialization for both

  • 0

I’ve been lately trying to learn more and generally test Java’s serialization for both work and personal projects and I must say that the more I know about it, the less I like it. This may be caused by misinformation though so that’s why I’m asking these two things from you all:

1: On byte level, how does serialization know how to match serialized values with some class?

One of my problems right here is that I made a small test with ArrayList containing values ‘one’, ‘two’, ‘three’. After serialization the byte array took 78 bytes which seems awfully lot for such low amount of information(19+3+3+4 bytes). Granted there’s bound to be some overhead but this leads to my second question:

2: Can serialization be considered a good method for persisting objects at all? Now obviously if I’d use some homemade XML format the persistence data would be something like this

<object>     <class='java.util.ArrayList'>     <!-- Object array inside Arraylist is called elementData -->     <field name='elementData'>         <value>One</value>         <value>Two</value>         <value>Three</value>     </field> </object> 

which, like XML in general, is a bit bloated and takes 138 bytes(without whitespaces, that is). The same in JSON could be

{     'java.util.ArrayList': {         'elementData': [             'one',             'two',             'three'         ]     } } 

which is 75 bytes so already slightly smaller than Java’s serialization. With these text-based formats it’s of course obvious that there has to be a way to represent your basic data as text, numbers or any combination of both.

So to recap, how does serialization work on byte/bit level, when it should be used and when it shouldn’t be used and what are real benefits of serialization besides that it comes standard in Java?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-10T22:32:35+00:00Added an answer on May 10, 2026 at 10:32 pm

    I would personally try to avoid Java’s ‘built-in’ serialization:

    • It’s not portable to other platforms
    • It’s not hugely efficient
    • It’s fragile – getting it to cope with multiple versions of a class is somewhat tricky. Even changing compilers can break serialization unless you’re careful.

    For details of what the actual bytes mean, see the Java Object Serialization Specification.

    There are various alternatives, such as:

    • XML and JSON, as you’ve shown (various XML flavours, of course)
    • YAML
    • Facebook’s Thrift (RPC as well as serialization)
    • Google Protocol Buffers
    • Hessian (web services as well as serialization)
    • Apache Avro
    • Your own custom format

    (Disclaimer: I work for Google, and I’m doing a port of Protocol Buffers to C# as my 20% project, so clearly I think that’s a good bit of technology 🙂

    Cross-platform formats are almost always more restrictive than platform-specific formats for obvious reasons – Protocol Buffers has a pretty limited set of native types, for example – but the interoperability can be incredibly useful. You also need to consider the impact of versioning, with backward and forward compatibility, etc. The text formats are generally hand-editable, but tend to be less efficient in both space and time.

    Basically, you need to look at your requirements carefully.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 75k
  • Answers 75k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • added an answer I know this isn't directly answering your question, but you… May 11, 2026 at 2:51 pm
  • added an answer ICMP and raw sockets are restricted to administrator users since… May 11, 2026 at 2:51 pm
  • added an answer Small clarification. They are actually static readonly values and not… May 11, 2026 at 2:51 pm

Related Questions

I ran into a problem. Wrote the following code snippet: teksti = teksti.Trim() teksti
I am currently running into a problem where an element is coming back from
Seemingly simple, but I cannot find anything relevant on the web. What is the
Configuring TinyMCE to allow for tags, based on a customer requirement. My config is
Is it possible to replace javascript w/ HTML if JavaScript is not enabled on

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.