Slashdot Mirror


Java 8 Officially Released

darthcamaro writes "Oracle today officially released Java 8, nearly two years after Java 7, and after much delay. The new release includes a number of critical new features, including Lambda expressions and the new Nashorn JavaScript engine. Java 8, however, is still missing at least one critical piece that Java developers have been asking for, for years. 'It's a pity that some of the features like Jigsaw were dropped as modularity, runtime dependencies and interoperability are still a huge problem in Java,' James Donelan, vice president of engineering at MuleSoft said. 'In fact this is the one area where I still think Java has a long way to go.'"

8 of 302 comments (clear)

  1. Does it make Minecraft run faster? by Anonymous Coward · · Score: 5, Funny

    Probably the most important question in the mind of the general public.

    1. Re:Does it make Minecraft run faster? by mark-t · · Score: 5, Informative

      Your mistake is in thinking that constructing classes in Java with new would put them on the heap.

      It does not. It puts them into a special cache that is very similar to a stack, and which gets destroyed when the function exists. Objects that require more persistence than the scope they are allocated in migrate to another storage space automatically when the scope or function ends. This check isn't quite as free as just incrementing a stack pointer, but it is still extremely efficient... taking far less time than it would to manipulate values on a global heap.

  2. Re:Fanboy Glee by vux984 · · Score: 5, Insightful

    And another round of everyone getting ask.com toolbars.

    Boooo.

  3. Re:A Javascript Engine in the JVM!? by Anonymous Coward · · Score: 5, Funny

    Same for me, but it was with programmers.

  4. Re:A Javascript Engine in the JVM!? by gutnor · · Score: 5, Informative

    Javascript was originated at Netscape. Nothing to do with java at all except some desire by Netscape to ride the java wave of that time: http://en.wikipedia.org/wiki/J...

  5. Re:A Javascript Engine in the JVM!? by fahrbot-bot · · Score: 5, Funny

    Crap, I already have a hard enough time getting non-programmers to understand that Java and JavaScript aren't the same thing.

    Javascript is just Java written in cursive - duh.

    --
    It must have been something you assimilated. . . .
  6. Re:Damnit by mythosaz · · Score: 5, Insightful

    -new versions do break old functionality by adding new behavior (often around security)

    Multiple programs each requiring unique versions of Java (and each only looking at the default Java on the system) coexisting on the same machine used to be my biggest nightmare.

    Now though, it's security. Oh, I'm sorry. Did the vendor sign their .jar files in a way that makes 7_fourtywhatever not shit out dialog boxes? Oh they didn't? Did Sun include simple registry values to fix this? No. They moved to a crazy collection of files in %appdata%? Oh, that should be fun.

    Do you want to run this code?
    Are you absolutely sure you want to run this code?
    No, you can't run it anyway, because your security settings are wrong.
    Would you like to change your settings now?
    No, you can't. You need to change obscure settings.

    Fuck you, Sun. Right in the goat ass.

  7. Re:Jigsaw by Miamicanes · · Score: 5, Insightful

    Far BETTER would be if Java could be aware of how much ram the computer has, and enlarge its heaps as necessary & possible. Few things piss me off more than getting OutOfMemoryException on a computer with 16 gigs because I forgot to manually specify a larger heap size when I launched some executable jarfile from the commandline.

    I mean, seriously. Would it really be *that* hard for the JVM to handle TWO sets of memory pools instead of just one, so that if the Eden space (for example) gets exhausted and is due for GC, the JVM would check with Windows to see how much physical RAM is free, and if there's a lot of it, just allocate a new chunk that's roughly double the size of the old one, start sticking new data into the new one immediately, and consolidate data from the old one into the new one as a very, very low-priority non-blocking background thread that eventually returns the first chunk of RAM to Windows once everything in it has been either moved or freed. For longer-lived services where memory leaks are a real issue, you could tell it, "expand by doubling up to [max megs or percent free], then fall back to conventional garbage collection -- possibly, grabbing a new chunk of ram that's the same size as the old one if possible so the time-consuming object-copy can be deferred and done in the background"