Java To Be Opened For Christmas?
MBCook writes "At the Oracle OpenWorld conference, Sun's CEO Jonathan Schwartz announced on Wednesday morning that Java would be opened within 30-60 days, which would would mean about Christmas Day at the latest. Sun first announced they would do this back in May at JavaOne but didn't give a date. We've seen rumblings before on this topic. Schwartz also commented on the companies Sun Fire servers, Sun's relationship with Oracle, and general trends."
Now maybe we can have a Java plug-in for 64-bit browsers.
Under what license?
If you mod this up, your slashdot background will turn into a beautiful sunset!
1999 called, it wanted its lame comment back.
The dichotomy that exists between Microsoft Java (which is pretty bad) and Sun Java is, if not jarring, quite irritating. Thankfully, Sun Java is the norm. But if Sun Java is released under the GPL, I expect to see several more versions of Java, most of them incompatible with each other, coming out soon. Iceweasel, anyone?
Still wondering if this means they'll be opening up specs on how the ARM Java acceleration works ... it would be nice to have some of those free JVMs able to use that to speed up their
bytecode interpretation.
For those of you who don't know about this, most modern ARM CPUs -- like the ARM-926ejs as found in the Nokia 770 and many cell phones -- include three processor modes: (1) pure 32bit ARM instructions, (2) a 16-bit compressed version of ARM instructions called "Thumb", widely used in microcontrollers, (3) an 8-bit Java bytecode interpreter. The first two have public documentation. But ARM won't give docs to the last out, because Sun won't let them do that; you need a separate licence from Sun to get those documents. So it's fully within Sun's power to open up some widely available Linux-savvy hardware to run Java a lot better ...
There's another CPU that's in the same kind of boat, the new AVR32 from Atmel. You may have noticed that Linux 2.6.19-rc includes initial support for that architecture. AVR32 CPUs have analogues of (1) and (3) above ... but again, Atmel won't give docs to
the Java acceleration out, because Sun won't let them do that.
(And for background info: yes AVR32 is very new, likely its audience today is almost
all developers, only one model of chip available so far.)
So how about it, Sun ... are you really going to open Java up??
We need slower slugs.
The time difference depends on whether or not the garbage collector runs during that time.
Badass Resumes
Using Azureus as an example of memory problems in Java is like using Firefox as an example of memory problems in C++
Have you seen Anna Nicole Smith recently? She already looks like herself on crystal meth.
It goes from God, to Jerry, to me.
I can't believe how many IBM trolls are in this thread (and Slashdot as a whole) decrying Sun's lack of a track record in open sourcing their stuff.
Have they ever heard of NFS? OpenOffice? OpenSolaris?
Is there something wrong with the CDDL that's not wrong with the Mozilla license? From what I understand, the CDDL is similar to the Mozilla license but simpler. I invite every single one of those armchair critics to stop using Firefox if they're so adamant.
Unlike IBM (with the exception of Eclipse), Sun actually *open sources* stuff. I invite those IBM trolls to push their corporate master to open source WebSphere, DB2, Rational Rose, or Lotus Notes.
This space left intentionally blank.
Actually, the CDDL is a Free Software license, albeit a GPL-incompatible one, according to the FSF. See http://www.fsf.org/licensing/licenses/index_html.
5 minutes? What the hell are you running? Have you used a Java program since 1998?
I'll do a test right now, with Java 1.6b2 and Eclipse 3.2 with an Athlon 64: 12 seconds to the workbench.
Yep, that's a long time. Keep in mind Eclipse is a heavy app and I do have many extensions installed. Other Java apps I use regularly, such as pdftk (command line) come up instantly and work very fast.
Properly written Java apps are not slow, though if they use Swing they look hideous.
"It ain't a war against drugs.it's a war against personal freedom" --Bill Hicks
Only if you redfine 'leak' to be something other than data which is no longer reachable.
A precise collector will always correctly identify the liveness of data, because it knows what is a pointer into the GCed heap. (That is the definition of a precise collector).
A conservative collector is used when an object may or may not be a pointer into the GC heap (e.g., it may be a pointer into memory that is not to be managed by the collector, sometimes it may be another type of object entirely). Conservative collectors must err on the side of retaining possibly (but not provably) unreachable objects, and so can leak. However, for a number of years now, modern approaches such as barriers and generational scavenging asymptotically eliminate such retained dead objects from the managed heap, unless they are deliberately created. Such deliberation usually requires some effort, can be prevented by the compiler, is readily detected at runtime, and is easy to debug.
Bad programming practices can result in the growth of lots of live data. Typically this involves using global variables. Sometimes this is accidental, such as when the top-level retains a history of results returned to it for debugging purposes or other convenience. However, these are not leaks per se -- the data is live in that it is reachable. Making the data in question unreachable (reset the global variable or previous-results list) will allow either type of collector to reclaim the space.
In general it is much more common that memory is consumed by abandoned data that was created in heaps not managed by the collector, and these heaps are almost always used by code written in another non-GCed language. This includes the runtime, libraries, and foreign functions. Usually this is fixed via careful wrapping of the non-GC-language code with finalizers (exceptions, dynamic winding/unwinding, and other techniques), and in most GCed languages which expect to interact with things like the POSIX API this is usually done through libraries written in the GCed language.
Finally, some GC implementations, particularly conservative ones, are simply buggy or are not using modern techniques. In this case it's the implementation's collector leaking, not the language.