Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
Android is great mobile platform, it uses Java (for a good reason) a really popular programming language.
But the Java language is evolving, moving forward, the version 7 with small language improvements has some years and the next year it comes the version 8 with the awaited lambdas.
My question is: Will Android run Java 7 or 8 or take some of their constructs?
UPDATE: Just for non believers: In Android Kitkat 4.4 we can use Java 7 goodies: ARM, switch over strings, diamond,etc. Yeah!
I hope that it will not take so longer to get lambdas and Java 8 features
Android works today with Java 7, according to the tools team, though I have not tried it personally just yet. By this, I mean that you can compile an Android project with a Java 7 compiler, and the build tools will accept the Java 7 compiler output. AFAIK, there was only one new bytecode added (invokedynamic, or something like that), which is for interpreters, not the javac compiler.
Since Java 8 does not exist in final form, and since Google does not tend to give out future details like this (particularly given in-flight litigation), you will know when the rest of us know, sometime after Java 8 ships.
Related
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 4 years ago.
Improve this question
We are working in the project of migrating a application(built in java 5)
to java 8 for better performance,
But , we are not sure that
1. upgrade an environment or
2.Build that complete app in java 8 from scratch,
and how it will improve the performance !
And we know that, There will be some Deprecated API's from version to version.
so, while upgrading is it possible to get error or miss some functionality ?
How can We rectify that?
Please comment your suggestions !
Java has full backward compatability, So
If you just change java version then it will not have any errors as java8 is fully compatible with previous java versions.
If you want to improve performance using java8, Then you have to read java8 release notes to know where you can get faster alternative of current code and then you can only re-wright that functionality only
firstly you can always migrate to newer version of java as java is backward compatible. Also, you are right, few API's might have been deprecated but you always have the new options of those which can be solved.
My suggestion would be, if you don't have huge code or a bulky API, re-write the same in new version as u might utilize benefits of functional programming.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 5 years ago.
Improve this question
I've read and performed all the exercises in the Jigsaw quickstart
I also notice that all my existing Maven/Gradle/SBT Java Projects seem to work as normal under Java 9 without any changes or benefits. Nothing is defining or using Java Jigsaw Modules.
Is the normal Java/JVM world of Maven/Gradle/SBT going to adopt Jigsaw in a more noticeable way? Are all the libraries and frameworks of the JVM world going to use Jigsaw? Is there a reason or benefit over the Maven-dependency system that exists today? Is there any point or benefit for normal Java developers to use Jigsaw at all?
EDIT: I've read several StackOverflow questions with these search terms and none of them addressed my question. The linked StackOverflow question is from well over a year ago about an error with Maven 3.3 against early builds of JDK 9. That is completely irrelevant. I'm not getting errors. Also, Maven 3.5 and the final JDK 9 are out at the time of this posting.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
So if I wrote an application for windows 8-10 on java, would it work for old versions like windows 98. And will it work correctly?
Both of them got the newest versions of JRE for example.
Well, you can't install Java 8 on systems older than Vista, so some programs might not run (specifically ones that use Java 8 features and APIs). Otherwise, they would work the same way, unless you do some sort of hacks that may break things.
If you had done your project in oldest version of java supported in vista/xp/windows 7 systems your application works perfectly it only depends on java environment once if it is satisfied your application will run without any compactability issues.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I'd like to use some Java8 features in my program. But I should deliver the program within 10 days and seeing that JRE 8 isn't available by oracle worries me. I see that Java8 features have been estabilished and looks to be very stable. My project is in the production camp and not for experiment.
When I search java runtime environment 8 or 1.8 I find nothing published by oracle. Am I making a mistake or I will have to install JDK8 for the client(The worst option). Or I should rewrite all the Java8 codes and make the software compatible with Java7.?
Is there another vendor who has the Java8 ready and if there is, is it wise to use their JRE in spite of the oracle one? Will it remain compatible?
Java 8 is not yet officially released, not from Oracle or any other vendor. There exists pre-release versions, but for a fully supported solution you have to wait until next year. You shouldn't depend on java 8 features yet for production quality code.
Update
Java 8 was fully released on 18 March 2014. It can be downloaded here (jre) or here (jdk).
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
Java 6 is a stable version of this programming language. But I would like to upgrade to the current version java 7. At this time, is recommended to use java 7 in production? Where I can find updated information about the possible problems that I can get if I upgrade to java 7?
Why use or not use java 7 to make JAVA EE applications
This was added later. The main reason not to use Java 7 is that your web server might not support Java 7. e.g. some very expensive EE servers haven't got round to migrating to Java 7 in the 2.5 years since it was available for testing. IMHO this is pretty poor given the money they charge.
At this time, is recommended to use java 7 in production?
AFAIK, Java 7 is more recommended than Java 6, give it is not supported for free any more.
Java 7 is a requirement for the G1 collector, Java Mission Control and JavaFX 2.
Note: with Java 8 coming out soon with many new/powerful features, I expect many developers will be using it by the middle of 2014.
Where I can find updated information about the possible problems that I can get if I upgrade to java 7?
Most of the problems have been around client applet security.
https://blogs.oracle.com/henrik/entry/migrating_from_java_se_6
http://docs.oracle.com/javase/7/docs/webnotes/adoptionGuide/
http://www.slideshare.net/myfear/practical-migration-to-java-7
http://publib.boulder.ibm.com/infocenter/ieduasst/v1r1m0/index.jsp?topic=/com.ibm.iea.was_v7/was/7.0/Architecture/WASv7_JavaCompatibility/player.html (note this has audio)
You should use a supported Java version. Have a look at the Oracle Java SE Support Roadmap. Java 6 has reached "END OF PUBLIC UPDATES" - so it is not supported anymore.
At least you should run your Java 6 code on a Java 7 VM.
Aside from the convenient improvements to the language in 7 and the fact that 6 is no longer supported, there were some very serious security issues with 1.6 that caused Apple (amongst others) to drop default support for Java.
Those issues were fixed with 1.7 and for that reason alone, you should update.
Two blogs detailing the controversy below;
http://www.intego.com/mac-security-blog/apple-drops-java-in-latest-os-x-security-release/
http://www.darkreading.com/vulnerability/apple-removes-default-java-support-in-br/240009305
it is dependent, if you are going to make an application for android you may use Java 6, but if your creating a application for desktop it is recommended to use Java 7.
Java 7 have some improvement of course, specially on file io, which is .nio package.