I'm very
curious about what the future of java holds, and I've been able to find some
info on Java 7, but I want to know what all that info really means. Like what
will a modular JDK do for programs?
As far as what changes you'll see in your
day-to-day work, my guess is that the major impact will be stuff like JSR 203 which
overhauls the file system API. If JSR 310 is included,
then it would also have a major impact on how you interact with any aspect of
the date and time APIs. Many of the other JSRs will only impact you if you
happen to already do something in that particular area (JMX - JSR 255, concurrency -JSR 166, etc).
I think it's
unknown at this point how much JSR 294 and Jigsaw will impact us
day to day. It's possible that it will be a new and important way to define
modules that will impact the way we bundle libraries, define dependencies, and
deploy our apps. Or it may just be used in the JDK and ignored elsewhere. Only
time will tell.
There will be a handful of language changes that come out of Project
Coin but they are mostly going to be small useful but not revolutionary changes
that help remove some boilerplate.
I think the
biggest thing most people will notice may be performance. As usual, each JDK
brings a whole new set of performance optimizations. We've already seen some
very encouraging results in String
performance, array
performance, and a new concurrent garbage collector (G1). I suspect many people
will find that their existing code will work and run noticeably faster than it
did in the past
Differences between
Java5 and Java6
JAVA-5
|
JAVA-6
|
Also known as Tiger
|
Also known as Mustang
|
<! Generics—Provides compile-time type safety for collections and
eliminates the need for casting every time you get an object out of Collections.
<! Enhanced For loop—Eliminates error-proneness of iterators.
<!-Autoboxing/unboxing—Eliminates need of manual conversion between
primitive types (such as double) and wrapper types (such as Double).
<! Typesafe enums—Provides all benefits of the Typesafe enum pattern.
<! Static import—Eliminates the need for using class names
prior to using the static member variables of other classes. This will make
the code a bit neater.
<! Metadata—Allows programmers to avoid writing boiler plate code
and gives the opportunity for declarative programming.
JSR (14,175)
|
<! Annotation Processing API (JSR 269)
<! Common Annotations (JSR 250)
<! Java API for XML Based Web Services - 2.0
(JSR 224)
JAXB 2.0 (JSR 222)
<!-Web Services Metadata (JSR 181)
<!-Streaming API for XML (JSR 173)
<!-XML Digital Signature (JSR 105)
<!-Java Class File Specification Update (JSR
202)
<!-Java Compiler API (JSR 199)
<!-JDBC 4.0 (JSR 221)
<!-Scripting in the Java Platform (JSR 223)
<
|
Post a Comment
Post a Comment