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

  • SEARCH
  • Home
  • 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 61k
  • Answers 61k
  • 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 To access the man page for a given numbered section,… May 11, 2026 at 9:54 am
  • added an answer See this related Stack Overflow question, in particular from the… May 11, 2026 at 9:54 am
  • added an answer You don't need the Form double-buffered, you need the PB… May 11, 2026 at 9:54 am

Related Questions

I keep getting tasks that are above my skill level. How can I address this without coming accross as grossly incompetent?
I have a web-service that I will be deploying to dev, staging and production.
I'm thinking of starting a wiki, probably on a low cost LAMP hosting account.
I have the following tables in my database that have a many-to-many relationship, which
I'm using the RESTful authentication Rails plugin for an app I'm developing. I'm having
I recently printed out Jeff Atwood's Understanding The Hardware blog post and plan on
I find that getting Unicode support in my cross-platform apps a real pain in
I would like to test a string containing a path to a file for
I'm getting this problem: PHP Warning: mail() [function.mail]: SMTP server response: 550 5.7.1 Unable
I'm an Information Architect and JavaScript developer by trade nowadays, but recently I've been

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.