Slashdot Mirror


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."

27 of 146 comments (clear)

  1. The Tiger still seems fresh by hansamurai · · Score: 2, Funny

    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.

    1. Re:The Tiger still seems fresh by bwt · · Score: 3, Interesting

      Java 1.5 introduced major syntax enhancements and changes. The three big features of 1.6 are scripting, profiling/debugging, and JIT performance. The nature of these changes makes it much easier to migrate, unless perhaps you had an app that was heavy on BSF (bean scripting framework), in which case you need to migrate.

  2. Downloads page still stupid by PhrostyMcByte · · Score: 4, Insightful

    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.

    1. Re:Downloads page still stupid by david.given · · Score: 4, Interesting

      But as a user, it always amazes me how hard it is to navigate Java's downloads.

      Yeah. Sun's Java web pages quite frankly are horrific beyond all reason. I dread every time I have to go and find something there --- and frequently I just fail. The last thing I tried to get was the Linux wireless toolkit for developing J2ME apps. I managed to find 2.4 (not supported by EclipseME, which I was using.) I managed to find 2.2. But could I find 2.3? Like hell.

      If there's anyone from Sun listening, could you please find whoever is responsible for those web pages and fire them? It's this ghastly maze of long, meaningless product titles, menus that go in loops, undefined terms, endless minutely different product specs, pointless registration systems (which makes me very grateful for BugMeNot)... actually finding the useful information there is it's just too hard. If your web site is so complex and badly designed that people would rather give up than try and figure out, then, I'm afraid, you fail.

    2. Re:Downloads page still stupid by Sircus · · Score: 2, Informative

      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
    3. Re:Downloads page still stupid by MojoRilla · · Score: 2, Informative

      Except the version of Java on www.java.com is still Java 5 release 9. So it appears Java 6 is only partially released.

  3. Bogus Link in website by Fujisawa+Sensei · · Score: 2, Informative
    From Sun's Website:
    Java SE 6 is the current major release of the Java SE platform, with full support from NetBeans IDE 5.5. Sun endeavors to foster the highest level of transparency and collaboration on the platform with the Java community through Project JDK 6, resulting in the following key features. Sun's Java Multi-Platform Support, Training, and Certification can provide you the peace of mind to develop and deploy Java solutions with confidence.

    Download the Java SE 6 Release Candidate

    Sun says in one place its current, but links a Release Candidate in the early access site. But if you go to the J2SE Download page: http://java.sun.com/javase/downloads/index.jsp/ There is a link to Java 6.
    --
    If someone is passing you on the right, you are an asshole for driving in the wrong lane.
  4. about time by Billly+Gates · · Score: 4, Interesting

    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.

  5. New features with specification references by nyri · · Score: 5, Informative
    The real specification of new features is available at JSR 270.

    The scripting support is specified at JSR 223.

    Here are some additional new features:
    • New database connection API, JDBC 4.0: JSR 221
    • New version of web services API, JAX-WS 2.0: JSR 224


    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.
  6. Great! by Anonymous Coward · · Score: 2, Informative

    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.

  7. Re:still waiting by Golthar · · Score: 4, Informative

    OpenJDK project
    Hotspot

    Early 2007 we should see the class libs as well

  8. Re:GPL? by Golthar · · Score: 4, Informative

    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"

  9. Re:Ask Slashdot... by Golthar · · Score: 3, Informative

    Some help on getting you back in the saddle with the new features:

    1.5 features in a nutshell

  10. Re:Ask Slashdot... by LarsWestergren · · Score: 3, Informative

    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

  11. No longer Java TWO SE by gumpish · · Score: 2, Informative
    But if you go to the J2SE Download page: http://java.sun.com/javase/downloads/index.jsp/ There is a link to Java 6.


    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)
  12. Re:Is it any faster for client-side apps? by J.Y.Kelly · · Score: 5, Informative
    A big problem with this was that their Swing toolkit is goddamn slow

    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.

  13. Re:Funny I am still with jdk 1.4 by gumpish · · Score: 3, Interesting

    It's not J2SE anymore. Now it's just Java SE. (Although we still have the 5 (but really 1.5), 6 (but really 1.6) silliness, but it's a step in the right direction.

  14. Re:Is it any faster for client-side apps? by 0xABADC0DA · · Score: 5, Interesting

    Java GUIs have traditionally been 'slow' because they are double-buffered by default, and as a consequence they redraw completely before displaying. Hardware simply wasn't fast enough to do this gracefully -- it's only recently that most gnome/kde applications and some xp ones are expected to be double-buffered.

    The double-buffering also lead to lots of inefficient widget redrawing, like for a while each widget was cleared with the bg color before being redrawn even if it then say put an image say over its whole area.

    The other major slowdown was because Java's graphics were much more advanced than necessary, for example lines of width != 1 with end and joint caps, antialiasing, clipping regions (instead of boxes), custom renderers, etc. This made it difficult to integrate with the simple hardware acceleration at the time. Native apps had jaggy lines and solid colors as the main features.

  15. Re:Is it any faster for client-side apps? by samkass · · Score: 4, Interesting

    More information can be found at Chris Campbell's blog, but yes, graphics are much faster in JDK 6 especially with the OpenGL pipeline turned on, although they were hardly "slow" in JDK 5. Also, the JIT compiler has been largely reworked to improve codegen (especially with -server flag specified).

    Another common complaint about Java UIs is that the dynamic loading/binding/compiling/optimizing makes things slow the first time anything is done, a little less slow the second time, then reasonably zippy from then on. So the longer you work in a Java app, the faster it gets. In any case, I code in Java IDEs all day long and they don't seem any slower than native apps.

    --
    E pluribus unum
  16. Re:Funny I am still with jdk 1.4 by tomservo84 · · Score: 2, Interesting
    (Although we still have the 5 (but really 1.5), 6 (but really 1.6) silliness, but it's a step in the right direction.
    It goes right along with Solaris 8 = SunOS 5.8, Solaris 10 = SunOS 5.10, etc., etc....it must be a Sun-ism.
    --
    Agile Spaceport - You will never find a more wretched hive of scrum and villainy. We must be cautious.
  17. Re:Is JBoss compatible with it? by jonabbey · · Score: 3, Informative

    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.

  18. Good release, but real fun stuff in Java 7 by caseih · · Score: 4, Insightful

    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.

  19. OpenGL rendering by Laz10 · · Score: 3, Informative

    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.

  20. Re:you'll know it when it happens by idlake · · Score: 2

    If Sun say they are going to do it, they are going to do it, problems or not. Their statement that they are doing this is hardly "meaningless".

    They are "meaningless" in that nothing changes for users until they actually deliver.

    And that interpretation is already assuming that they are actually being honest and that no problems crop up. Given what happened with Java standardization and the tricks they have been playing with Solaris, Sun has little credibility when it comes to open source.

  21. Re:Features? by aled · · Score: 2, Informative
    On Sun's web page announcing this exciting new release, there's a link to the list of "new features and enhancements". When I clicked on it, it said "404: not found". I think that sums up Java quite nicely.


    Nice (or not so nice) try of trolling FUD but the link works fine.
    --

    "I think this line is mostly filler"
  22. Major speedup for FP-math intensive apps. by Thorgal · · Score: 2, Informative
    What I don't see mentioned here is a significant performance improvement that is especially pronounced in FP-math intensive code. Take a look at some of the timings obtained with JatMark benchmark - typically it finishes in half the time (results in seconds):
    • 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/
  23. Re:Is it any faster for client-side apps? by asb · · Score: 2, Informative

    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/