Re: [discuss] Limewire on free JVMs.
"Philippe Verdy" <[email protected]> Tue, 27 Sep 2005 01:29:46 +0200
| Newsgroups | gmane.network.gnutella.limewire.general |
|---|---|
| Message-ID | <[email protected]> |
From: "Jacob Hanslik" <[email protected]> >>Note that Limewire now also works with Java 1.5 (even if it still does not >>use its new language features or supplementary or extended bundled class >>libraries). > Well, java always has been upward compatible so I do not see the black > magic behind this ;-) That's not the right point of view. I wanted to emphasize the fact that Java is not backward compatible. So if LimeWire starts developing with Java 5 specific features, it won't compile or run on Java 1.4 without modifications. It's been already hard in the past to support Java 1.3.1 and Java 1.1.8 on MacOS 7/8/9, and this justified stopping active development for Java 1.1.8 (at the same time, this meant that LimeWire would no more be easily portable to legacy pseudo-Java platforms like the now defunct MSVM). May be Java will resurrect on the MS platform one day, when a compliant JVM will be ported to native .NET (a VM in a VM...); this will only happen and be successfull if full JVM compliance is implemented (the really difficult work would be to port the JNI interface to the .NET CLI... this was already the most problematic issue in MSVM which just implemented a part of Java 1.1, and I am not convinced that the .NET platform offers enough interfaces to allow such development, as if Microsoft had deliberately wanted to remove that possibility in order to fully control the .NET engine, notably in the way it manages its internal memory resources and locks for its JIT compiler. See for example the various limitations of the .NET interface with C and C++ and you'll understand the problem, which will become extremely critical when trying to port the Java garbage collector so that it will be able to run without locking the entire system and all running threads). So if it happens one day, it won't be on the MS implementation of .NET but on a concurrent .NET VM, with documented APIs to allow such dual-VM mode, based on a common micro-VM (may be Sun will be that concurrent supplier of a microVM that will support both VMs with a common resource management.) Final note: LimeWire does use the JNI interface for integration of a few system-specific functions or emulation of missing features to solve platform-specific issues. _______________________________________________ discuss mailing list [email protected] http://www.limewire.org/mailman/listinfo/discuss