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."
If someone is passing you on the right, you are an asshole for driving in the wrong lane.
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.
OpenJDK project
Hotspot
Early 2007 we should see the class libs as well
See also here
"Q:
When will you finish open sourcing the JDK? What is the timeline?
A:
We expect to release a fully buildable JDK based almost completely on open-sourced code in the first half of 2007"
Some help on getting you back in the saddle with the new features:
1.5 features in a nutshell
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.
I actually enjoyed the Head First Java book from O'Reilly, though I'll probably get mocked for it here.... I admit, it can feel a bit "kiddie" to have a lot of pictures, do puzzles and so on, but involving the right half of your brain makes stuff stick better, and for me, makes it fun and fast to learn. Second edition has some Java5 stuff in it.
If that style of learning is not for you, or if you are too advanced for that level, the Java Tutorial was pretty recently updated with new trails for Java 5 and Java 6, so you should find an appropriate level for you quickly. Also Java 5 Developer's Notebook is a neat guide.
Being bitter is drinking poison and hoping someone else will die
www.java.com -> first link you read, "Download now". Two clicks, no NetBeans. java.sun.com is for developers, it's reasonable that they angle it towards them.
PenguiNet: the (shareware) Windows SSH client
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)
You know, every time a java story appears here this line gets trotted out, but I'm really not sure that it's anywhere near as valid as it once might have been. From what I understand Sun have made a lot of efforts in the last few releases (1.3+) to speed up swing. I've written quite a few java applications in the last couple of years, all swing based, and none of them has caused me to have any concerns over the speed of the GUI toolkit.
Sure swing still has some other issues issues (eg proper native look and feel), but I'm sure that a lot of the complaints people have about the toolkit's speed are either very old prejudices or stem from poor coding within the application rather than from swing itself.
Except the version of Java on www.java.com is still Java 5 release 9. So it appears Java 6 is only partially released.
I'm sure that it is. Java's backwards compatibility has always been pretty spectacular. They've got millions of lines of unit-test code that they test new releases against, in addition to major applications which get explicit testing. JBoss is about as major an application as you'll find.
- jon
Ganymede, a GPL'ed metadirectory for UNIX
Here are lists of some new features in Java 6.
2 SE/Desktop/JavaSE6_build39.html2 SE/Desktop/javase6/
Core features: http://java.sun.com/developer/technicalArticles/J
Desktop features: http://java.sun.com/developer/technicalArticles/J
Some guy wrote a SWT-compatible library that used Swing components and it was FASTER then SWT because Swing uses an opengl pipeline so gets more hardware support for rendering. The only reason to use SWT is to get a native interface.
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.
Nice (or not so nice) try of trolling FUD but the link works fine.
"I think this line is mostly filler"
- 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/
What you say about double buffering is incorrect. Double buffering means that the components are first drawn into an off screen graphics context (simply put an "image") that is not displayed. After all components have been drawn off screen the result is displayed on the screen in one fast operation. The effect (and the reason why double buffering is used) is that users never see an incompletely drawn display.
The only performance difference to unbuffered drawing comes from increased memory usage and the displaying of that "image". Double buffering does not require any more steps during component drawing than unbuffered display. The useless clearing you talk about can be resolved by setting component opaqueness to correct value.
Antti S. Brax - Old school - http://www.iki.fi/asb/