
Protocol buffers are the flexible, efficient, automated solution to solve exactly this problem. Instead of these options, you can use protocol buffers. Also, navigating an XML DOM tree is considerably more complicated than navigating simple fields in a class normally would be. However, XML is notoriously space intensive, and encoding/decoding it can impose a huge performance penalty on applications. This can be a good choice if you want to share data with other applications/projects. This approach can be very attractive since XML is (sort of) human readable and there are binding libraries for lots of languages. This works best for encoding very simple data. This is a simple and flexible approach, although it does require writing one-off encoding and parsing code, and the parsing imposes a small run-time cost. You can invent an ad-hoc way to encode the data items into a single string – such as encoding 4 ints as "12:3:-23:67".

213), and also doesn't work very well if you need to share data with applications written in C++ or Python. This is the default approach since it's built into the language, but it has a host of well-known problems (see Effective Java, by Josh Bloch pp. How do you serialize and retrieve structured data like this? There are a few ways to solve this problem: Each person in the address book has a name, an ID, an email address, and a contact phone number. The example we're going to use is a very simple "address book" application that can read and write people's contact details to and from a file.

For more detailed reference information, see the Protocol Buffer Language Guide (proto2), the Protocol Buffer Language Guide (proto3), the Java API Reference, the Java Generated Code Guide, and the Encoding Reference. This isn't a comprehensive guide to using protocol buffers in Java.

JAVA COMPILER HOW TO
By walking through creating a simple example application, it shows you how to This tutorial provides a basic Java programmer's introduction to working with protocol buffers.
