*begin injoke, skip if you wish so*
There is no Gnutella2 in Java.
And there is no Gnutella2.
But even if there where a Gnutella2, there wouldn't be one in Java.
*end injoke*
There are some implementations of Gnutella in Java, but none of those implements the network touted gnutella2 (which is no predecessor of gnutella but just shares some common ideas - the name created quite some aversion among Gnutella developers).
If you're interested in doing research on decentral tag based p2p networks (i.e.: Gnutella), please grab a copy of Phex:
-
Phex - Home - The Main Website.
-
Subversion - PhexWiki - The most recent sources.
And if you're interested in the backgrounds, please have a look at Gnutella for Users and the Gnutella Specification:
-
Main Page - Gnufu - Gnutella for Users - a guide to the inner workings of the network for non-programmers.
-
Gnutella Protocol Specification - Gnutella Specification - The Gnutella Specification.