This page lists the proposed features in Java 7 and information about them. At this point, no Java 7 JSR has been created (although Danny Coward apparently is working on it). So, consider this a list of possible features and libraries, not the actual future contents of Java 7. I formerly published a weekly roundup of discussion on what’s been added to this page. I now publish all new links on a separate Java 7 link blog (RSS) if you want to subscribe.
Note: I have absolutely no inside information on any of this and you should treat it all as unofficial. I’m merely scraping info off the web and collecting it here. If you have updates or corrections, please feel free to send it to me at
The official JDK 7 Development Home page has mailing lists, downloads, source, and more.
My most recent summary article on Java 7 can be found on JavaWorld. And this presentation covers a lot of the same territory: Java 7 Preview [pdf].
Features
Modularity</p>
Libraries
Swing
JMX Tools |
Types and Generics</p>
Language Proposals
Miscellaneous Language
JVM |
Java 7 Discussion
- Volker Simonis: When the Sun goes down – what happens to the OpenJDK? (4/21/2009)
- <a href-“http://blogs.sun.com/theplanetarium/entry/jdk_7_watch_milestone_3”>Danny Coward: JDK 7 watch: Milestone 3</a> (4/21/2009)
- Alex Miller: So Oracle is buying Sun… (4/20/2009)
- Stephen Colebourne: No Java SE 7 – The ASF perspective (4/16/2009)
- Dalibor Topic: OpenJDK Forum: Core Libraries Round Table (4/14/2009)
- Alex Miller: What Java 7 will mean to you (4/11/209)
- Xiomara Jayasena: JDK 7 Linux Platform Upgrade (4/10/2009)
- Xueming Shen: Faster new String(bytes, cs/csn) and String.getBytes(cs/csn) (4/8/2009)
- Dalibor Topic: OpenJDK Pod Fodder Roundup (4/8/2009)
- JavaPosse thread: Issue #239: Java 7 versus JDK 7 versus OpenJDK (4/5/2009)
- Sean Mullan: New API to indicate the reason a certificate chain was invalid (4/3/2009)
- Danny Coward: Planet Cast Two: James Gosling on Java and JavaFX (3/31/2009)
- Danny Coward: JDK and JRE Watch (3/31/2009)
- InfoQ: Sun’s Disagreement With Apache Overshadows Java 7 Announcement (3/31/2009)
- LingPipe: JDK 7 Twice as Fast as JDK 6 for Arrays and Arithmetic (3/30/2009)
- Danny Coward: JDK 7: What to expect and when (3/29/2009)
- Stephen Colebourne: Shedding new light on No Java SE 7 JSR (3/29/2009)
- Stephen Colebourne: A question of IP (3/27/2009)
- Stephen Colebourne: No more Java 7 (3/25/2009)
- Mark Reinhold: JDK 7 (3/25/2009)
- Xiomara Jayasena: JDK Build Process (3/20/2009)
- Jeremy Rayner: Java SE 7 (preview) (3/20/2009)
- Interview: Patrick Curran, chair of the JCP (3/18/2009)
- Parleys: Mark Reinhold and Alex Buckley Devoxx Interview (3/10/2009)
- Shimi Bandiel: What’s Expected in Java 7 (3/10/2009)
- Danny Coward: JDK 7: Language, the penny drops, Swings back (3/2/2009)
- OpenJDK: JDK 7 Development Process (2/27/2009)
- Danny Coward: JDK 7: Checking in (2/26/2009)
- James Shiell: Building Java 7 on Mac OS X (2/24/2009)
- Alex Miller: Java 7 Update (2/16/2009)
- Danny Coward: Swing and JDK 7 (2/4/2009)
- JavaWorld: Client-side Java’s evolutionary leap (2/1/2009)
- Neal Gafter: OpenJDK governing board, constitution (1/8/2009)
- David Herron: It will be (Open)JDK7 where OpenJDK==JDK (1/6/2009)
- InfoQ: Java 7 Roadmap Updated: Reactions (1/2/2009)
- Joseph D. Darcy: Criteria for desirable small language changes (12/30/2008)
- Dustin Marx: Proposed New Java Language Features in ActionScript (12/28/2008)
- Alex Buckley: Devoxx 2008 (12/26/2008)
- Stephen Colebourne: JDK 7 language changes – JavaEdge votes! (12/21/2008)
- David Linsin: Java 7 Language Changes Poll (12/20/2008)
- java.net poll: Which of these excluded-from-Java-7 features were you most interested in? (12/20/2008)
- Dustin Marx: Most-Missed Java SE 7 Features (12/20/2008)
- Alex Miller: Year in Review: What to expect in Java SE 7 (12/16/2008)
- Stephen Colebourne: JDK 7 language changes – Devoxx votes! (12/15/2008)
- Danny Coward: JavaFX on show, JDK 7 News ! (12/12/2008)
- Ricky Clarkson: Java Just Died (no closures in Java 7) (12/11/2008)
- Hamlet D’Arcy: Java 7 Update from Mark Reinhold at Devoxx (12/11/2008)
- The Java Blog: Devoxx – Day 4 (12/11/2008)
- Joseph D. Darcy: Guidance on measuring the size of a language change (12/11/2008)
- Ricky Clarkson: Java Just Died (no closures in Java 7) (12/11/2008)
- Hamlet D’Arcy: Java 7 Update from Mark Reinhold at Devoxx (12/11/2008)
- Stephen Colebourne: Java 7 – small language changes (12/9/2008)
- Alex Miller: Java 7 Language Changes? (12/8/2008)
- Joseph D. Darcy: Coming Soon: A JSR for small language changes in JDK 7 (12/8/2008)
- Kirill Grouchnikov: Java on the Desktop, the past, the present and the future – interview with Richard Bair (12/5/2008)
- robilad: Building OpenJDK on Ubuntu Intrepid (11/27/2008)
- Poll: Did you expect Java 7 to be released in 2008? (11/15/2008)
- Editor’s Daily Blog: Plain Truth (11/14/2008)
- Timothy O’Brien: Sun’s Layoffs, Anil Gadre, and What happens to Java now? (11/14/2008)
- Alex Miller: Sun proposes a fix for classloader deadlock bug (11/13/2008)
- Kirill Grouchnikov: Trust is hard to build and easy to destroy (11/13/2008)
- Kirill Grouchnikov: Sun setting down on the core Swing (11/5/2008)
- Maurizio Cimadamore: Diagnosing Raw Types (11/3/2008)
- James Sugrue: Do You Really Need Java7? (10/17/2008)
- Stack Overflow: What features would you like to see in Java? (10/4/2008)
- Andrew Binstock: Java 7: Sun’s good grooming (9/1/2008)
- Weiqi Gao: OpenJDK In Ten Years (8/27/2008)
- Landon Fuller: SoyLatte, Meet OpenJDK: OpenJDK 7 for Mac OS X (8/20/2008)
- Cleve Gibbon: Java 7 Platform: What’s In, What’s Out! (8/8/2008)
- Alex Miller: Java 7 Prediction Update (8/2/2008)
- Sun Forums: Java 7 (Dolphin) Discussion
- Java SE 7 Knol
- Julian Exenberger: Java 7 “quick wins” some ideas (7/10/2008)
- Julian Exenberger: Is Java the new C? (7/2/2008)
- Java Posse #190 – Interview with Bill Pugh and Brian Goetz (6/9/2008)
- Mark Reinhold: The OpenJDK Charter: First Amendment (5/30/2008)
- Alex Miller: Various interesting Java 7 tidbits (5/28/2008)
- Ryan Slobojan: A Rudderless Ship? (5/27/2008)
- Eamonn McManus: JavaOne report: Java futures (5/24/2008)
- Java Posse #187 – Java SE 7 Interview with Danny Coward (5/18/2008)
- Alex Miller: Java SE 7 focus areas (5/7/2008)
- Java 7 talks at JavaOne 2008 (4/29/2008)
- Java Posse #177: James Gosling interview (4/7/2008)
- Jeremy Martin: My Java 7 Wishlist (3/11/2008)
- Tim: Java Backwards Compatability (2/21/2008)
- Ted Neward on the who’s herding the Java cats (2/19/2008)
- Open JDK Developer’s Guide just released… (2/14/2008)
- InfoQ video with Chet Haase on Java FX, Update N and JDK7 (2/14/2008)
- Kirill Grouchnikov on evolving Java (2/7/2008)
- Alex Miller with Java 7 predictions (1/22/2008)
- Osvaldo Pinali Doederlein pleads for Java 7 language features to be backwards runtime compatible (1/14/2008)
- Neal Gafter’s take on whether Java is dying (1/11/2008)
- InfoQ summary of the “Java evolution” debate (1/9/2008)
- Stephen Colebourne suggests a library addition to convert checked exceptions to unchecked(1/7/2008)
- Dan throws out ideas on Java NG (1/4/2008)
- Stephen Colebourne sums up the JavaPolis whiteboard results (12/15/2007)
- JavaPolis whiteboard feedback – language changes and closures (12/14/2007)
- InfoQ on the future of the JCP and Java (12/11/2007)
- JDK 7 build 24 is out on Mercurial! (12/5/2007)
-
Stephen Colebourne questions whether the JCP is broken (12/1/2007) *Alex Blewitt opines on the future of the JCP and Java modularity (11/30/2007)</li>
- Elliotte Rusty Harold tells you how to build Java 7 (11/29/2007)
- Obie Fernandez’s notes from the Future of Java panel at QCon (11/12/2007)
- BeJUG and SouJava propose closures JSR (11/11/2007)
- Stephen Colebourne announces the kijaro project for investigating language changes (11/11/2007)
- MacWorld has a nice overview of Chet Haase’s QCon talk about Java 7 (11/9/2007)
- Ivan Tarasov gets you started using Mercurial to build Java 7 (11/2/2007)
- Kelly O’Hair update #6 on Mercurial (11/1/2007)
- Java SE 7 b23 available (10/30/2007)
- Kelly O’Hair update #5 on Mercurial (10/21/2007)
- Java SE 7 b22 available (10/12/2007)
- David Herron on clearing encumbrances (10/4/2007)
- Mark Reinhold writes about the first OpenJDK Governance Board meetings: July 12 and July 17 and the mailing list (10/4/2007)
- Kelly O’Hair with update #4 on the transition to Mercurial (10/2/2007)
- Java SE 7 b21 available (9/13/2007)
- Kelly O’Hair with update #3 on the transition to Mercurial (9/25/2007)
- Java SE 7 b20 available (9/13/2007)
- Kelly O’Hair with another update on the move to Mercurial (9/12/2007)
- MatthewBot comments on named args, closures, and properties (9/9/2007)
- Open JDK 6 to be based on Open JDK 7! (9/3/2007)
- Java SE 7 b19 available (8/31/2007)
- [This page lists the proposed features in Java 7 and information about them. At this point, no Java 7 JSR has been created (although Danny Coward apparently is working on it). So, consider this a list of possible features and libraries, not the actual future contents of Java 7. I formerly published a weekly roundup of discussion on what’s been added to this page. I now publish all new links on a separate Java 7 link blog (RSS) if you want to subscribe.
Note: I have absolutely no inside information on any of this and you should treat it all as unofficial. I’m merely scraping info off the web and collecting it here. If you have updates or corrections, please feel free to send it to me at
The official JDK 7 Development Home page has mailing lists, downloads, source, and more.
My most recent summary article on Java 7 can be found on JavaWorld. And this presentation covers a lot of the same territory: Java 7 Preview [pdf].
Features
Modularity</p>
Libraries
Swing
JMX Tools |
Types and Generics</p>
Language Proposals
Miscellaneous Language
JVM |
Java 7 Discussion
- Volker Simonis: When the Sun goes down – what happens to the OpenJDK? (4/21/2009)
- <a href-“http://blogs.sun.com/theplanetarium/entry/jdk_7_watch_milestone_3”>Danny Coward: JDK 7 watch: Milestone 3</a> (4/21/2009)
- Alex Miller: So Oracle is buying Sun… (4/20/2009)
- Stephen Colebourne: No Java SE 7 – The ASF perspective (4/16/2009)
- Dalibor Topic: OpenJDK Forum: Core Libraries Round Table (4/14/2009)
- Alex Miller: What Java 7 will mean to you (4/11/209)
- Xiomara Jayasena: JDK 7 Linux Platform Upgrade (4/10/2009)
- Xueming Shen: Faster new String(bytes, cs/csn) and String.getBytes(cs/csn) (4/8/2009)
- Dalibor Topic: OpenJDK Pod Fodder Roundup (4/8/2009)
- JavaPosse thread: Issue #239: Java 7 versus JDK 7 versus OpenJDK (4/5/2009)
- Sean Mullan: New API to indicate the reason a certificate chain was invalid (4/3/2009)
- Danny Coward: Planet Cast Two: James Gosling on Java and JavaFX (3/31/2009)
- Danny Coward: JDK and JRE Watch (3/31/2009)
- InfoQ: Sun’s Disagreement With Apache Overshadows Java 7 Announcement (3/31/2009)
- LingPipe: JDK 7 Twice as Fast as JDK 6 for Arrays and Arithmetic (3/30/2009)
- Danny Coward: JDK 7: What to expect and when (3/29/2009)
- Stephen Colebourne: Shedding new light on No Java SE 7 JSR (3/29/2009)
- Stephen Colebourne: A question of IP (3/27/2009)
- Stephen Colebourne: No more Java 7 (3/25/2009)
- Mark Reinhold: JDK 7 (3/25/2009)
- Xiomara Jayasena: JDK Build Process (3/20/2009)
- Jeremy Rayner: Java SE 7 (preview) (3/20/2009)
- Interview: Patrick Curran, chair of the JCP (3/18/2009)
- Parleys: Mark Reinhold and Alex Buckley Devoxx Interview (3/10/2009)
- Shimi Bandiel: What’s Expected in Java 7 (3/10/2009)
- Danny Coward: JDK 7: Language, the penny drops, Swings back (3/2/2009)
- OpenJDK: JDK 7 Development Process (2/27/2009)
- Danny Coward: JDK 7: Checking in (2/26/2009)
- James Shiell: Building Java 7 on Mac OS X (2/24/2009)
- Alex Miller: Java 7 Update (2/16/2009)
- Danny Coward: Swing and JDK 7 (2/4/2009)
- JavaWorld: Client-side Java’s evolutionary leap (2/1/2009)
- Neal Gafter: OpenJDK governing board, constitution (1/8/2009)
- David Herron: It will be (Open)JDK7 where OpenJDK==JDK (1/6/2009)
- InfoQ: Java 7 Roadmap Updated: Reactions (1/2/2009)
- Joseph D. Darcy: Criteria for desirable small language changes (12/30/2008)
- Dustin Marx: Proposed New Java Language Features in ActionScript (12/28/2008)
- Alex Buckley: Devoxx 2008 (12/26/2008)
- Stephen Colebourne: JDK 7 language changes – JavaEdge votes! (12/21/2008)
- David Linsin: Java 7 Language Changes Poll (12/20/2008)
- java.net poll: Which of these excluded-from-Java-7 features were you most interested in? (12/20/2008)
- Dustin Marx: Most-Missed Java SE 7 Features (12/20/2008)
- Alex Miller: Year in Review: What to expect in Java SE 7 (12/16/2008)
- Stephen Colebourne: JDK 7 language changes – Devoxx votes! (12/15/2008)
- Danny Coward: JavaFX on show, JDK 7 News ! (12/12/2008)
- Ricky Clarkson: Java Just Died (no closures in Java 7) (12/11/2008)
- Hamlet D’Arcy: Java 7 Update from Mark Reinhold at Devoxx (12/11/2008)
- The Java Blog: Devoxx – Day 4 (12/11/2008)
- Joseph D. Darcy: Guidance on measuring the size of a language change (12/11/2008)
- Ricky Clarkson: Java Just Died (no closures in Java 7) (12/11/2008)
- Hamlet D’Arcy: Java 7 Update from Mark Reinhold at Devoxx (12/11/2008)
- Stephen Colebourne: Java 7 – small language changes (12/9/2008)
- Alex Miller: Java 7 Language Changes? (12/8/2008)
- Joseph D. Darcy: Coming Soon: A JSR for small language changes in JDK 7 (12/8/2008)
- Kirill Grouchnikov: Java on the Desktop, the past, the present and the future – interview with Richard Bair (12/5/2008)
- robilad: Building OpenJDK on Ubuntu Intrepid (11/27/2008)
- Poll: Did you expect Java 7 to be released in 2008? (11/15/2008)
- Editor’s Daily Blog: Plain Truth (11/14/2008)
- Timothy O’Brien: Sun’s Layoffs, Anil Gadre, and What happens to Java now? (11/14/2008)
- Alex Miller: Sun proposes a fix for classloader deadlock bug (11/13/2008)
- Kirill Grouchnikov: Trust is hard to build and easy to destroy (11/13/2008)
- Kirill Grouchnikov: Sun setting down on the core Swing (11/5/2008)
- Maurizio Cimadamore: Diagnosing Raw Types (11/3/2008)
- James Sugrue: Do You Really Need Java7? (10/17/2008)
- Stack Overflow: What features would you like to see in Java? (10/4/2008)
- Andrew Binstock: Java 7: Sun’s good grooming (9/1/2008)
- Weiqi Gao: OpenJDK In Ten Years (8/27/2008)
- Landon Fuller: SoyLatte, Meet OpenJDK: OpenJDK 7 for Mac OS X (8/20/2008)
- Cleve Gibbon: Java 7 Platform: What’s In, What’s Out! (8/8/2008)
- Alex Miller: Java 7 Prediction Update (8/2/2008)
- Sun Forums: Java 7 (Dolphin) Discussion
- Java SE 7 Knol
- Julian Exenberger: Java 7 “quick wins” some ideas (7/10/2008)
- Julian Exenberger: Is Java the new C? (7/2/2008)
- Java Posse #190 – Interview with Bill Pugh and Brian Goetz (6/9/2008)
- Mark Reinhold: The OpenJDK Charter: First Amendment (5/30/2008)
- Alex Miller: Various interesting Java 7 tidbits (5/28/2008)
- Ryan Slobojan: A Rudderless Ship? (5/27/2008)
- Eamonn McManus: JavaOne report: Java futures (5/24/2008)
- Java Posse #187 – Java SE 7 Interview with Danny Coward (5/18/2008)
- Alex Miller: Java SE 7 focus areas (5/7/2008)
- Java 7 talks at JavaOne 2008 (4/29/2008)
- Java Posse #177: James Gosling interview (4/7/2008)
- Jeremy Martin: My Java 7 Wishlist (3/11/2008)
- Tim: Java Backwards Compatability (2/21/2008)
- Ted Neward on the who’s herding the Java cats (2/19/2008)
- Open JDK Developer’s Guide just released… (2/14/2008)
- InfoQ video with Chet Haase on Java FX, Update N and JDK7 (2/14/2008)
- Kirill Grouchnikov on evolving Java (2/7/2008)
- Alex Miller with Java 7 predictions (1/22/2008)
- Osvaldo Pinali Doederlein pleads for Java 7 language features to be backwards runtime compatible (1/14/2008)
- Neal Gafter’s take on whether Java is dying (1/11/2008)
- InfoQ summary of the “Java evolution” debate (1/9/2008)
- Stephen Colebourne suggests a library addition to convert checked exceptions to unchecked(1/7/2008)
- Dan throws out ideas on Java NG (1/4/2008)
- Stephen Colebourne sums up the JavaPolis whiteboard results (12/15/2007)
- JavaPolis whiteboard feedback – language changes and closures (12/14/2007)
- InfoQ on the future of the JCP and Java (12/11/2007)
- JDK 7 build 24 is out on Mercurial! (12/5/2007)
- Stephen Colebourne questions whether the JCP is broken (12/1/2007)
*](http://weblogs.java.net/blog/chet/archive/2007/08/code_complete_n.html) (8/23/2007)
- Kelly O’Hair on the transition to Mercurial (8/21/2007)
- Java SE 7 b18 available (8/16/2007)
- Jazoon ’07: Danny Coward on Java 7 – MP3
- Java SE 7 b17 available (7/20/2007)
- Drunk & Retired podcast #104 discusses a Java 7 wishlist (8/12/2007) and I reply with some comments (8/15/2007)
- java.net editor discusses the debate over language changes in Java 7 (8/14/2007)
- java.net overview of Java 7 roadmap, features, etc (8/9/2007)
- Java SE 7 b16 available (7/20/2007)
- Fred Simon on the need for a Request Against Enhancement (7/13/2007)
- Frederic Simon’s Java 7 presentation at Java Tech Day (6/20/2007)
- java.net overview of early Java 7 work (7/6/2007)
- Java SE 7 b15 available (7/6/2007)
- Java SE 7 b14 available (6/21/2007)
- M Easter on JSR 3000 (6/15/2007)
- Weiqi Gao picks up on Neal Gafter’s comment of no new language features in Java 7 (6/14/2007)
- Elliotte Rusty Harold recaps the highlights from JavaOne 2007 (6/5/2007)
- Joe Darcy on how to add a feature to Java (5/29/2007)
- Elliotte Rusty Harold weighs in on the checked exception debate (5/30/2007)
- Ricky Clarkson comments on removing checked exceptions (5/28/2007)
- Neal Gafter on removing language features (5/26/2007)
- An older paper from Guy Steele on language design and his thoughts on how to grow Java
- JavaOne 2007 slides: TS-2383
- Danny Coward links to his talk on Java at JavaOne (5/10/2007)
- Chris Maki summarizes Danny Coward’s JavaOne presentation on Java 6 and Java 7 (5/9/2007)
- Elliotte Rusty Harold’s Java 7 presentation (4/30/2007)
- Patrick Wright on developing JSRs in an open manner (4/17/2007)
- Elliotte Rusty Harold on the Java development process (4/13/2007)
- Java 7 sessions at Java One 2007
- Java Posse Roundup session on forking Java, Java kernel, and Java modularization (3/25/2007)
- Mats Henricson calls for a fork of Java 7 (3/20/2006)
- Neil Bartlett posts on a James Gosling Q&A, including some regarding the future of Java (3/15/2007)
-
Roman Pichlík posts some Java 7 examples in Czech (I think) (3/4/2007)</li>
- Neil Bartlett comments on the EclipseCon presentation (3/7/2007)
- EclipseCon presentation on Java 7 by Peter von der Ahe and Alex Buckley (3/6/2007)
- Bill Venners talks about Java looking forward, including discussion of metaprogramming, property keyword, closures, reified generics, functional languages, and more at (Javapolis 2006)
- Elliotte Rusty Harold’s 2007 preview (2/6/2007)
- Sun Developer Network language proposals in bug reports (2/6/2007)
- Java 7 Feature poll
- Artima Forum on Java 7 features (1/18/2007)
- Danny Coward’s Java 7 Prague presentation (12/7/2006)
- Peter Ahé’s wish list (12/15/2006)
- David Herron on Java SE 7 planning (9/25/2006)
- Danny Coward’s SE 7 list (9/22/2006)</ul>
Details
**Project Jigsaw**
Description: This project is intended to modularize the JDK itself by breaking it into .
Blogs:
- Bryan Atsatt: Jigsaw vs. OSGi? (4/21/2009)
- Project Jigsaw javadoc (work in progress) (3/29/2009)
- Neil Bartlett: Using Sun’s Jigsaw May Get You Fired (3/26/2009)
- Danny Coward: JDK 7: Project Jigsaw opens! (2/6/2009)
- InfoQ: Java 7 Module System Concerns (1/31/2009)
- Alex Buckley: Placing JSR 277 on hold (1/10/2009)
- David Linsin: Java 7, Jigsaw and the Missing JSR (1/5/2009)
- Jason Whaley: Modular JVM good for server side Java? (1/3/2009)
- Peter Kriens: Project Jigsaw #2 (12/21/2008)
- James Sugrue: Project Jigsaw – Putting Together the Pieces for Java 7 (12/17/2008)
- Jeet Kaul: OSGi vs JSR 277 (12/12/2008)
- Peter Kriens: Project Jigsaw (12/12/2008)
- Kirk Knoernschild: ‘Tis the Season for Java Modularity (12/9/2008)
- Neil Bartlett: Hope, Fear, and Project Jigsaw (12/7/2008)
- Hal: Spice is Not a Recreational Drug (12/5/2008)
- Mirko: Componentization wars part II – Guerrilla tactics (12/4/2008)
- Danny Coward: Java SE: Project Jigsaw: Modularizing JDK 7 (12/4/2008)
- InfoQ: Jigsaw – the death knell of JSR277? (12/3/2008)
- Mark Reinhold: Project Jigsaw (12/3/2008)
- Mark Reinhold: The Modular Java Platform (12/2/2008)
- Mark Reinhold: Packaging Java code (12/1/2008)
- Danny Coward: Java SE: Modularity beyond Java Kernel (11/28/2008)
- Mark Reinhold: The massive, monolithic JDK (11/25/2008)
- Mark Reinhold: Wouldn’t it be cool? (10/7/2008)
**JSR 294 Improved Modularity Support (superpackages)**
JSR Early Draft Review Mailing list Description: This JSR is related to JSR 277. 277 deals with deployment and packaging. 294 focuses more on API modularity at development time.
Example:
superpackage example.bar.lib {
// member packages
member package example.bar.lib;
// member superpackages
member superpackage example.bar.lib.net, example.bar.lib.xml;
// list of exported types
export example.bar.lib.Table;
export superpackage example.bar.lib.net;
}
Blogs:
- BJ Hargrave: I am Visible but am I Accessible? (3/29/2009)
- Peter Kriens: JSR 294 Nested Proposal [pdf] (2/13/2009)
- [jsr294-modularity-eg] Language and VM spec changes for modules (2/3/2009)
- Alex Buckley: Requirements for modules in the Java language (1/27/2009)
-
Eric Newcomer: Making the OSGi Sausage (Nitrate Free)
- David Linsin: Java 7 Language Changes Poll Results (1/26/2009)
- Alex Buckley: Peter Kriens on language-level modularity (4/22/2008)
- Peter Kriens: JSR 294 Superpackages No More (4/8/2008)
- David Linsin: JSR 294 Superpackages Follow up (4/3/2008)
- Alex Buckley: Changes to the superpackage model (3/26/2008)
- David Linsin: JSR 294 (3/10/2008)
- Glyn Normington gives his thoughts on the shortcomings of JSR 294 (1/1/2008)
- Peter Kriens reviews the superpackage early draft (11/27/2007)
- Eugene Kuleshov looks at the class attributes introduced with JSR 294 and early ASM support (11/23/2007)
- Andreas Sterbenz announces the JSR 294 Early Draft Review is available (11/20/2007)
- JSR 294 Early Draft Review docs submitted (11/6/2007)
- Alex and Andreas posted updated docs in preparation for Early Draft Review (10/12/2007)
- Andreas Sterbenz on nested superpackages restated (5/30/2007)
- JavaOne 2007 slides: TS-2401
- Andreas Sterbenz on superpackages restated (5/8/2007)
- Alex Miller comments on JSR 294 proposal (4/9/2007)
- Andreas Sterbenz on a strawman proposal for JSR 294 (4/6/2007)
- Rob Yates on JVMs and CLIs (3/30/2007)
- Glyn Normington on historical background for Java modularity (3/19/2007)
- Alexander Krapf presentation on why versioning is broken (JavaPolis 2006)
- Andreas Sterbenz and some more information (11/8/2006)
- Andreas Sterbenz takes over JSR 294 as spec lead (11/8/2006)
- Mats Henricson says no to superpackages (5/2/2006)
- Gilad Bracha and some early info (4/4/2006)</ul>
**JSR 277 Java Module System**
JSR Proposal Project Mailing list Description: The specification defines a distribution format and a repository for collections of Java code and related resources. It also defines the discovery, loading, and integrity mechanisms at runtime. Defines a new deployment archive called a JAM (Java Module). The Java Module is a JAR file that contains other JARs, resources, and metadata. JAMs can specify which portions of the module are public and which are hidden. JAMs can specify dependencies on other modules.
Blogs:
- JavaBeat: Java Module System in Java 7.0 – Module Exports,Module Imports (2/15/2008)
- Alex Blewitt: The rise and fall of OSGi and JSR277 (respectively) (11/20/2008)
- Jeff Hanson: The case for Java modularity (8/26/2008)
- InfoQ: JSR 277 Debate Renews Around Versioning (7/31/2008)
- Neil Bartlett: Module Dependencies and the Gruesome Version 99 (7/29/2008)
- Alex Buckley: A wrinkle with ‘module’ (7/28/2008)
- Mandy Chung: Support for the module keyword (7/25/2008)
- Mandy Chung: OSGi Repository for Java Module System (7/24/2008)
- SD Times: Storm brews over proposed Java spec (7/15/2008)
- Alex Buckley: Bootstrapping modules into Java (6/26/2008)
- James Ervin: Versioning: My Happy Place (6/18/2008)
- Ian Skerrett: The Politics of OSGi and JSR 277 (6/5/2008)
- Alex Buckley: Consistent module membership declarations (6/4/2008)
- Hal Hildebrand: My Dinner With Andre (6/4/2008)
- Hal Hildebrand: Stanley Ho is Insane (5/30/2008)
- Alex Blewitt: Components, products and fragile dependencies; JSR277 revisited (6/1/2008)
- Peter Kriens: Is 9903520300447984150353281023 Too Small? (5/30/2008)
- Stanley Ho: Versioning in the Java Module System (Part 2) (5/29/2008)
- Stanley Ho: Versioning in the Java Module System (Part 1) (5/29/2008)
- Alex Blewitt: Version numbers and JSR277 (5/20/2008)
- Bryan Atsatt: JSR 277 Interoperation (4/24/2008)
- Alex Buckley: Peter Kriens on language-level modularity (4/22/2008)
- Mandy Chung: JSR 277 and OSGi interoperability (4/18/2008)
- Bryan Atsatt: JSR 277 Could Be Great for OSGi (4/15/2008)
- Stanley Ho: Updates on Interoperability (4/2/2008)
- InfoQ: Sun’s Silence on JSR 277 Leaves Many Questions from OSGi Supporters and Few Answers (4/2/2008)
- Sébastien Arbogast: My thoughts about OSGi on JavaWorld (4/1/2008)
- Neil Bartlett: No Way to Run a JSR (3/31/2008)
- Alex Buckley: Module membership declarations (3/27/2008)
- Damien Bonvillain: The sad state of application packaging (3/22/2008)
- Glyn Normington updates on the OSGi/277 sunbug (2/14/2008)
- Alex Miller urges you to vote for JSR 277 / OSGi integration (1/31/2008)
- Glyn Normington reports a bug has been created to support JSR 277 / OSGi integration (1/31/2008)
- InfoQ interview with Peter Kriens (9/25/2007)
- Rok Strnisa presented the iJAM system (paper, project) which discusses some issues with 277 and some solutions</a> (9/18/2007)
- Weiqi Gao on JSR 277 (9/14/2007)
- Glyn Normington says there is hope! (9/14/2007)
- Alex Miller on JSR 277 and complexity (9/14/2007)
- InfoQ on the lack of a strawman for OSGi compatibility (9/13/2007)
- Glyn Normington on the JSR 277 expert group (9/7/2007)
- JavaPosse discussion thread on JSR 277 vs OSGi (8/20/2007)
- InfoQ on OSGi vs JSR 277 (8/8/2007)
- InfoQ interviews Eric Newcomer about the future of OSGi (7/13/2007)
- Glyn Normington with a Java modularity roundup (7/16/2007)
- Java Posse #133 has some discussion of JSR 277/294 and OSGi (7/12/2007)
- Peter Kriens suggests that JSR 291/OSGi would be a better solution in JSR 316 (JEE 6) than profiles (7/4/2007)
- Andreas Sterbenz on the samples and more info on OpenJDK Modules (6/28/2007)
- Stanley Ho on the first release of OpenJDK Modules (6/28/2007)
- Coté’s take on OSGi vs JSR 277 ((6/27/2007)
- Glyn Normington on dependency resolution in JSR 277 and JSR 291 (6/22/2007)
- Glyn Normington on module-superpackages in JSR 277 and JSR 291 (6/22/2007)
- Glyn Normington compares JSR 277 and JSR 291 (6/18/2007)
- Per Olesen on JSR 277 and Dependency Hell (6/11/2007)
- Andreas Sterbenz on the forming OpenJDK project for Java Modules (5/29/2007)
- Peter Krien on the future of Java modularity (5/24/2007)
- Stanley Ho and Mihal Cerniak give Google Tech Talk on JSR 277 (5/23/2007)
- JavaOne 2007 slides: TS-2318
- Peter Krien on passing of JSR 291 (OSGi) (5/22/2007)
- Ed Burnette on passing of JSR 291 (OSGi) (5/22/2007)
- Glyn Normington on module system interoperation (5/21/2007)
- Felipe Gaucho on superjars and three kinds of hell (5/16/2007)
- Stanley Ho announces an open project and mailing list for Java modules(5/9/2007)
- InfoQ article on BPS choosing OSGi for modularity (5/1/2007)
- Neil Bartlett posts a plea for passing the JSR 291 OSGi spec (3/19/2007)
- BEA talk on using OSGi at EclipseCon
- Glyn Normington on why OSGi is not enough (3/13/2007)
- Glyn Normington on possible classloader changes for JSR 277 (3/13/2007)
- Neil Bartlett responds to Glyn’s overview (3/12/2007)
- Glyn Normington has a great overview (from the inside) of the various Java modularity efforts underway (3/12/2007)
- Tom Marble posts a collection of Java Module links (3/2/2007)
- Mark Reinhold on Linux and java modules (3/1/2007)
- Updated talk from Stanley Ho (1/31/2007)
- JSR 291 passes (related to JSR 277) (1/23/2007)
- Stanley Ho (11/3/2006)
- OSGi review (10/19/2006)
- Alexis Moussine-Pouchkine (9/8/2005)
- Ted Neward (8/25/2005)
- The Server Side (6/15/2005)
**Java Kernel**
Description: Implement Java as a small kernel, then load the rest of the platform and libraries as needed, with the goal of reducing startup time, memory footprint, installation, etc. In the past this has also been referred to as “Java Browser Edition”.
Note: It was announced at JavaOne 2007 that the Java Kernel work will be released as the “Consumer JRE” in a Java 6 update, likely in early 2008. So, this work is going to be released prior to Java 7 and will no longer be tracked on this page. 5/21/2007
Blogs:
- Ethan Nicholas with more details on the Consumer JRE / Kernel (5/24/2007)
- Riyad Kalla on the Consumer JRE features (including Java Kernel) (5/19/2007)
- Chet Haase with more on the Consumer JRE (5/18/2007)
- Ethan Nicholas on the Consumer JRE announcement (5/17/2007)
- InfoQ on Excelsior JET JVM doing something similar with Java 5 (2/21/07)
- java.net thread with some updates from Ethan Nicholas on Java Kernel progress
- Glyn Normington (9/21/2006)
- Doug Caverly (9/7/2006)
- Ethan Nicholas (9/6/2006)
- Alexis Moussine-Pouchkine (8/22/2006)
- John Reynolds (8/22/2006)
- Ethan Nicholas (4/4/2006)
**JSR 203 NIO2**
JSR Project Mailing list Description: APIs for filesystem access, scalable asynchronous I/O operations, socket-channel binding and configuration, and multicast datagrams.
The proposed specification will continue the work of defining a set of new and improved I/O APIs that was started in of JSR-51: New I/O APIs for the Java Platform. Its major components will be:
- A new filesystem interface that supports bulk access to file attributes, change notification, escape to filesystem-specific APIs, and a service-provider interface for pluggable filesystem implementations;
- An API for asynchronous (as opposed to polled, non-blocking) I/O operations on both sockets and files; and
- The completion of the socket-channel functionality defined in JSR-51, including the addition of support for binding, option configuration, and multicast datagrams.
Blogs:
- Alan Bateman : JSR-203/NIO2 update (4/10/2009)
- Sharon Zakhour: Traversing a file tree in NIO.2 (3/25/2009)
- Alex Libman: AsynchronousFilter / AsynchronousSSLChannel proposal (1/8/2009)
- Danny Coward: JDK 7 and the New I/O APIs (12/4/2008)
- Jean-Francois Arcand: Tricks and Tips with AIO part 1: The frightening thread pool (11/26/2008)
- Notes on Asynchronous I/O (11/14/2008)
- Alex Miller: Virtual filesystem (11/10/2008)
- Jean-Francois Arcand: Tricks and Tips with NIO.2/AIO part 0: A new beginning (10/29/2008)
- Kas Thomas: Java 7 gets “New” New I/O package (10/27/2008)
- Alex Miller: Some more JSR 203 features (10/25/2008)
- Alex Miller: Some JSR 203 Examples (10/22/2008)
- Deniz: Working with NIO2 – Part I (9/25/2008)
- David Linsin: JSR 203 More New I/O (7/13/2008)
- Elliotte Rusty Harold: The Open Road: java.nio.file (7/4/2008)
- InfoQ: Google Tech Talks Presents Overview of NIO.2 for Java 7 (6/8/2008)
- Rajendra: JSR-203 New Java File System Interface (3/12/2008)
- Interview with Alan Bateman on NIO 2 (5/21/2007)
- Alan Bateman on multicast NIO (4/28/2007)
- Alan Bateman on file system permissions in NIO2 (4/27/2007)
- Java Posse episode #116 has coverage of Java NIO 2, including some comments from Carl Quinn of the posse, a member of the Expert Group (4/18/2007)
- Alan Bateman announced the release of the Java NIO 2 Early Draft Spec (4/12/2007)
- Java Posse discusses the new filesystem API (2/13/2007)
**JSR 310 Date and Time API**
JSR Project Spec Wiki Javadoc Description: This JSR will provide a new and improved date and time API for Java. The main goal is to build upon the lessons learned from the first two APIs (Date and Calendar) in Java SE, providing a more advanced and comprehensive model for date and time manipulation.
The new API will be targeted at all applications needing a data model for dates and times. This model will go beyond classes to replace Date and Calendar, to include representations of date without time, time without date, durations and intervals. This will raise the quality of application code. For example, instead of using an int to store a duration, and javadoc to describe it as being a number of days, the date and time model will provide a class defining it unambiguously.
The API will be based on Joda-Time but will be updated based on JDK 5 features and other community input.
Blogs:
- jsr-310: Status update – 2009-02-19 (2/23/2009)
- Darryl West: JSR-310 javax.time and Groovy Tests (2/21/2009)
- Stephen Colebourne: JSR 310 Javadoc Update (2/2/2009)
- Alex Miller: JSR 310 needs help! (12/16/2008)
- Stephen Colebourne: JSR-310 and JDK 7 (12/16/2008)
-
- Alex Miller: Controlling time (9/24/2008)
- java.net: JSR 310: A New Java Date/Time API (9/18/2008)
- Stephen Colebourne: jsr-310 Update 2008-08-04 (8/4/2008)
- Stephen Colebourne: JSR 310 Date&Time Update (7/21/2008)
- Stephen Colebourne: API Update (4/21/2008)
- Stephen Colebourne presentation on JSR 310 (audio) (3/9/2008)
- Stephen Colebourne does an update on JSR 310 (1/24/2008)
- Adam Bien requests help on names in the API (11/20/2007)
- Stephen Colebourne on how Java 7 changes would impact JSR 310 (10/5/2007)
- Stephen Colebourne announces a generic version of JSR 310 for comment (08/27/2007)
- Stephen Colebourne has been laying out the design principles for JSR 310 on the mailing list:
- JavaOne BOF slides
- An open letter to the JSR 310 community (5/13/2007)
- John O’Conner offers to resolve issues with the Date and Calendar world (3/1/2007)
- Jon Bruce on the impact of JSR 310 (2/10/2007)
- Alex Miller on issues with current APIs (1/30/2007)
- JavaLobby thread (1/30/2007)
- Stephen Colebourne (spec lead) announcing the JSR (1/30/2007)</ul>
**JSR 275 Units and Quantities**
JSR <a href=”https://jsr-275.dev.java.net/files/documents/4333/34956/JSR-275.pdf’>Proposal</a> Project RI Description: This JSR specifies one or more Java packages for the programmatic handling of physical quantities and their expression as numbers of units. The specification includes:
- Checking of unit compatibility
- Expression of a quantity in various units
- Arithmetic operations on units
- Concrete classes implementing the standard types of units (such as base, supplementary, and derived) and unit conversions.
- Classes for parsing unit specifications in string form and for formatting string representations of quantities.
- A database of predefined units.
Blogs:
- Guillaume Laforge: A Domain-Specific Language for unit manipulations (2/3/2008)
- Alex Blewitt complains about the spelling of meter and liter in the JSR 275 API (10/16/2007)
- Jean-Marie Dautelle introduces JSR 275 in a JavaWorld article (10/2/2007)
- Stephen Colebourne reviews JSR 275 in light of JSR 310 (9/28/2007)
- Discussion on JavaLobby about the end of Early Draft Public Review on July 8th (7/5/2007)
- Jody Garnett on why GeoTools has not switched to JSR-275 yet (7/5/2007)
- Specification and RI updated (6/20/2007)
- ServerSide discussion (1/15/2006)
- ServerSide announcement of approval (6/14/2005)
**JSR 107 JCache API**
JSR Project Description: The JCACHE specification standardizes in process caching of Java objects in a way that allows an efficient implementation, and removes from the programmer the burden of implementing cache expiration, mutual exclusion, spooling, and cache consistency.
Blogs:
- Greg Luck posts an update on JSR 107 and their philosophy (6/14/2007)
- Greg Luck on the revival of JSR 107 (5/23/2007)
**JSR 166 Concurrency Utilities**
JSR Project Mailing list Description: This JSR originally introduced the concurrency libraries in Java 5 and has since produced enhancements for Java 6. For Java 7, the JSR 166 group will be adding a new kind of BlockingQueue called TransferQueue and a fine-grained parallel computation framework based on divide-and-conquer and work-stealing.
Blogs:
- Gaston Hillar: Java 7 will evolve to fine-grained parallelism (4/15/2009)
- Danny Coward: Java SE Traffic Management (3/13/2009)
- Alex Miller: Java 7 TransferQueue (2/28/2009)
- Ted Neward: Forking and Joining Java to Maximize Multicore Power (2/25/2009)
- Doug Lea: Java 7 Fences API (1/13/2009)
- Doug Lea: jsr166y reorganization and updates (1/6/2009)
- Doug Lea: RFC — Java7 java.util.concurrent plans (12/10/2008)
- Vaclav Pech: GParallelizer now available for download (11/27/2008)
- Babak Makkinejad: Java Fork/Join Framework (10/23/2008)
- SD Times: Java + multicore = good news (10/15/2008)
- Vaclav Pech: Concurrency in JSR-166y meets Groovy – process collections in parallel (9/23/2008)
- Daniel Spiewak: Higher-Order Fork/Join Operators (9/22/2008)
- Doug Lea: forkjoin updates (9/6/2008)
- Václav Pech: Parallelize your arrays with JSR 166y (8/26/2008)
- Hamlet D’Arcy: Java Fork/Join + Groovy (8/12/2008)
- Vaclav Pech: JSR 166y – Java threads on diet (7/29/2008)
- InfoQ: New Java Concurrency Feature: Phasers (7/14/2008)
- Alex Miller: Set your Java 7 Phasers to stun (7/8/2008)
- InfoQ: Do Java 6 threading optimizations actually work? (6/21/2008)
- Alex Miller: JavaOne: Brian Goetz on concurrency in Java 7 (5/7/2008)
- Alex Miller: ConcurrentReferenceHashMap in Java 7? (4/17/2008)
- Pavel Simakov: Doug Lea is a Grandfather of all Scala Actors (4/3/2008)
- Nitin Bharti: Is Java 7 ready for the multicore revolution? (3/27/2008)
- Henrik Engström: The concurrency support in Java7 is not enough (3/26/2008)
- Compas Pascal: Multithreading in Java 7 – oh my god (3/25/2008)
- Brian Goetz: Stick a fork in it, Part 2 (3/4/2008)
- Brian Goetz on the fork/join framework (11/13/2007)
- R.J. Lorimer on the fork/join library (8/28/2007)
- InfoQ on the Java 7 JSR 166 updates (7/3/2007)
- Doug Lea paper on fork / join
- Article by Doug Lea on fork/join (6/1/2001)
**JSR 225 XQuery API for Java**
Description: This JSR defines an API for executing XQuery calls and working with results. XQJ is to XQuery what JDBC is to SQL. At a glance, the XQJ API intentionally shares many high-level concepts from JDBC (DataSource, Connection, etc) but supports XQuery specific concepts such as static and dynamic phases, XML-oriented retrieval, etc.
Blogs:
- XQJ Tutorials for JSR 225 (1/18/2008)
- Chris Haddad posts some objections to JSR 225 (7/27/2007)
- InfoQ coverage on XQJ API available for public review (7/3/2007)
- Michael Kay’s comments on XQJ’s latest draft (6/13/2007)
**JSR 284 Resource Consumption Management API**
Description: The API will allow for partitioning resources (constraints, reservations) among Java applications and for querying about resource availability (notifications). It will also provide means of exposing various kinds of resources. Example resources are heap memory size, CPU time, open JDBC connections, etc. The goal is to allow resources to be managed so that multiple applications might run simultaneously in a JVM and be given finite amounts of memory, cpu, etc. This JSR will build on top of JSR 121 Isolates.
Blogs:
- Proposed final draft for JSR 284 (8/15/2007)
- InfoQ on JSR 284’s early draft review (8/30/2006)
**Miscellaneous Library Changes**
Blogs:
- Michael McMahon: Closing a URLClassLoader (3/19/2009)
- Jean-Christophe Collet: HttpURLConnection and 100-Continue (3/18/2009)
- Xueming Shen: Named Capturing Group in JDK7 RegEx (3/10/2009)
- David M. Lloyd: Class-local data (2/28/2009)
- Xueming Shen: Superduper slow jar? (2/19/2009)
- Naoto Soto on java.util.Currency in JDK 7 (6/28/2007)
**JSR 296 Swing Application Framework**
JSR Project Description: This JSR will provide a simple application framework for Swing applications. It will define infrastructure common to most desktop applications. In so doing, Swing applications will be easier to create.
Blogs:
- Alexander Potochkin: SAF team is looking for experienced contributors (3/29/2009)
- Alexander Potochkin: Swing Application Framework is back again (3/2/2009)
- Anthony Goubard: The Swing Application Framework Still in Coma (2/23/2009)
- Yael: The quiet revolution – Part I: JSR 296 (1/2/2009)
- Jean-Francois Poilpret: My presentation on JSR-296 at Jazoon 08 (11/16/2008)
- John O’Conner: Managing resources in the Swing Application Framework (JSR 296) (9/15/2008)
- Alexander Potochkin: Swing Application Framework update (8/6/2008)
- Maurizio Storani: Swing Application Framework (JSR-296): new concepts, new features (8/7/2008)
- Kiev Gama: JSR 296 in coma ? (7/21/2008)
- Vladimir Ikryanov: Experimenting with Swing Application Framework (5/20/2008)
- Hans Muller: Leaving Sun to work on Flex (5/9/2008)
- Geertjan Wielenga: JSR-296: The End of the JFrame? (3/18/2008)
- Tutorial on using Swing Application Framework (JSR 296) in NetBeans
- Screencast showing how to use JSR 296 and JSR 295 with NetBeans (1/15/2008)
- Robert Eckstein does a very quick recommendation to JSR 296 and JSR 295 (1/10/2008)
- Angry Mongoose on his difficulties with JSR 296 (12/10/2007)
- tgreen suggests some overlap between Verdantium and JSR 296 (9/14/2007)
- Chet Haase presents on Swing Frameworks at OSCON (7/27/2007)
- Evan Summers’s presentation on JSR 296 and 295 (7/26/2007)
- John O’Conner’s article on Using the Swing Application Framework (7/10/2007)
- Philipp Meier laments the use of singletons and classes in JSR 296 (7/3/2007)
- John O’Conner on managing resources (6/19/2007)
- John O’Conner on SAF lifecycle events (6/12/2007)
- John O’Conner on SAF architecture (6/7/2007)
- John O’Conner starts working with JSR 296 (6/3/2007)
- JavaOne 2007 slides: TS-3942
-
Hans Muller’s BeJUG talk on JSR 296</li>
- Malcolm Davis on some things missing in JSR 296 (5/10/2007)
- Adrian Sutton with an overview of SAF (5/10/2007)
- Alex Miller on converting a small Swing app (5/7/2007)
- Dean Iverson on learning the Swing Application Framework (4/2/2007)
- Dean Iverson on the future of Swing apps (3/19/2007)
- Joshua Marinacci mentions that his JSR 296 talk has been accepted at JavaOne (3/3/2007)
- Juxie TechKnow on the target market for Swing Application Framework vs other RCP platforms (2/25/2007)
- Joshua Long on some early experiences with JSR 296 (2/23/2007)
- Geertjan compares the Swing Application Framework to the NetBeans platform (2/13/2007)
- Joshua Marinacci on use of JSR 296 (1/30/2007)
- Hans Muller on first release of JSR 296 (1/30/2007)
- Artima interview with Hans Muller (10/25/2006)
- Hans Muller (6/2/2006)
- JavaOne PDF
- Norbert Erheke (5/7/2006)
- Artima thread (5/3/2006)</ul>
**JSR 295 Beans Binding**
JSR Project Description: Provide an API that allows two properties of two beans to stay in sync. Formalizes an API for connecting JavaBeans.
Blogs:
- Fabrizio Giudici: BeansBinding -> BetterBeansBinding (3/31/2009)
- JSR 295 forked: Better Beans Binding (3/31/2009)
- Fabrizio Giudici’: Let’s fork BeansBinding (3/26/2009)
- David Goodenough: BeansBinding and Properties without strings (1/4/2009)
- Jacek Furmankiewicz: Beans Binding: A Java Data-Binding Solution with a Serious Problem (11/22/2008)
- BeansBinding Performance (11/18/2008)
- NetBeans Wiki: Best Practices With JPA And Beans Binding
- Thomas Künneth: Binding Beans (5/27/2008)
- Geertjan Wielenga: Rediscovering the Caricature Demo for Beans Binding (2/21/2008)
- Geertjan Wielenga with beans binding tutorial with NetBeans part 2 (2/12/2008)
- Geertjan Wielenga with beans binding tutorial with NetBeans part 1 (2/11/2008)
- Geertjan Wielenga on Beans Binding for dummies (2/10/2008)
- Fabrizio Giudici on using Beans Binding between business and persistence layers (1/13/2008)
- Interview with Shannon Hickey about the Beans Binding work (1/10/2008)
- Bean Binding Swing example (11/27/2007)
- Beans Binding 1.1.1 released (10/19/2007)
- Rémi Forax on beans bindings on conjunction with his proposed property keyword (9/24/2007)
- Shannon Hickey releases Beans Binding version 1.0 (9/5/2007)
- Danno Ferrin on changes to the Groovy layer for 295 (7/26/2007)
- Mikael Grev comments on Shannon’s email (7/9/2007)
- Shannon Hickey posts a proposal for addressing EL lockin and other issues (7/9/2007)
- Rémi Forax comments on the Beans Binding API(6/23/2007)
- Shannon Hickey announces the release of 0.6.1 Beans Binding project (6/22/2007)
- Shannon Hickey announces the release of 0.6 Beans Binding project (6/21/2007)
- JavaOne 2007 slides: TS-3569
- Danno Ferrin on a beans binding builder in Groovy (5/11/2007)
- NetBeans 6 has support for JSR 295 (5/7/2007)
- Shai compares JSR 295 to the bean properties framework (4/3/2007)
- JSR 295 Beans Binding is out (v0.5) (4/2/2007)
- Danno Ferrin on data binding with Groovy (3/13/2007)
- Daniel Stephan on various data binding frameworks 3/8/2007
- Roman Strobl demos JSR 295/296 (3/5/2007)
- Shannon Hickey announces he’s taking over for Scott Violet as the spec lead
- Scott Violet – update on JSR 295</a> (2/2/07)
- Scott Violet (5/23/2006)
- Jesse Wilson (6/13/2006)
**JSR 303 Beans Validation**
JSR Public Review Description: This JSR will define a meta-data model and API for JavaBeanTM validation based on annotations, with overrides and extended meta-data through the use of XML validation descriptors.
Blogs:
- Emmanuel Bernard: Bean Validation (JSR 303) hits proposed final draft (3/30/2009)
- Bean Validation for the Rest of Us – Emmanuel Bernard on JSR 303 (2/26/2009)
- Gunnar Morling: Getting started with JSR 303 (Bean Validation) – part 2 (2/1/2009)
- Gunnar Morling: Getting started with JSR 303 (Bean Validation) – part 1 (1/29/2009)
- Emmanuel Bernard: Bean Validation (JSR 303) Public Draft: give us feedback (1/9/2009)
- Łukasz: JSR 303 and OVal Validation Framework (12/12/2008)
- Ed Burns: JSR-303 Bean Validation support in JSF 2.0 (11/27/2008)
- Emmanuel Bernard: In Relation To… Constraint composition proposal in Bean Validation (10/9/2008)
- JSRs for Morons #1 – JSR 303: Bean Validation (9/9/2008)
- agimatec-validation: An implementation of JSR 303 Bean Validation from agimatec GmbH (4/17/2008)
- Emmanuel Bernard: Bean Validation Sneak Peek part III: groups and partial validation (4/10/2008)
- Emmanuel Bernard: Bean Validation Sneak Peek part II: custom constraints (4/1/2008)
- Emmanuel Bernard: Bean Validation feedback forum (3/28/2008)
- Emmanuel Bernard: Sneek Peek part I (3/25/2008)
- JavaOne 2007 slides: TS-4112
- Floyd Marinescu (7/12/2006)
- Jay Bose (7/11/2006)
- Matt Raible (7/11/2006)
**Java Media Components**
Description: Java Media Components will finally add support for video to Java. It will initially address playback and ultimately will also cover capture and streaming. Video playback will provide support for both native players and a pure Java player.
Blogs:
- Colm Smyth has some suggestions on JMC (6/15/2007)
- JavaLobby thread on JMC (6/14/2007)
- InfoQ coverage of JMC (6/13/2007)
- Chet Haase outlines the JMC (5/24/2007)
**JSR 255 JMX 2.0**
Description: This JSR updates the JMX and JMX Remote APIs to improve usability of existing features and add new functionality such as annotations for ease of development, federated JMX servers, etc.
Blogs:
- Eamonn McManus: Client context in the new JMX API (12/5/2008)
- Eamonn McManus: Applying MXBean mappings to your own types (11/21/2008)
- Dustin Marx: Querying in JMX 2.0 (10/13/2008)
- Eamonn McManus: JMX Namespaces now available in JDK 7 (9/30/2008)
- Shanliang JIANG: Event Service: subscribe to a set of MBeans (registered or non-registered) (9/16/2008)
- Eamonn McManus: Dropping proposed features from the new JMX API (9/18/2008)
- Shanliang JIANG: Event Service in version 7 of the Java SE platform (9/10/2008)
- Eamonn McManus: JMX Event Service now available in JDK 7 snapshots (9/1/2008)
- http://weblogs.java.net/blog/emcmanus/archive/2008/08/playing_with_th.html (8/6/2008)
- Daniel Fuchs: JMX, SNMP, Java, etc…: JavaScript and JMX 2.0 Namespaces (6/3/2008)
- Jean-Francois Denise: JMX, NetBeans and more! (6/3/2008)
- Eamonn McManus: A query language for the JMX API (4/25/2008)
- Eamonn McManus announces the release of the JSR 255 Early Draft (12/28/2007)
- Eamonn McManus on defining MBeans via annotations (8/31/2007)
- Eamonn McManus on the new Event Service in JMX 2.0 (8/23/2007)
- Eamonn McManus on cascading in JMX 2.0 (5/30/2007)
- Eamonn McManus on custom MXBeans (5/30/2007)
- JavaOne 2007 slides: TS-2656
- Daniel Fuchs announces the OpenDMK project which implements cascading (5/15/2007)
- Lucas Jellema on JMX 2.0 (5/11/2007)
- Daniel Fuchs on searching for MBeans of a certain type and the need for this functionality in JMX 2.0 (3/15/2007)
- Eamonn McManus on removing getters from Model MBean operations (2/13/2007)
- Eamonn McManus on cascading or federation in JMX 2.0 (2/1/2007)
**JSR 262 Web Services Connector for JMX**
JSR Proposal RI Description: Defines a connector for the JMX Remote API that uses Web Services to make JMX instrumentation available remotely. Clients do not have to be Java applications, but can be.</a>
Blogs:
- Jean-Francois Denise: Early Access 4 of the Web Services Connector for JMX is out (10/24/2008)
- Dustin Marx: A Third Look at the JMX Web Services Connector (9/8/2008)
- Dustin Marx: Remote JMX: Connectors and Adapters (8/23/2008)
- Dustin Marx: A First Look at JMX Web Services Connector (6/2/2008)
- Jean-Francois Denise on the Web Services Connector entering Public Review (2/18/2008)
- Jean-Francois Denise on securing the JMX connector with WS-Security (9/5/2007)
- Jean-Francois Denise on securing the JMX connector with HTTPS (8/16/2007)
- Jean-Fracois Denise on deploying the web services connector for JMX (6/5/2007)
- Daniel Fuchs on JMX integration with non-Java technologies (5/11/2007)
- Jean-Francois Denise with more on the web services connector (5/5/2007)
- Eamonn McManus available for early access (5/4/2007)
- Eamonn McManus (11/6/2006)
**JSR 326 Post mortem JVM Diagnostics API**
Description: A standard Java API designed to support the generation and consumption of post mortem or snapshot Java diagnostic artifacts, such as heap and CPU dumps.
Blogs:
- Alex Miller: Post mortem JVM Diagnostics API (7/27/2008)
**JSR 260 Javadoc Technology Update**
Javadoc Update Project JSR Project Description: Defines new tags and generated Javadoc document representation aimed to increase readability, information richness, and make the Javadoc more approachable to developers learning and using the APIs.</a>
This JSR will investigate various improvements to javadoc tags, including for example:
- categorization of methods and fields by their target use
- semantical index of classes and packages
- distinction of static, factory, deprecated methods from ordinary methods
- distinction of property accessors from ordinary methods
- combining and splitting information into views
- embedding of examples, common use-cases along with Javadoc
While the JSR looks to be fairly dormant, there is a project (first link above) to update Javadoc in JDK 7.
Blogs:
- Bhavesh Patel: Proposed javadoc/doclet improvements for JDK7 (6/10/2009)
- JavaPosse thread on javadoc (10/27/2008)
**Reified Generics**
Currently, generics are implemented using erasure, which means that the generic type information is not available at runtime, which makes some kind of code hard to write. Generics were implemented this way to support backwards compatibility with older non-generic code. Reified generics would make the generic type information available at runtime, which would break legacy non-generic code. However, Neal Gafter has proposed making types reifiable only if specified, so as to not break backward compatibility.
Blogs:
- Peter von der Ahé comments on the feasibility of implementation (3/20/2007)
- Peter von der Ahé on a case for reified generics (1/26/2007)
- Weiqi Gao on a call for reification (1/20/2007)
- JavaLobby thread on reified generics (11/6/2006)
- Rémi Forax on reified generics and an intersection with JSR 308 (11/6/2006)
- Neal Gafter proposal on allowing optionally reified generics (11/5/2006)
**Type Literals**
Description: A proposal to retrofit Type with generics.
Example:
Type<List
> x = List .class; Blogs:
- Stephen Colebourne on self types (8/31/2007)
- Ian Robertson on reflecting generics to get type information (6/23/2007)
- Howard Lovatt on Super Type Tokens (5/22/2007)
- Neal Gafter with an update on limitations of Super Type Tokens (5/20/2007)
- Neal Gafter on Super Type Tokens (9/4/2006)
- Neal Gafter on Type Literals (9/4/2006)
- Ted Neward (12/1/2006)
**JSR 308 Annotations on Java Types**
JSR Project Early Draft Review Proposal Mailing list archive Prototype Description: JSR 308, “Annotations on Java Types”, enriches the Java annotation system. For example, it permits annotations to appear in more places than Java 6 permits; one example is generic type arguments (List<@NonNull Object>). These enhancements to the annotation system require minor, backward-compatible changes to the Java language and classfile format.
JSR 305 is a related JSR concerned with specifying a standard set of annotations for defect detection, which (with JSR 308) can be applied in more places. Project Home
Blogs:
- JSR 305: a silver bullet or not a bullet at all? (3/31/2009)
- Bartosz Milewski: Java Pluggable Types (1/18/2009)
- Adam Warski: Typestate checker – introduction (11/17/2008)
- Elliotte Rusty Harold: The Open Road: javax.annotation (9/11/2008)
- Mathias Ricken: And Another Week Gone (9/24/2008)
- David Hovemeyer: Obligation analysis: success! (7/27/2008)
- Chris Boersma: JSR 305 and Design by Contract (6/21/2008)
- Mathias Ricken: JSR 308 Animosity (5/16/2008)
- Michael Nygard: When Should You Jump? JSR 308. That’s When. (5/8/2008)
- Avah compares proposals to indicate whether nulls are accepted (9/22/2007)
- Google Tech Talk by Bill Pugh on JSR 305 (Automatic Defect Detection) (8/8/2007)
- JavaPosse #132 interviews Bill Pugh and Brian Goetz about JSR 305 annotations (7/11/2007)
- Eugene Kuleshov on a use for JSR 308 annotations in targeting concurrency (5/29/2007)
- Updated proposal and prototype for JSR 308 (5/1/2007)
- Someone(?) on syntax complexity from the JSR 308 mailing list (4/8/2007)
- Rémi Forax on Type Annotation syntax (3/18/2007)
- Stephen Colebourne’s proposal for indicating whether nulls are allowed (1/7/2007)
- Mathias Ricken on a similar idea specifically for local variables (10/10/2006)
- A paper by Patrice Chalin and Perry James on the impact of nullity annotations
- JSR 305: Annotations for Software Defect Detection – related JSR that relies on JSR 308
**Type inference**
Proposal Background Description: Use compiler type inference to clean up some cruft in constructor invocation and remove the need for explicit type specification in some generic cases.
Constructor invocation can be changed from:
Map<String, List
> anagrams = new HashMap<String, List >(); to
Map<String, List
> anagrams = new HashMap<>(); and explicit type references can now be inferred changing:
timeWaitsFor(Collections.
emptySet()); to
timeWaitsFor(Collections.emptySet());
Blogs:
- Lars Westergren: Type inference thoughts (5/15/2008)
- Fred Simon suggests type inference is taking us in the wrong direction (11/12/2007)
- Chaotic Java questions what type inference would buy us (9/27/2007)
- Chris Burnley posts on a similar idea he proposed in 2004 (8/28/2007)
- Neal Gafter on constructor type inference (7/6/2007)
- Elliotte Rusty Harold on type inference (4/16/2007)
- Stephen Colebourne (1/23/2007)
- Peter Ahé (12/15/2006)
- James Gosling (3/23/2006)
**Closures**
JSR Proposal BGGA Proposal CICE Proposal FCM Proposal C3S Proposal BGGA Prototype CICE Prototype FCM Prototype Description: A
closure is a function that captures the bindings of free variables in its lexical context.
Closures support passing functions around and make many anonymous inner class use cases easier to use. In addition, they support additional high-level programming abstractions.Blogs:
- InfoQ: Language Parity: Closures and the JVM (2/12/2009)
- Brian Cunningham: Java and Closures (12/19/2008)
- Howard Lovatt: New Control Structures for Java (10/14/2008)
- Peter Maas: I want closures “bolted on to Java” (10/11/2008)
- David M. Lloyd: Feedback about Dave’s Dumb Closures (10/8/2008)
- David M. Lloyd: More uses for Dave’s Dumb Closures (10/7/2008)
- David M. Lloyd: Dave’s Dumb Closures (9/30/2008)
- WarpedJavaGuy: Polymorphism by Closure Injection? (9/4/2008)
- David Linsin: Series Reflections: Put Closures into Java 7 (9/2/2008)
- Mark Mahieu: for eachConcurrently (8/28/2008)
- Mark Mahieu: NetBeans vs Closures (8/27/2008)
- Tinou: Java Control Abstractions (8/17/2008)
- Mikael Grev: Closures – Breaking the Deadlock (8/14/2008)
- Howard Lewis Ship: My Ideas for Java Closures (8/13/2008)
- InfoQ: Neal Gafter Discusses Closures, Language Features and Optional Typing (8/11/2008)
- Erik Itland: About Java, closures and attracting new developers (8/6/20087)
- Neal Gafter: Java Closures Prototype Feature-Complete (8/7/2008)
- Neal Gafter: Closures for Java (8/4/2008)
- Julian Exenberger: Java and the closures hall of shame (8/4/2008)
- Neal Gafter: BGGA with non-local return (8/2/2008)
- Rémi Forax: Alternative syntax for BGGA closure (7/7/2008)
- Neal Gafter: Alternative syntax for closures (7/7/2008)
- Rémi Forax: Source of BGGA prototype available (7/5/2008)
- Functional Java: an open source library that aims to prepare the Java programming language for the inclusion of closures
- Jesper de Jong: Closures for Java, is it really a good idea? (7/1/2008)
- Barney Boisvert: Closures for Java (6/29/2008)
- Mark Mahieu: Schwartzian Transforms in Java (6/26/2008)
- WarpedJavaGuy: Java Closures – The Fundamental Benefit (6/25/2008)
- Michael Easter: The Forgotten Argument for Closures in Java (6/24/2008)
- Klaus Kreft and Angelika Langer: Understanding the closures debate (6/17/2008)
- Dennis Byrne: Yet another reason for why Java needs Closures (6/15/2008)
- Richard Dallaway: Comparing closures in Java, Groovy and Scala (6/14/2008)
- Jörn Zaefferer: Closures in Java and Scala (5/15/2008)
- Mark Mahieu: Nothing’s guaranteed (5/8/2008)
- Alex Miller: JavaOne: Neal Gafter on Closures (5/7/2008)
- uttumuttu: Verbosity of Non-closured Java Violates the Law of Demeter (4/16/2008)
- Rob Leland: Start of the Closures for Java Project is Almost Here! (4/13/2008)
-
- Ray Myers: Subsequences With BGGA Closures (4/10/2008)
- Adam Bien: High Level thinking about the introduction of closures in Java (4/6/2008)
- Geertjan Wielenga: Closures Solution: Include Groovy in the JDK? (4/4/2008)
- Alan Keefer: Why Java Needs Closures (4/4/2008)
- Rémi Forax: Closure and groovy builder (4/1/2008)
- Bruce Eckel: Will Closures Make Java Less Verbose? (3/31/2008)
- Weiqi Gao: Closures Comes To C++0x (3/30/2008)
- Gavin Grover: The Groovy Visions (3/30/2008)
- Robert O’Connor: Concise Instance Creation Expressions (CICE) (3/24/2008)
- uttumuttu: Obtaining BGGA Closure Parameter Types at Runtime (3/20/2008)
- Peter Lawrey: Good Reasons to have Closures in Java (3/18/2008)
- Neal Gafter: Closures: Control Abstraction, Method References, Puzzler Solution (3/17/2008)
- Alex Miller: Dynamic visitor builder with closures (3/17/2008)
- Collin Fagan: More First Class Methods Code (3/14/2008)
- Bruce Chapman: Announcement – “No Closures” prototype (3/14/2008)
- Alex Miller: Visitor pattern with closures (3/13/2008)
- Collin Fagan: More First Class Methods Code (3/13/2008)
- Kirk Pepperdine: More on Closures (3/13/2008)
- Collin Fagan: Experimenting with First Class Methods (FCM) (3/8/2008)
- Michael Easter: Rhapsody in Blue: the Colour of BGGA Closures (3/7/2008)
- Weiqi Gao: Here Comes The Cute Logo … (3/6/2008)
- Cay Horstmann: Feel of Java Revisited (3/1/2008)
- Cedric Champeau: Java BGGA closures proposal and the Groovy syntax (2/29/2008)
- WarpedJavaGuy: Closure Syntax Wars (2/28/2008)
- Stephen Colebourne: FCM closures – options within (2/28/2008)
- Weiqi Gao: It Looks Like I’m Not Alone (2/27/2008)
- Alex Winston: Closure Syntax (2/27/2008)
- Stephen Colebourne: FCM prototype available (2/24/2008)
-
- Torbjörn Gannholm: Java closures and threads (2/21/2008)
- Weiqi Gao: Dreaming Up Syntax For Function Types For BGGA Closures (2/21/2008)
- Stephen Colebourne: Closures – Lightweight interfaces instead of Function types (2/21/2008)
- Stephen Colebourne on evaluating BGGA closures (2/19/2008)
- java.net poll on closures (2/15/2008)
- Brian Gilstrap suggests an alternative syntax for closures (2/13/2007)
- Mario Gleichmann on blocks as a closures alternative (2/12/2008)
- Hamlet D’Arcy on continuations with closures (2/11/2008)
- Kirill Grouchnikov on the first closures puzzler (2/7/2008)
- Neal Gafter with a closures puzzler (2/5/2008)
- Weiqi Gao with a closures quiz (2/1/2008)
- Thomas Hawtin on user-definable control structures without closures (2/1/2008)
- Eric Burke with a closures comic (1/31/2008)
- Alex Miller on James Gosling’s comments (1/31/2008)
- James Gosling on closures (1/31/2008)
- Stephen Colebourne compares the three closures proposals on type inference (1/25/2008)
- Yardena gives her thoughts on the generics – closures argument (1/22/2008)
- Alexander Schunk with a follow-up article on a different syntax for closures (1/20/2008)
- Mark Mahieu implements a prototype of the CICE/ARM Java closures proposal (1/17/2008)
- Rémi Forax presents a new closure proposal (1/16/2008)
- Weiqi Gao chooses closures over death for Java (1/15/2008)
- Dabar votes yes for closure but no on syntax (1/14/2008)
- Howard Lovatt shows his alternative to restricted closures (1/2/2008)
- Flying Frog gives the functional perspective on the closures debate (12/28/2007)
- Closures Q&A with Josh Bloch (12/29/2007)
- Stephen Colebourne compares the closure proposals (12/19/2007)
- Michael Kölling on testing closures with HCI (12/18/2007)
- Tim Bray on closures (12/17/2007)
- Stephen Colebourne with some feedback on closures from JavaPolis (12/15/2007)
- Bharath serves up some interesting links and thoughts around closures (12/13/2007)
- Neal Gafter comments on Josh’s JavaPolis talk (12/13/2007)
- Josh Bloch’s slides from JavaPolis (12/13/2007)
- Neal Gafter on restricted closures (12/4/2007)
- Bruce Chapman on closures and multiple return values (11/28/2007)
- Neal updates the closures prototype (11/20/2007)
- Debasish Ghosh on using closures to implement infinite streams (11/9/2007)
- Stephen Colebourne on implementing FCM closures (11/6/2007)
- Charles Oliver Nutter on using Neal’s closure prototype with JRuby (11/5/2007)
- Debasish Ghosh on closures and abstraction (11/5/2007)
- Michael Easter updates his jar finder example with closures (11/2/2007)
- Ricky Clarkson on pattern matching (11/1/2007)
- Ricky Clarkson on writing your own foreach loop (11/1/2007)
- Michael Easter with a closures puzzler (11/1/2007)
- Ricky Clarkson does pattern matching with closures (10/31/2007)
- Michael Easter rewrites a Groovy program in Java with closures (10/31/2007)
- Eugene Koleshov looks behind the scenes at the closure prototype (10/31/2007)
- Michael Easter with a gentle intro to the closures prototype (10/30/2007)
- Ricky Clarkson gives some detailed feedback on using the closures prototype (10/30/2007)
- Ricky Clarkson having fun with Neal’s prototype (10/22/2007)
- Neal Gafter releases prototype of BGGA closures (10/29/2007)
- Ricky Clarkson on why Java needs closures (10/10/2007)
- Chaotic Java on C# delegates vs Java closures (9/24/2007)
- Chaotic Java on sending events using closures (9/23/2007)
- Ricky Clarkson on point-free programming (9/14/2007)
- InfoQ reviews Neal’s talk at Jazoon ’07 (8/29/2007)
- Neal Gafter’s presentation on closures at Jazoon ’07 (8/2/2007)
- Neal Gafter on iterators and closures (7/31/2007)
- Michael Nischt presents an idea for Inline-Methods and Closure-Blocks to add control abstraction without closures (7/7/2007)
- David Rupp votes against closures (5/30/2007)
- Howard Lovatt with more on scoping in closures (5/26/2007)
- Curtis Poe on closures and Sapir-Whorf (5/21/2007)
- JavaOne 2007 slides: TS-2294
- Joe Darcy on closures as a level of indirection (5/14/2007)
- Peter Pilgrim’s notes from Neal’s closure talk at JavaOne (5/12/2007)
- Stephen Colebourne on comparing closures by language impact (5/11/2007)
- JavaLobby thread on closures (5/10/2007)
- Henri Yandell comments on Gafter’s JavaOne closures session (5/8/2007)
- Stephen Colebourne chooses FCM+JCA (5/3/2007)
- Stephen Colebourne on the closure JSR proposal (5/1/2007)
- Discussion on the closure consensus proposal (4/30/2007)
- Neal Gafter introduces the Consensus Closure Proposal JSR (4/27/2007)
- Brian Goetz on closures (4/24/2007)
- Cay Horstmann on returns in closures (4/16/2007)
- Neal Gafter visits San Jose State to discuss closures (4/13/2007)
- Howard Lovatt on comparing closure proposals (4/11/2007)
- Stephen Colebourne on extending FCM to handle Java Control Abstraction (4/9/2007)
- Ricky Clarkson on return semantics and conflicts between the CICE and BGGA proposals(4/4/2007)
- Stephen Colebourne announces FCM closures v0.5<em(4/4/2007)</em>
- Elliotte Rusty Harold on unrolling closures (4/1/2007)
- Stephen Colebourne on closures in other languages (3/31/2007)
- Neal Gafter on using closures to organize your code (3/29/2007)
- Java Posse group thread on closures
- murphee on why blocks are useful (3/22/2007)
- Some closure homework at San Jose State (3/20/2007)
- Stefan Schulz on FCM 0.4 (3/18/2007)
- Stephen Colebourne release v0.4 of the FCM proposal (3/18/2007)
- Thomas Hawtin on closures (3/18/2007)
- Joe Walker with some BGGA closure examples (3/15/2007)
- Neal Gafter on using expressiveness to compare closure proposals (3/5/2007)
- Neal Gafter on using closures for MouseListener (3/8/2007)
- Stephen Colebourne follows up his prior post with some more closure examples across proposals (3/5/2007)
- Elliotte Rusty Harold on homework to do in comparing closure proposals (3/1/2007)
- Andrew C. Oliver on replacing AOP with closures (3/1/2007)
- Stephen Colebourne compares his recent FCM proposal with BGGA and CICE (3/1/2007)
- Jing Xue agrees with Richard Relos that closures are too complicated and not needed (2/27/2007)
- Rémi Forax responds to the FCM closure proposal on method references (2/27/2007)
- Stephen Colebourne announces a new closure proposal – First Class Methods (2/26/07)
- Richard Relos on Closures and Groovy (2/26/2007)
- Stephen Colebourne extends his method adaptation ideas with anonymous functions (2/12/2007)
- Elliotte Rusty Harold on “Why hate the for loop?” (2/7/2007)
- Stephen Colebourne on method adaptation as an alternative (2/5/2007)
- Danny Lagrouw on closure examples with the BGGA proposal (2/5/2007)
- Chuck Hoffman on adding closures (2/4/2007)
- Reg Braithwaite on Closures and comparisons to Ruby (1/31/2007)
- Juixe TechKnow (1/29/2007)
- Neal Gafter (1/28/2007)
- Stephen Colebourne – asynchronous use cases (1/8/2007)
- Chet Haase on closures and expressiveness (12/15/2006)
- Tim Vernum comparing closure proposals (10/17/2006)
- Graeme Rocher (10/3/2006)
- java.net wiki on Closures in Java 7 (8/22/2006)
- Neal Gafter (8/18/2006)
- Ivan Moore (7/24/2006)
- Martin Fowler (9/8/2004)
- Guy Steele (8/21/2003)
- 2 hr talk from Neal Gafter</ul>
**Automatic Resource Block Management**
Proposal ARM Prototype Description: A proposal to support scoping of resource usage in a block with automatic resource cleanup. This addresses the common and messy problem of correctly closing or releasing resources in a finally block, particularly when needing to close multiple resources in the same block.
Example:
// Start a block using two resources, which will automatically
// be cleaned up when the block exits scope
do (BufferedInputStream bis = …; BufferedOutputStream bos = …) {
… // Perform action with bis and bos
}
Blogs:
- Chris Hansen on ARM blocks in Scala (2/14/2008)
- Interview with Josh Bloch (11/7/2006)
**Language level XML support**
Description: Add support for multi-line XML (or possibly other languages or kinds of text) to be embedded within code.
Example:
elt.appendChild(
Kermit );
Blogs:
- Alex Miller on integrating XML via XQuery and scripting (3/27/2007)
- Mark Reinhold talk on XML integration with Java (JavaPolis 2006)
- JavaLobby thread (1/11/2007)
**JavaBean property support**
Description: Support properties (and possibly events) as features of the language, with a special syntax for defining and possibly calling them.
Example:
public property String foo;
a->Foo = b->Foo;
Blogs:
- Javier Paniza: Java Properties without Getters and Setters (1/22/2009)
- Rémi Forax: Da Vinci runtime properties (3/23/2008)
- Rémi Forax updates his property proposal (2/7/2008)
- Fred Simon puts together properties and abstract enums (1/28/2008)
- Cay Horstmann says properties get no respect (12/20/2007)
- Eric Burke suggests a PropertyChangeSource interface (11/19/2007)
- Java Posse episode #145 focuses a lengthy discussion on property support idea (10/4/2007)
- Mikael Grev property writeup on JavaLobby (10/3/2007)
- Stephen Colebourne proposes some properties terminology (10/1/2007)
- JavaLobby asks whether property support is needed or wanted in Java 7 (9/27/2007)
- Stephen Colebourne on per-class or per-instance properties (9/27/2007)
- Shai makes a case against the property keyword (7/6/2007)
- Michel Ishizuka posted a patch and writeup for trying out shorthand property access. (6/11/2007)
- Rémi Forax updates his property syntax proposal (5/13/2007)
- Mikael Grev with a new variation on the property change proposal which also encapsulates some event handling (2/23/2007)
- JavaLobby discussion on properties (2/20/2007)
- Ricky Clarkson on property changes (2/18/2007)
- Elliotte Rusty Harold (1/26/2007)
- Alex Miller (1/26/2007)
- Elliotte Rusty Harold (1/25/2007)
- Richard Bair responding to Rémi’s proposal (1/24/2007)
- Richard Bair (1/8/2007)
- Cay Horstmann (1/7/2007)
- Mikael Grev (1/5/2007)
- Rémi Forax (1/5/2007)
- Stephen Coleburne (1/8/2007)
- Kirk (1/5/2007)
- Joe Nuxoll’s properties and events (11/22/2005)
**BigDecimal operator support**
Description: Add support for manipulating BigDecimal objects with arithmetic operators (just like other numeric primitives) instead of via method calls.
Blogs:
- Glyn Normington looks for support of built-in decimal support (8/30/2007)
- Stephen Colebourne on BigDecimal literals and other Big thoughts (7/12/2007)
- Glyn Normington on the need for BigDecimal operator support (2/2/2007)
**Strings in switch statements**
Description: Allow switch statements to use strings in the case blocks.
Example:
static boolean booleanFromString(String s) {
switch(s) {
case “true”:
return true;
case “false”:
return false;
}
throw new IllegalArgumentException(s);
}
Blogs:
- Stephen Colebourne on improving enum support in switch (2/2/2007)
**Comparisons for Enums**
Description: Allow enum values to work with range operators (<, >, etc)
Example:
boolean isRoyalty(Rank r) {
return rank >= Rank.JACK && rank != Rank.ACE;
}
**Chained invocation**
Description: Allow easy chaining of method calls by allowing void methods to implicitly return this. This allows easy creation of fluent APIs that can chain together method calls.
Example:
class Factory {
void setSomething(Something something) { … }
void setOther(Other other) { … }
Thing result() { … }
}
Thing thing = new Factory()
.setSomething(something)
.setOther(other)
.result();
Blogs:
- Przemysław Bielicki: Builder-style setters for Java (10/31/2008)
- Stefan Schulz follows up on Howard’s proposal with his own suggested syntax for chained invocation (1/15/2008)
- Thomas Hawtin proposes an alternative with some syntax sugar (12/25/2007)
- Howard Lovatt with proposals for extension methods and chained invocations (12/13/2007)
- Matthias Ernst with a patch to try out cascading of void functions (5/26/2007)
- Matthias Ernst on allowing cascading of void functions (5/22/2007)
**Extension methods**
Description: Allow clients to designate static utility methods to act as if they were part of an interface via static import in the interface.
Example:
import static java.util.Collections.sort;
List
list = …; list.sort(); // looks like call to List.sort(), but really call to static Collections.sort().
Blogs:
- Stefan Schulz: Meta-interfaces: Contracting Generics (2/28/2008)
- Howard Lovatt with a proposal for traits (12/15/2007)
- Howard Lovatt with proposals for extension methods and chained invocations (12/13/2007)
- Yardena proposes a more specific syntax for extension methods (12/9/2007)
- Rémi Forax voices his opinion on extension methods (11/29/2007)
- Stefan Schulz proposes a more generic method currying (11/28/2007)
- Stephen Colebourne proposes an alternative for extension methods (11/27/2007)
- Peter Ahé discusses an alternative to extension methods (11/26/2007)
- Neal elaborates on extension methods (11/20/2007)
- Stefan Schulz with a prototype of meta-interface support (11/10/2007)
- Damien Guard on extension methods in .NET (10/20/2007)
- Stefan Schulz on meta-interfaces (4/10/2007)
-
Noah on mixins revisited with FCM closures (2/28/2007)</li>
- Noah on mixins (2/23/2007)
- Jacek: Null-safe method invocation in Java 7 (3/18/2009)
- Stephan Schmidt: Better Strategies for Null Handling in Java (2/3/2009)
- Stephen Colebourne: Java 7 – Null-default and Null-safe operators (1/6/2009)
- Reinier Zwitserloot: non-null in static languages. (10/23/2008)
- Tom Hawtin suggests that the “catch multiple and rethrow” proposal should be done with generics instead (1/13/2008)
- Brian Goetz suggests multiple catch and rethrow improvements (6/19/2007)
- Colm Smyth recaps the checked exception debate (6/3/2007)
- Neal Gafter on removing language features (5/26/2007)
- Joseph D. Darcy: Project Coin: The Call for Proposals Phase is Over! (4/1/2009)
- David Linsin: JDK 7 Language Changes are Coined (3/29/2009)
- Joseph D. Darcy: Project Coin: Week 4 Update (3/29/2009)
- Joseph D. Darcy: Project Coin: For further consideration… (3/29/2009)
- The Java Posse: Roundup 09 – Project Coin (3/21/2009)
- Joseph D. Darcy: Project Coin: Week 3 Update (3/21/2009)
- Bruce Chapman: Meta Coinage – Role of Syntactic Sugar (3/20/2009)
- Joseph D. Darcy: Project Coin: Week 2 Update (3/18/2009)
- Jeremy Manson: Small Language Changes for JDK7 (2/28/2009)
- Dustin Marx: Small Java 7 Language Changes (2/24/2009)
- Joseph Darcy: FOSDEM 2009: OpenJDK 6 and Project Coin (2/13/2009)
- E. Sammer: Class Categories in Java (2/10/2009)
- Joseph D. Darcy: Project Coin: Small Language Change Proposal Form Available (1/28/2009)
- Stephen Colebourne: JDK 7 language changes – Everyone votes! (1/28/2009)
- Stephen Colebourne: Unique identifier strings (11/9/2008)
- Cédric Champeau: Java 7 idea : change default file encoding (9/23/2008)
- Alex Buckley: Named parameters (9/7/2008)
- Rémi Forax: Parameterized type are NOT inherently unsafe (5/27/2008)
- Chaotic Java: Switch by class type (5/24/2008)
- Stephen Colebourne: For-each loop control access (4/26/2008)
- Stephen Colebourne: Java 7 – For-each loops for Maps (4/19/2008)
- Shams Mahmood: My Java7 Wishlist regarding Collections (4/5/2008)
- Stephen Colebourne suggests a syntax for multi-line string literals (1/28/2008)
- Howard Lovatt suggests eliminating wildcards from generics (1/11/2007)
- Doug Lea, Josh Bloch, and Kevin Bourrillion propose some API enhancements for Java 7 (11/6/2007)
- Fred Simon on a patch for abstract enums (11/2/2007)
- Stephan Schmidt came up with the idea of a standard annotation for indicating licensing and/or copyright (10/23/2007)
- javablog has some more Java 7 language requests (10/24/2007)
- B.K. Oxley has a proposal for delegation (10/23/2007)
- javablog has several Java 7 language requests (10/15/2007)
- Michael Nischt takes my idea of named parameters and runs with it! (8/15/2007)
- John Rose on tuple support in the JVM (7/13/2007)
- Fred Simon has an OpenJDK patch for his abstract enum suggestion(6/23/2007)
- Ricky Clarkson on improving your visitors and a a request for Void as a valid type parameter (6/13/2007)
- Fred on a need for abstract enums (5/23/2007)
- Brian Repko on caching (4/2/2007)
- Fyodor Kupolov on adding base64 encoding (3/28/2007)
- Alexander Schunk on structs and dynamic arrays (3/20/2007)
- Neal Gafter on the need for a weak identity hash map in Java 7 (3/17/2007)
- Bill Venners interviews Geert Bevin on continuation support in Java (3/1/2007)
- Bob Lee on better serialization errors (2/26/2007)
- Stephen Colebourne on literal array syntax (2/20/2007)
-
Felipe Leme on
semifinal
(2/13/2007) -
Stephen Colebourne on the
source
keyword (1/27/2007) -
Stephen Colebourne on
.equals
(1/25/2007) - John Rose: JSR 292 support in javac (3/29/2009)
- Danny Coward: Planet Cast One: JSR 292, DaVinci Machines and Multiple-languages (3/23/2009)
- Hamlet D’Arcy: Why Dynamic Languages Metaobject Protocol? (3/18/2009)
- John Rose: simple Java linkage: an invokedynamic apéritif (2/17/2009)
- Dalibor Topic: Towards a Universal VM – FOSDEM 2009 (2/14/2008)
- John Rose: Updates on Da Vinci Machine Work (1/21/2009)
- Arnold Schwaighofer: HotSpot tail calls coming? (1/21/2009)
- Danny Coward: Repeating the JVM Language Summit (1/9/2009)
- Rémi Forax: method handles == closures ?? (1/2/2009)
- Jsr-292’s first draft – a late review (12/19/2008)
- Rémi Forax: ASM and invokedynamic (10/21/2008)
- John Rose: the view from the Summit (10/2/2008)
- Cliff Click: JVM Language Summit (9/30/2008)
- Tim Bray: The Summit (9/30/2008)
- Weiqi Gao: Closures And The Java VM (9/30/2008)
- Ola Bini: JVM Language Summit – Second day (9/30/2008)
- Ola Bini: JVM Language Summit – first day (9/25/2008)
- Ola Bini tweets that InvokeDynamic WILL be in JDK 7 (9/24/2008)
- robilad: OpenJDK roundup (9/18/2008)
- Charles Nutter: A First Taste of InvokeDynamic (9/12/2008)
- Danny Coward: Firing up the engines for multiple languages (8/27/2008)
- John Rose: Happy International Invokedynamic Day! (8/26/2008)
- Tobias Ivarsson: My JVM Wishlist (Part 1): Interface injection (7/16/2008)
- Jeroen Frijters: Invokedynamic Proof of Concept Part 2 (5/24/2008)
- Rémi Forax: Javac + invokedynamic (5/22/2008)
- Jevgeni Kabanov: The JSR 292 — invokedynamic (5/21/2008)
- Jeroen Frijters: Invokedynamic Proof of Concept (5/20/2008)
- John Rose: invokedynamic goes public (5/20/2008)
- John Rose: the golden spike (5/10/2008)
- John Rose: dynamic invocation in the VM (5/7/2008)
- John Rose: JSR 292 meeting at JavaOne 2008 (5/6/2008)
- John Rose: interface injection in the VM (5/5/2008)
- John Rose: continuations in the VM (5/4/2008)
- John Rose: method handles in a nutshell (4/17/2008)
- Andrew Hughes: Virtual Machine Interface proposal (3/2/2008)
- InfoWorld on the Da Vinci Machine (formerly mlvm) (1/31/2008)
- John Rose on anonymous classes in the JVM (1/22/2008)
- Stack frame annotation in the JVM (1/20/2008)
- John Rose on an architecture for dynamic invocation (12/13/2007)
- Frank Cohen provides an update on JSR 292 expert group progress (11/10/2007)
- Charles Oliver Nutter proposes a new exception type called a jump (10/19/2007)
- John Rose on the kickoff meeting for JSR 292 (10/18/2007)
- John Rose proposes a new “multi-language VM” project (10/9/2007)
- John Rose proposes a tail call bytecode for Java 7 (7/12/2007)
- Charles Nutter on the JSR 292 Summit wrap up (5/10/2007)
- InfoQ on on the DLR and the JVM (5/7/2007)
- Neil Bartlett responds to Alex’s post (5/2/2007)
- Alex Blewitt on the JVM, CLR, and the future (5/1/2007)
- Gilad Bracha on invokedynamic and other work for dynamic languages (3/23/2007)
- Abaht Owt (1/29/2007)
- Charles Nutter (JRuby) (1/3/2007)
- Interview with Danny Coward (12/11/2006)
- A. Sundararajan (9/1/2006)
- Gilad Bracha (3/17/2006)
- Steve Goldman updates on problems with tiered compilation (8/21/2007)
- Interview with Cliff Click that talks a little about tiered compilation (7/26/2007)
- More from Steve Goldman on the state of tiered compilation (4/11/2007)
- Steve Goldman on tiered compilation almost available in Java 7 builds (3/30/2007)
- Steve Goldman on tiered compilation and batch mode (6/22/2006)
- JavaLobby thread (4/26/2006)
- JavaGaming thread (4/24/2006)
- InfoQ: Sun’s Garbage First Collector Largely Eliminates Low Latency/High Throughput Tradeoff (4/16/2009)
- Vikram Aroskar: 3 Differences between CMS and G1 : Random Writes (1/9/2009)
- Danny Coward: Trying a new Garbage Collector for JDK 7 (11/12/2008)
- Kirk Pepperdine: It’s Past Time to Upgrade (8/28/2008)
- JavaOne Interview: Tony Printezis and G1 garbage collector (5/10/2008)
- Daniel Ehrenberg: Some more advanced GC techniques (3/25/2008)
- Jon Masamitsu describes the G1 collector (2/1/2008) </ul>
- A. Sundararajan with an update on JSR 223 and scripting support for JavaFX Script, OCaml, and Smalltalk (11/12/2007)
- January 10th
- December 28th, 18th, 10th
- November 30th, 20th, 12th, 11th, 3rd
- October 29th, 18th, 11th, 2nd
- September 24th, 17th, 10th, 3rd
- August 27th, 20th, 13th
- July 31st, 19th, 8th
- June 28th, 19th, 13th, 7th
- May 30th, 21st, 9th, 2nd
- April 25th, 18th, 11th, 4th
- March 27th, 20th, 13th, 6th
- February 28th, 21st, 14th, 7th
</ul>
Proposals for Enhanced null handling
Description: Null-ignore invocation is concerned with dealing with possible null values in calling one or especially a chain of methods.
For example, instead of
public String getPostcode(Person person) {
if (person != null) {
Address address = person.getAddress();
if (address != null) {
return address.getPostcode();
}
}
return null;
}you could instead call:
public String getPostcode(Person person) {
return person?.getAddress()?.getPostcode();
}Another issue concerns how to handle common if-null scenarios with a shortened form of the ternary operator specific to nulls. So rather than:
String str = getStringMayBeNull();
str = (str == null ? "" : str);you might do:
String str = getStringMayBeNull() ?: "";
Null safe types is another proposal similar in some ways to the JSR 305/308 annotation proposal for annotating whether parameters may or may not be null.
Blogs:
Proposals Multicatch and Rethrown
Description: First, allow catch to catch multiple exceptions and handle them identically using the “|” operator in the catch block:
try {
return klass.newInstance();
} catch (InstantiationException | IllegalAccessException e) {
throw new AssertionError(e);
}Second, allow better ways to rethrow exceptions. Generally, programmers often catch a broader exception, handle (for example, via logging), then rethrow. When they rethrow, they must indicate what is being thrown on the method often causing them to either broaden the scope of the thrown exception to a common parent OR wrap the exception. This enhancement allows you to add final to the catch block indicating that a throw will happen on only the thrown checked exceptions within the try block:
try {
doable.doIt();
} catch (final Throwable ex) {
logger.log(ex);// surrounding method can declare only checked thrown by doIt()
throw ex;
}Blogs:
JSR 292 | DaVinci Machine Projects
Description: Introduces a new bytecode
invokedynamic
for support of dynamic languages.Blogs:
Description: Tiered compilation uses a mix of the client (JIT) and server hot spot compilers – the client engine improves startup time by using JIT over interpreted and the server hot spot compiler gives better optimization for hot spots over time.
Blogs:
Description: The G1 (for “garbage first”) is a single collector that divides the entire space into regions and allows a set of regions to be collected, rather than split the space into an arbitrary young and old generation. Sun intends to make this new collector the default in Java 7. (This applies only to the Sun JDK.)
Blogs:
Description: Add additional language interpreters to JSE. The JavaScript Rhino engine was added in Java 6. Leading candidates for Java 7 are: JRuby, Jython, and Beanshell.
Blogs:
Weekly Roundup
2008
2007
-