Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Java Oracle Programming Sun Microsystems Upgrades

Oracle Announces Java SE 7 204

vivin writes "Oracle has announced the release of Java SE 7. This is the first release of Java under the stewardship of Oracle."
This discussion has been archived. No new comments can be posted.

Oracle Announces Java SE 7

Comments Filter:
  • lawsuit (Score:3, Insightful)

    by Threni ( 635302 ) on Thursday July 28, 2011 @01:16PM (#36911284)

    Will they sue me if I install it?

    • Re: (Score:3, Insightful)

      by Compaqt ( 1758360 )

      Only if you change a few things around and name it after a fishing village in Iceland [wikipedia.org] to try to get out of paying royalties for mobile Java.

      • Re:lawsuit (Score:5, Insightful)

        by h4rr4r ( 612664 ) on Thursday July 28, 2011 @01:30PM (#36911554)

        Dalvik is not java. One is stack on is register based, they will not use each others byte code.

        • Re: (Score:2, Informative)

          Um no. Implementation issues aside (stack vs. register), Dalvik is a virtual machine that runs the Java language using an incompatible byte code dictionary. That said the byte code that can run in Oracle's JVM can be easily mapped into byte codes that can be executed within Dalvik. The fact that Android (ie Dalvik) isn't using Java SE libraries is immaterial to Oracle v. Google.
          • by h4rr4r ( 612664 )

            It uses a language like java, but could use any other just as well. Just like bytecodes that can be translated so can the human readable code.

            Are you trying to claim that the issue is that is uses a human interface (the high level language) that looks too much like java?

            • The underpinning problem with Dalvik is that its implementation follows many JVM specifications. For example:

              The binary format, not the actual instructions themselves, follows very closely to Java's binary class format (I think this one is a weak argument, but it is one that Oracle is throwing.)

              The method used to pre-process the binary code and package the binary so that it can be pre-processed is very similar in both. (This one is a little bit less weak because the binary headers look almost the same bet

              • The underpinning problem with Dalvik is that its implementation follows many JVM specifications. For example:

                No it doesn't. They specifically break away from JVM specifications because Java's formats are slower and hinder some of both speed and memory optimizations.

                The binary format, not the actual instructions themselves, follows very closely to Java's binary class format (I think this one is a weak argument, but it is one that Oracle is throwing.)

                With this definition, anything is everything. Furthermore, law specifically allows for interoperability. But beyond that, there isn't any similarities worth noting as they specifically did not care to retain any interoperability. That's the first I've heard such a claim. If in fact they are making such a claim, its like saying you and I are the exact sa

                • No it doesn't. They specifically break away from JVM specifications because Java's formats are slower and hinder some of both speed and memory optimizations.

                  I guess the best way to present this would be if I had a patent on eating cereal (which would and should be ruled invalid but let's not get off the point here.) If my method is to grab cereal, grab bowl, grab milk, pour cereal into bowl, pour milk into bowl ... put milk up, put cereal up, grab spoon, eat, then just because your method is to leave the box of cereal out until done eating and grab the spoon while getting the bowl just to save time; doesn't mean you haven't infringe on my cereal eating idea.

              • The binary format, not the actual instructions themselves, follows very closely to Java's binary class format (I think this one is a weak argument, but it is one that Oracle is throwing.)

                They're throwing it around because one of their patents is specifically for the .class file format (I don't know what could possibly be patentable there, but there goes)

                They could have built on top of IcedTea and have a GPL Android platform sans the lawsuits.

                They couldn't, since GPL (v2) is immaterial to Sun/Oracle's patents - it does not have any kind of patent grant.

          • > Dalvik is a virtual machine that runs the Java language

            Dalvik is a virtual machine that runs any language compiled into its bytecode.

            Java is a language that can be compiled into multiple bytecodes (eg, JVM or LLVM).

            On Android, Java is compiled to JVM bytecode (using either javac, or Eclipse's compiler) and then a Google compiler compiles JVM bytecode into Dalvik bytecode.

            Many other languages that compile into JVM bytecode already run on Android. The Java language is one of many source lang
    • by Migala77 ( 1179151 ) on Thursday July 28, 2011 @01:34PM (#36911614)
      Yes. But they'll also sue you if you don't install it.
    • > Will they sue me if I install it?

      Only if you build something profitable out of it and they don't get a cut. That, despite it being open source.

      Open source doesn't protect you from patent trolls.

      Similarly, if you build something profitable (out of anything) then you can also expect Apple and Microsoft to come knocking.
  • by luizd ( 716122 ) on Thursday July 28, 2011 @01:23PM (#36911432) Homepage
    * 97% of enterprise desktops run Java
    * 1 billion Java downloads each year
    * 9 million developers worldwide
    * #1 programming language (TIOBE Programming Community Index)
    * More than 3 billion devices are powered by Java technology

    They forgot one:

    * #1 programming language used in judicial patent cases
  • Project Lambda (Score:4, Insightful)

    by Anonymous Coward on Thursday July 28, 2011 @01:25PM (#36911480)

    Project lambda [java.net] was arguably the most important planned addition to the JDK7, but apparently got dropped in the last few months and pushed back to JDK8. To be honest Project Coin [java.net], Fork/Join, and InvokeDynamic are useful, but not much of a big deal as Project Lambda.

    • by MrEricSir ( 398214 ) on Thursday July 28, 2011 @01:29PM (#36911540) Homepage

      You don't make a good language by smashing a bunch of "projects" together. If you do that, you end up with C++.

      • I disagree.

        There are quite a few situations where the bloat of Java doesn't fit. One of those is writing operating systems and drivers. Another is writing games. Sure, there are a few games here and there (Altitude, Minecraft) written with Java; however, a significantly greater number of games are written in C++.

        It's kind of like Lua vs Python. When you need a huge set of libraries built into the language's standard library, go with Python. When you don't need all that bloat, use Lua.

      • by glwtta ( 532858 )
        You don't make a good language by smashing a bunch of "projects" together. If you do that, you end up with C++.

        On the other hand, having people use new features for a few years "in the wild", before incorporating them into the language seems like a pretty reasonable way to do things.
      • by sapgau ( 413511 )

        So you should take 10 years to come up with an improved language designed from scratch?

    • The thing I've always wondered is:

      If you want lambdas and such, why wouldn't you just use LISP or Scheme [racket-lang.org] instead of trying to hack it into a C-syntax family language.

      Not only that, but tacking lambdas on to Java is going to be some crazy reuse of syntax instead of having a well-designed syntax for it.

      So then, you're neither here nor there. Neither do you have a powerful, but possibly tricky language, nor do you have a dead simple language for programming corporate CRUD apps.

      • by Raenex ( 947668 )

        If you want lambdas and such, why wouldn't you just use LISP or Scheme instead of trying to hack it into a C-syntax family language.

        Because those languages have different features than a language like Java -- the biggest being that they are not statically typed. It's a useful enough feature that hacking it into the language is worth it.

        Also, there's tons of Java code and programmers already in place, and people don't want to abandon it all just to gain a new feature.

      • If you want lambdas and such, why wouldn't you just use LISP or Scheme [racket-lang.org] instead of trying to hack it into a C-syntax family language.

        Because the main competing C-derived language to Java (C#), which is also the key systems language for the main competing managed framework to the JVM (.NET) already has "lambdas and such", while still having the rest of syntax more accessible than Lisp-family languages to the vast number of developers that have strong backgrounds in C-derived languages but le

      • Because you already have a large code base in Java, that you intend to develop further, and would like the language to provide better features as you go on?

        Because you want to use the existing wealth of Java libraries and frameworks?

        Because you have a lot of people who already know Java, and for whom learning lambdas will be much easier than re-learning everything from scratch?

    • Speaking of lambdas, Project Lambda folks are doing polls on syntax right now, and asked to spread the word. There will be a series of simple polls to gauge relative preferences; this [surveymonkey.com] is the first one - go and vote!

    • It's been gone for a while from the JDK 7, which simply got split between 7 and 8. And with good reason, it was just taking too much time, and Java is not the language people should screw up.

      I'm not waiting that hard for Lambda, in my opinion it's a language feature that really requires a lot from the platform, is very strong but not very good for maintenance. I can already see it being used for interfaces and I can already see my less apt collegues making a mess of it. Heck, even I think it is a helluva st

  • I currently have Version 6 Update 26 installed on all my home computers. Will that be the final release of the version 6 branch? I hate using x.0 releases until they work out any kinks or bugs, but I have also been bitten by having an old Java version installed (it is the only vector that has successfully installed malware on my computers).

    • For another year (Score:2, Informative)

      by Anonymous Coward

      http://www.oracle.com/technetwork/java/eol-135779.html [oracle.com]

      Java 6 will be updated through July 2012

      (After which it will still be updated, but on a paid-only basis.)

      Actually, probably longer if you have a proprietary Unix OS such as Mac OS X, AIX or HP-UX where the OS vendor ships patches. The OS vendors usually find it easier to just issue patches for the old version rather than adding support for a new one.

    • Re: (Score:3, Interesting)

      And we have applications that REQUIRE specific java versions. I wish i could uninstall all the previous versions.

      Right now i have:
      1.4.2.11
      1.6.010
      1.6.17
      1.6.26

      • by h4rr4r ( 612664 ) on Thursday July 28, 2011 @01:43PM (#36911770)

        Find the developers and beat the ever living shit out of them. How you can fail at Java that hard I will never understand.

        • Java is actually not particularly well designed from versioning point of view. For example, if a new release of Java adds a new method in some class, and you inherit from that class in your code and had a method with the same name and signature, your method now becomes an unintentional override.

        • by syousef ( 465911 )

          Find the developers and beat the ever living shit out of them. How you can fail at Java that hard I will never understand.

          That's some interesting pay and benefits you're offering for your support developer team. Where do I sign up?

          No seriously, I could do with a multi-million dollar law suit and an early retirement. I should be able to make a deal with a lawyer where we both get rich.

        • Or how about this: I'm a developer on an enterprise application suite that exercises critical bugs in Java 6 Update 18-24 (we haven't yet tested 25 and 26). Oracle introduced a regression in 6u18 that they fixed in 6u21, but in 6u20 or 6u21 they introduced yet another regression. Both regressions cause a complete crash of the JDK that, on busy production systems, causes a complete crash, usually 1+ times a day.

          Therefore, we can only recommend 6u17 as the stable version of the software, because 6u18+ isn't. I would strongly prefer that you not "beat the ever living shit out of me" for Oracle not being able to create a stable JVM for an enterprise product.

          We'd get an Oracle support agreement to get these problems resolved, but you wouldn't BELIEVE how much money they want for such support. And even if we did pay Oracle a BOATLOAD of money, there's no guarantee that they'd even fix our issues--just that they would listen. on busy production systems, causes a complete crash, usually 1+ times a day.

          Java7 doesn't appear to be much better for stability. I just got this email today:
          Hello Apache Lucene & Apache Solr users, Hello users of other Java-based Apache projects,

          Oracle released Java 7 today. Unfortunately it contains hotspot compiler optimizations, which miscompile some loops. This can affect code of several Apache projects. Sometimes JVMs only crash, but in several cases, results calculated can be incorrect, leading to bugs in applications (see Hotspot bugs 7070134 [1], 7044738 [2], 7068051 [3]).
    • by curunir ( 98273 ) * on Thursday July 28, 2011 @01:55PM (#36911984) Homepage Journal

      According to this page [oracle.com], you've got until July, 2012 before they stop supporting 1.6. When 1.6 was released, they continued to release fixes for 1.5, so I would assume they'll do the same for the 1.6 to 1.7 transition.

    • Not to take this thread off course a little, but malware is the #1 reason we're stripping Java off of our systems this year.

      From what I can tell, Java 1.7 is no different then 1.6 when it comes to updating. It still doesn't have an option to automatically install updates without prompting. And since nobody ever clicks on the taskbar icon to update Java and are usually 2-5 updates behind, Malware authors have a field day infecting systems with Java left and right.

      If they need Java they can install it.

      • Can't you push updates to the machines using centralized administration tools? (I assume you're not using Linux, or else you wouldn't need Sun's updater).

      • by smash ( 1351 )
        More to the point - I'm currently in 2 minds regarding DISABLING updates to our corporate desktops for Java. We have 2 content filtering firewalls to block exploits, and the amount of legacy shit we have that are only supported on specific versions of the JVM. Now it's in oracle's hands my confidence in backwards compatibility with old code is rapidly diminishing...
  • by landoltjp ( 676315 ) on Thursday July 28, 2011 @01:30PM (#36911558)

    Dear Oracle,

    Please turn off the default installation of the Yahoo Toolbar. I don't know why you have it checked on, but I am happy to decide for MYSELF what I Want to install on my machine.

    • by h4rr4r ( 612664 ) on Thursday July 28, 2011 @01:35PM (#36911628)

      Dear landoltjp,

      We will not as we make a lot of money from that bundling. We don't care what you want, try to remember that ORACLE is an acronym for One Rich Asshole Called Larry Ellison.

      • by voss ( 52565 ) on Thursday July 28, 2011 @02:10PM (#36912214)

        There would be someone out there that would make Bill Gates seem like a nice guy.

    • They would make far less money that way...

    • If someone has installed this on Ubuntu, could you post your experiences? Also, anything in the repos yet?

      apt-get command lines, please.

      • Re:Ubuntu (Score:5, Informative)

        by wandazulu ( 265281 ) on Thursday July 28, 2011 @01:57PM (#36912010)

        Funny enough, I just set up an Ubuntu box and decided to grab JDK 7 without knowing that today would be the day it was "released". As such, I downloaded it directly from Oracle/Sun/Java/Whatever. [java.net].

        Note, I then installed Eclipse Indigo, which was having some problems with some of the plugins. I added the following line to the eclipse.ini file and the problems went away:

        -Djava.util.Arrays.useLegacyMergeSort=true

        Everything's working fine now.

        • Note, I then installed Eclipse Indigo, which was having some problems with some of the plugins. I added the following line to the eclipse.ini file and the problems went away:

          -Djava.util.Arrays.useLegacyMergeSort=true

          Damn that's scary. If it breaks Eclipse what else does it break?

          • Re:Ubuntu (Score:4, Interesting)

            by yincrash ( 854885 ) on Thursday July 28, 2011 @03:07PM (#36912976)
            It breaks things that improperly implement the Comparable interface then try to sort objects that implement that interface.

            See the incompatibilities list [oracle.com]

            Before, these situations were silently ignored, now an IllegalArgumentException is thrown, unless you use the option to use the legacy sorting algo.
            • It breaks things that improperly implement the Comparable interface then try to sort objects that implement that interface.

              *sigh* ... I've seen more invalid implementations of Comparable than valid ones.

              However, the reason for the change is that there's a new implementation of the default merge sort that is much faster for partially sorted input and small collections so if we get over the adoption phase it will speed up a lot of legacy code.

        • Be warned that the Java 7 BETA plugins are just that, I've seen it create invalid byte code, something I haven't seen for a while. I'll be filing a bug report on monday (forgot to mail it to my home). It's good enough to test the Java features though, and it even packs some Java 7 refactoring (on e.g. the multi-catch statement).

      • You can add the custom PPA and see if it's out there yet:

        sudo add-apt-repository ppa:ferramroberto/java
        sudo apt-get update

        apt-cache search sun-java7-jre

        If it's there, then do this:

        sudo apt-get install sun-java7-jre sun-java7-plugin sun-java7-fonts

  • by glwtta ( 532858 ) on Thursday July 28, 2011 @01:55PM (#36911980) Homepage
    I'm curious how much of an impact the new 'invokedynamic' has - specifically on Ruby and Python - any good performance analysis out there?
    • by rsborg ( 111459 )

      I'm curious how much of an impact the new 'invokedynamic' has - specifically on Ruby and Python - any good performance analysis out there?

      Well, according to a comment on HN [ycombinator.com]:

      InvokeDynamic is a pretty awesome new feature in JDK7 and will likely be tranformative for dyanmic languages on the JVM. For my mustache.java templating solution it increased performance on an integration benchmark by 25%.

      http://groups.google.com/group/mustachejava/browse_thread/thread/24b6c59d2ea55f04 [google.com]

    • Initially the performance impact will be none since the languages need to actually use the construct and then optimize it before it becomes a factor. But if I understood correctly during the Java 7 launch I visited in Utrecht, NLD, it will be a lot easier and probably quite a bit faster for the dynamic languages out there. But don't take my word for it, the slides of the launch should be easy to find and they contain a whole section on the subject.

  • by yincrash ( 854885 ) on Thursday July 28, 2011 @02:04PM (#36912132)
    SE 7 Release Notes [oracle.com]
    • switch statements can now use strings (more efficient than if/else chain)
    • some new concurrency features (fork/join) to better handle multiprocessor setups
    • try with resources (so you don't always have to set a finally block to make sure your i/o object gets closed)
  • by Necroman ( 61604 ) on Thursday July 28, 2011 @02:24PM (#36912362)

    Oracle has a detailed list [oracle.com] of the additions in Java 7. OpenJDK has relatively the same information [java.net] listed in a different way.

    While it took forever to get JDK7 out the door, it's finally out and they can work toward JDK8, which is currently scheduled for release a year from now. The Oracle takeover is said and done and they are able to keep pushing new features into the language now. For all of us that use Java daily, this is a nice change.

    I recommend looking over the feature list if you are a java dev. There are some really nice changes to make your day-to-day code just a little easier.

    • Groovy is what makes writing Java code easier.
      Groovy... [codehaus.org]
      1. is an agile and dynamic language for the Java Virtual Machine
      2. builds upon the strengths of Java but has additional power features inspired by languages like Python, Ruby and Smalltalk
      3. makes modern programming features available to Java developers with almost-zero learning curve
      4. supports Domain-Specific Languages and other compact syntax so your code becomes easy to read and maintain
      5. makes writing shell and build scripts easy with its powerful processing p
  • Going through the release notes, there really are a ton of neat and cool features going into the language. I hope that Eclipse will be ready for me to start playing around with some of the ones that are more IDE centric are supported!

  • Didn't oracle say they were taking over releases of Java on the mac?

  • by Ossifer ( 703813 ) on Thursday July 28, 2011 @04:37PM (#36914108)

    ... are Johnny-come-latelies. My company got sued by Oracle in 1984.

  • by Weaselmancer ( 533834 ) on Thursday July 28, 2011 @06:37PM (#36915312)

    Lose the Yahoo toolbar installation on your installer. It's unprofessional and it makes you look desperate. It makes you look like you're selling screen savers or clipart. In the 90's. So stop it.

  • by smash ( 1351 )
    Is it re-write everywhere yet?
  • It's in a jar, and this seems to work at slightly under 200 signs/second:

    final ECGenParameterSpec spec = new ECGenParameterSpec("secp521r1");
    final KeyPairGenerator gen = KeyPairGenerator.getInstance("EC");
    gen.initialize(spec);

Help fight continental drift.

Working...