Over a million developers have joined DZone.

Java puzzle (Single threaded client server)

· Java Zone

What every Java engineer should know about microservices: Reactive Microservices Architecture.  Brought to you in partnership with Lightbend.

Without creating additional threads, create a ServerSocket on a random unused port, a client Socket connecting to localhost and a server Socket.

Part 1) Send messages from client to server and back again. (This can be useful in unit tests)

Part 2) Do the same with blocking NIO.

Part 3) Benchmark how many GB/s per second you can transfer this way.

Part 4) Measure the typical and 99.99% round trip latency, and estimate how much garbage is produced.

For bonus points try the same with Async NIO2 in Java 7.

 

From http://vanillajava.blogspot.com/2011/11/java-puzzle-single-threaded-client.html

Microservices for Java, explained. Revitalize your legacy systems (and your career) with Reactive Microservices Architecture, a free O'Reilly book. Brought to you in partnership with Lightbend.

Topics:

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}