Java SE 6 Released
twofish writes "Sun has announced the availability of Java
Standard Edition 6 final release. JSE6 now has dynamic language support.
It comes pre-delivered with Netscape's Rhino, a Javascript engine, and the scripting
project's home page documents many other available scripting languages,
including awk, Jelly, Pnuts, Python, Ruby, and Scheme. In addition a lot of
work has been done on the libraries and run-time compiler. The JIT has been
improved, with better runtime analysis of program characteristics, giving notable
performance improvements. Other improvements include better desktop support, improvements
in Swing look and feel, Windows Vista support, and better diagnostic support
(For example, profilers and debuggers can now attach to a running JVM without
specifically using a debugging-capable configuration. For example, if a problem
is found at run-time for a production server, a debugger can attach to it without
restarting the server).
Sun is also offering sixty days of free developer support for JSE 6 through
their Developer Services program."
Laugh 2.0.
It takes a man to suffer ignorance and smile
Be yourself no matter what they say
While Java performs acceptably for server applications, it has traditionally been quite lousy when it comes to client-side development. A big problem with this was that their Swing toolkit is goddamn slow. I really don't know why, nor do I particularly care why. What I'm interested in is if anything has been done in Java SE 6 to improve the quality and performance of Swing, to the point that it's at least comparable to SWT. So has it?
I'm not as excited about this as 5. What are the main new features?
Here is link tos sionid=C4783514291DD63EE652A5C2135F4C43
Java(TM) SE Runtime Environment 6 https://sdlc3e.sun.com/ECom/EComActionServlet;jse
As if Java and Javascript weren't already confused enough.
Here goes a whole new round of n00b education.
Maybe on the plus side javascript will begin to suck less.
And here I am in the middle of studying for the Java 5 certification exam while my workplace runs 1.42 and J2EE 1.3.
Reviewing just the first hour of video games.
Kudos on the new release. I'm running Vista, so the support will be nice.
But as a user, it always amazes me how hard it is to navigate Java's downloads. Assuming non-techies know that "Java Runtime Environment" is what they need to run Java apps, you still have to dig past a JDK and NetBeans link to get to it. I tried walking a relative through downloading the JRE a week ago and it took way longer than it should have.
I'm still waiting for them to release java as opensource
WulframII - Free Online Mutiplayer 3D Tank Shooting Game
What's the best way to get back into using Java? I took a couple of programming classes when it was still Java 1.3/1.4 a few years ago and totally missed the jump to Java 5/6.
The source has been available for quite a while.
If someone is passing you on the right, you are an asshole for driving in the wrong lane.
What happened to Sun releasing Java under the GPL? I'm still getting a click-wrap license agreement here...
'Yes, firefox is indeed greater than women. Can women block pops up for you? No. Can Firefox show you naked women? Yes.'
You can finally have apps that look alot more like win32 or gnome apps without using swt or some other less standard api. Also this release uses some Apple technology with their jdk by offering dynamic class loading. Startups should be alot faster. This and java7 which is already in development should be really exciting. Sun has been putting out alot of java releases recently due to .NET and competition is good.
http://saveie6.com/
The scripting support is specified at JSR 223.
Here are some additional new features:
BTW, why isn't this on the front page? All the fussing about the possible new license was there but not the product publishment itself.
Congratulations to all the hard working people at Sun, and those outside who contributed (I'm one of them).
I tend to get +5 for these kind of posts, so this time I'll post anonymously to prevent karma wh:
As usual, InfoQ has a nice writeup with good links.
Sun has a confusing number of portal sites for news and communities, but the two most lively ones are probably java.net and Planet JDK.
Remember that Java 6 is not GPL, the decision to go GPL came too late in the development phase, only JDK7 is GPL. But you can get JDK6 and JDK7 is under the Research Licence from Subversion, a good blog with info about how and where is here.
You were using the JDK 1.3/1.4, which implements Java 3/4. The language versions are numbered N, but Sun's JDK's are numbered 1.N.
Java 5 has added:
Java 6, I'm not as knowledgeable about. But Java 5 is certainly an improvement--it makes things less wordy, although most of the changes are skin-deep; the compiler implements generics as implicit casts (which are added to the class files), and the foreach loop with an implicit iterator. And of course boxing/unboxing slows things down too. But it's prettier, and besides, if you're using Java you probably already have a handle on where the performance is good and where it suffers.
ttuttle is a rankmaniac
...so I suspect I will wait java until java 2.0 is out...
but wait... j2see is java 2.0, isn't it?
Sun numbers are so confusing....:)
They say they will be releasing parts over the next few months. The first true open source release will come with Java 7. Sun promised GPL with a linking exception; I'd wait and see whether they actually deliver or whether there are some unforeseen issues with it.
You'll know it when it happens, because that's when Linux distributions will start including it in their "free" portions. Until then, the announcement is meaningless.
Please note that it is no longer "J2SE", it's just Java SE. (As per the URL you pasted in your post.)
Sadly the marketroids still insist on calling it Java SE 6 and not Java SE 1.6 (which it is), but at least today we're better off than with Tiger, which was Java 2 SE 5 (aka 1.5)
Is it?
Build a tool even an idiot can use and only an idiot will want to use it. -S.O.B.
Java 6 has made great strides in many areas, including speed, Swing LAF, etc. It now uses GTK theme engines (works with all themes) to allow swing apps to look more like GTK apps. The imitation is still very imperfect, but it's much improved over the old, crappy, Metal look. I believe generics have been improved some in 6, and I think, if I recall correctly, 6 marks the beginning of non-backwards compatible changes to the JVM itself to pave the way for a lot of exciting new features in Java 7, the most notable will the inclusion (finally) of delegates, making GUI event programming a lot cleaner. It's possible that with Java 7 finally on feature parity with .NET, someone could write a .NET to JVM translator, such as the reverse of ikvm, to allow C# code to be executed on a clean, GPLd Java stack. I still prefer C# to Java at this point, and it would be nice to have the difference between the two stacks (technologically anyway) be insignificant, hopefully helping developers who would choose .NET choose the now safer Java alternative. .NET really did get a jump on Java technologically up until now. It's better in several ways including the generics model, delegates, and being able to support a number of languages including python (jpython for JVM seems to be stalled). Java 7 will start to change all that. Sun's really proved they are listening to the community. Either that or .NET really got them scared.
If I can run a dialect of Lisp with all the speed of the JVM, then I'm sold.
We are Turing O-Machines. The Oracle is out there.
If you have an OpenGL capable gfx card you should enable the OpenGL rending pipe for your Swing applications with this
java -Dsun.java2d.opengl=true *javaprogram*
It is disabled by default for compatability reasons, but all java programs should really make two launchers so users can choose.
The OpenGL path should be a lot faster now, since it has been refactored to use only a single thread to ship commands to the gfx card, which is the same technique that most 3d games uses.
It should be noticable.
- 206 - Core 2 Duo E6600 (2.4GHz)/DDR2@667Mhz/Linux 2.6.18.3 #5 SMP/Sun JDK 1.6.0-rc-b104
- 223 - Opteron 275 2.2GHz/Linux 2.6.11.12-grsec/Sun JDK 1.6.0-beta-b59g
- 349 - Pentium M 730 (1.6Ghz)/DDR2@400Mhz/Linux 2.6.15-cK1/Sun JDK 1.6.0-beta-b59g
- 401 - Core 2 Duo E6600 (2.4GHz)/DDR2@667Mhz/Linux 2.6.18.3 #5 SMP/Sun JDK 1.5.0_05-b05
- 408 - Opteron 275 2.2GHz/Linux 2.6.11.12-grsec/Sun JDK 1.5.0_01-b08
- 415 - Opteron 250 2.4GHz (dual)/Linux 2.6.8/Sun JDK 1.5.0-b63
- 596 - Pentium M 730 (1.6Ghz)/DDR2@400Mhz/Linux 2.6.15-cK1/Sun JDK 1.5.0_06-b05
Full results table."Man in the Moon and other weird things" - wfmh.org.pl/thorgal/Moon/
No no, not a flame at one being better than the other.
.NET fighting it out, seeing which can pump out the most solid platform, and it just improves on both side at lightning speed... we had .NET 3.0 recently (Workflow foundation ::DROOLS::) and now this. Its great!
Just pointing out...since Java came out and Microsoft was kicked out of the field, having to come up with its own "copy", things have gotten quite interesting for developers...
You have Java and
At the same time, the other languages are also forced to evolve to keep up, giving us little gems like Rails.
I am a happy camper.
Why didn't this make the front page? It's certainly a far more interesting thing for nerds than an article about bloggers.
"I noticed it last night, before it got slashdotted."
Its the first time I've truly scooped slashdot! Woohoo!
Well the online api doc's kept pointing to version 6 while I was looking for version 5.
=)
"Forgive us our trespasses, as we forgive those who trespass against us." -Jesus Christ The Lord's Prayer
I trained as a teacher and the Headfirst books use an approach that is designed about how most people learn, not simply to deliver information. They ran a risky course with the chance that people might find the illustrations distracting rather than educational. But it works for most people
I have just downloaded and installed the JDK 1.6.0.
I was looking forward this new release. But I am very disappointed.
Quick remarks.
Swing GTK theme looks a way better now. But it is unusable for me. Too slow. really, if you have to wait 1+ secs for a tab to change, no thanks.
The default laf is unfortunatelly still the Ocean theme. Ok, it looks better now. maybe I am going to like it.
The biggest disappointment for me was the performance degradation. the responsivness of applications that use pluggable laf has significantly degraded.
For instance the JDeveloper IDE. (Jdev uses it's own laf, which is very cool IMHO) if I maximize it, it is being repainted too long. the
scrollbar moving is offending me. it is not smooth and you cannot just normally move scrollbar from the top to the bottom, without those annoying stops. etc
It has worked ok for me under Java 5. I don't know, maybe it is just a bug or something.
I don't want to criticize the new Mustang realese as a whole, maybe there are really cool things. the the first impression for me as a linux user is
poor.
sorry
I am running OpenSuse Linux with 1GB memory and 2+ Ghz processor.
If there's one toolkit that's consistently slower than Swing, it's GTK+. The GTK+ architecture is a mess, with them trying to implement a complete object layer in C. Sure, it can be done, but the end result is shitty (as we see with GTK+).
Worse still, the C compiler just doesn't have the knowledge about potential optimizations that can be used when dealing with object-oriented-style features. True C++ compilers, on the other hand, can be developed taking directly into account optimizations that can be used in such situations. And the end result is that the assembly or machine code emitted by a C++ compiler is often far better than that from a C compiler when an object-oriented architecture is used.
While licensing factors likely prevent it from ever happening, were SWT built upon Qt, we'd likely see Java applications that are far more responsive, and consume less memory. Just as KDE applications are far more efficient than their GTK+-based equivalents, Qt-based Java applications would be able to take advantage of the better codebase Qt offers, as well as the speed benefits from better and more compiler optimizations.
Another feature that Java 6 has doesn't seem to be getting any attention is JSR 269 (Pluggable Annotation Processing). I'm kind of excited to try it out.
The idea with JSR 269 (as I understand it).. you create a few classes that are specifically recognized as annotation processing classes. Run javac as usual. Javac starts out and looks for classes like these. If it finds any, it will run them on your remaining source code files. The logic you define in your annotation processors can access the source code and do pretty much anything with it.
As a very simple example, you could create an annotation @HasGettersAndSetters, and create a corresponding processor that automatically creates get..() and set..() methods for any class that you stick the annotation on.
There are existing libraries out there (Spoon), but the cool part about this is that it's all built-in to javac.
& I wish I knew the password to your heart . . . &