Join the Java Evolution NYC
-
Upload
heather-vancura -
Category
Technology
-
view
79 -
download
2
Transcript of Join the Java Evolution NYC
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Participate in the Future of Java
Heather VanCura Email heatherjcporg
Twitter heathervc
June 2016 NYC
What Runs Java
3
4
9 Million Java developers
3 Billion devices
1 Choice for developers
1 Development platform
Ubiquitous
Scalable amp Secure
5
Compatible
6
Collaboratively Developed - Community
7
Heather VanCura Java Community Process (JCP) Program
bullDirector of the JCP Program Office
bullLeader of Global Adopt-a-JSR Programs
bullOpen Source Fan
bullNative Californian - from San Diego
bullPersonal Interests Fun
Bay Area California - USA
History
bull1995 Sun Microsystems develops Java
9
History
bull1995 Sun Microsystems develops Java
bull1999 Sun opens up the development process creating the Java Community Process
10
History
bull1995 Sun Microsystems develops Java
bull1999 Sun opens up the development process creating the Java Community Process
bull2006 Sun open-sources Java
11
History
bull1995 Sun Microsystems develops Java
bull1999 Sun opens up the development process creating the Java Community Process
bull2006 Sun open-sources Java
bull2007 Sun goes into financial decline
12
History
bull1995 Sun Microsystems develops Java
bull1999 Sun opens up the development process creating the Java Community Process
bull2006 Sun open-sources Java
bull2007 Sun goes into financial decline
bull2010 Oracle acquires Sun and becomes the steward of Java
13
14
Organization
15
bull
16
Who Are The Members
httpsjcporgenparticipationmembership
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
The Executive Committee
17
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
Work of the JCP ndash How We Do It
bull Java Specification Requests (JSRs)
bull A JSR is a single version of a Java specification
bull JSRs are led by a community member (the Spec Lead) with a group of interested members (the Expert Group) helping with the day-to-day decisions and work
bull Any JCP member can submit and lead a JSR
bull Each Expert Group must deliver
bull The Specification
bull A Reference Implementation (RI)
bull A Technology Compatibility Kit (TCK)
bull 18
Compatibility Triangle
Can you build an implementation
Is the specification unambiguous
Is the TCK correct Does the RI conform
19
The JSR Development Cycle
bullIncludes formal public reviews and votes by the Executive Committee
bullFull Members can submit amp lead JSRs serve on JSR Expert Groups
bullSee the Process Document for the details
20
How else can you get involved
bullShare ideas and feedback comment on list and public issue trackers
bullRead early versions of specifications and Javadocs
bullTry writing sample applications using early builds of reference implementation
bullWrite or speak about the technology and encourage others to participate Translate into your native language
Evangelize the JSR -social media blogging or lightning talks
Help with documentation
bull 21
How Open Standards amp Open Source
22
Complimentary bullOpen source important requirement So are Standards
bull Coop-etition Agree on what to standardize (cooperation) amp what to complete on (implementations)
bullOpen standards implemented in open source = easier to implement standard amp for developers to understand technology
bull Results in more implementations and greater adoption of the standard
bullAn effective way to develop a standard-start with an open source project that has demonstrated the need for standardization
bull 23
Open Source Implementations
bullThe Reference Implementations of the Java SE and Java EE platforms are also developed collaboratively and released under open-source licenses
ndashJava SE OpenJDK
ndashJava EE Project GlassFish
24
Click icon to add picture
Why Participate
1 Knowledge 2 Skills 3 Visibility 4 Altruism 5 Fun
25
Click icon to add picture Joining the JCP empowers you to
bull Take Initiative ndash Requirements
bull Adapt and Inform
bull Develop New Markets
bull Grow Developers
26
Why Participate as Corporation
Click icon to add picture
How
bullNew revisions of each of the three platforms
bull ldquoJCPNextrdquo reforms
bullIncreased participation from Java User Groups
2011 - Present Day
27
Java EE 7 (JSR 342) ndash May 2013
28
Java ME 8 (JSRs 360 amp 361) ndash April 2014
29
Java SE 8 JSR 337 - March 2014
30
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext (JSR 348)
33
JCPnext (JSR 355)
34
JCPnext4 (JSR 364) JCPnext (JSR 364)
36
Eliminate Barriers to participation
Introduce new Membership levels
No Membership Fees
Electronic Signatures
Add Contributors for JSR Expert Groups
Add Associate Seats on Executive Committee
JCP 210 Broadening JCP Membership
37
Associate Members are individuals who can contribute to JSRs and vote for the Executive Committee
Partner Members are Java User Groups and other non-profit organizations that can serve on and vote for the Executive Committee
Full Members can serve on Expert Groups lead JSRs serve on and vote for the Executive Committee
Memberships
The JCP is More Open Than Before
38
How will you Participate
bullAs an Individual ndash OK
bullAs part of a team ndash better
bullWork through your JUG or employer
ndashHelp each other
ndashTeach other
ndashWork with each other
Working Together ndash JavaOne 2016 in September httpswwwyoutubecomwatchv=J5_MH5jCYh0
40
Adopt-a-JSR
A JUG-lead initiative to improve Java standards
Global groups of JUG members work on JSRs
ndashReceive attention from local industry
ndashBecome more professional ndash helps focus your group efforts
ndashAttract more developers to your community
JUGs around the World
43
Chennai JUG
JSR 338 Java Persistence 21
JSR 344 JSF 22
JSR 352 Batch
JSR 353 JSON
JSR 356 WebSocket
Developed sample lsquoUrban Travelerrsquo application
Use Cases
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
What Runs Java
3
4
9 Million Java developers
3 Billion devices
1 Choice for developers
1 Development platform
Ubiquitous
Scalable amp Secure
5
Compatible
6
Collaboratively Developed - Community
7
Heather VanCura Java Community Process (JCP) Program
bullDirector of the JCP Program Office
bullLeader of Global Adopt-a-JSR Programs
bullOpen Source Fan
bullNative Californian - from San Diego
bullPersonal Interests Fun
Bay Area California - USA
History
bull1995 Sun Microsystems develops Java
9
History
bull1995 Sun Microsystems develops Java
bull1999 Sun opens up the development process creating the Java Community Process
10
History
bull1995 Sun Microsystems develops Java
bull1999 Sun opens up the development process creating the Java Community Process
bull2006 Sun open-sources Java
11
History
bull1995 Sun Microsystems develops Java
bull1999 Sun opens up the development process creating the Java Community Process
bull2006 Sun open-sources Java
bull2007 Sun goes into financial decline
12
History
bull1995 Sun Microsystems develops Java
bull1999 Sun opens up the development process creating the Java Community Process
bull2006 Sun open-sources Java
bull2007 Sun goes into financial decline
bull2010 Oracle acquires Sun and becomes the steward of Java
13
14
Organization
15
bull
16
Who Are The Members
httpsjcporgenparticipationmembership
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
The Executive Committee
17
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
Work of the JCP ndash How We Do It
bull Java Specification Requests (JSRs)
bull A JSR is a single version of a Java specification
bull JSRs are led by a community member (the Spec Lead) with a group of interested members (the Expert Group) helping with the day-to-day decisions and work
bull Any JCP member can submit and lead a JSR
bull Each Expert Group must deliver
bull The Specification
bull A Reference Implementation (RI)
bull A Technology Compatibility Kit (TCK)
bull 18
Compatibility Triangle
Can you build an implementation
Is the specification unambiguous
Is the TCK correct Does the RI conform
19
The JSR Development Cycle
bullIncludes formal public reviews and votes by the Executive Committee
bullFull Members can submit amp lead JSRs serve on JSR Expert Groups
bullSee the Process Document for the details
20
How else can you get involved
bullShare ideas and feedback comment on list and public issue trackers
bullRead early versions of specifications and Javadocs
bullTry writing sample applications using early builds of reference implementation
bullWrite or speak about the technology and encourage others to participate Translate into your native language
Evangelize the JSR -social media blogging or lightning talks
Help with documentation
bull 21
How Open Standards amp Open Source
22
Complimentary bullOpen source important requirement So are Standards
bull Coop-etition Agree on what to standardize (cooperation) amp what to complete on (implementations)
bullOpen standards implemented in open source = easier to implement standard amp for developers to understand technology
bull Results in more implementations and greater adoption of the standard
bullAn effective way to develop a standard-start with an open source project that has demonstrated the need for standardization
bull 23
Open Source Implementations
bullThe Reference Implementations of the Java SE and Java EE platforms are also developed collaboratively and released under open-source licenses
ndashJava SE OpenJDK
ndashJava EE Project GlassFish
24
Click icon to add picture
Why Participate
1 Knowledge 2 Skills 3 Visibility 4 Altruism 5 Fun
25
Click icon to add picture Joining the JCP empowers you to
bull Take Initiative ndash Requirements
bull Adapt and Inform
bull Develop New Markets
bull Grow Developers
26
Why Participate as Corporation
Click icon to add picture
How
bullNew revisions of each of the three platforms
bull ldquoJCPNextrdquo reforms
bullIncreased participation from Java User Groups
2011 - Present Day
27
Java EE 7 (JSR 342) ndash May 2013
28
Java ME 8 (JSRs 360 amp 361) ndash April 2014
29
Java SE 8 JSR 337 - March 2014
30
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext (JSR 348)
33
JCPnext (JSR 355)
34
JCPnext4 (JSR 364) JCPnext (JSR 364)
36
Eliminate Barriers to participation
Introduce new Membership levels
No Membership Fees
Electronic Signatures
Add Contributors for JSR Expert Groups
Add Associate Seats on Executive Committee
JCP 210 Broadening JCP Membership
37
Associate Members are individuals who can contribute to JSRs and vote for the Executive Committee
Partner Members are Java User Groups and other non-profit organizations that can serve on and vote for the Executive Committee
Full Members can serve on Expert Groups lead JSRs serve on and vote for the Executive Committee
Memberships
The JCP is More Open Than Before
38
How will you Participate
bullAs an Individual ndash OK
bullAs part of a team ndash better
bullWork through your JUG or employer
ndashHelp each other
ndashTeach other
ndashWork with each other
Working Together ndash JavaOne 2016 in September httpswwwyoutubecomwatchv=J5_MH5jCYh0
40
Adopt-a-JSR
A JUG-lead initiative to improve Java standards
Global groups of JUG members work on JSRs
ndashReceive attention from local industry
ndashBecome more professional ndash helps focus your group efforts
ndashAttract more developers to your community
JUGs around the World
43
Chennai JUG
JSR 338 Java Persistence 21
JSR 344 JSF 22
JSR 352 Batch
JSR 353 JSON
JSR 356 WebSocket
Developed sample lsquoUrban Travelerrsquo application
Use Cases
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
4
9 Million Java developers
3 Billion devices
1 Choice for developers
1 Development platform
Ubiquitous
Scalable amp Secure
5
Compatible
6
Collaboratively Developed - Community
7
Heather VanCura Java Community Process (JCP) Program
bullDirector of the JCP Program Office
bullLeader of Global Adopt-a-JSR Programs
bullOpen Source Fan
bullNative Californian - from San Diego
bullPersonal Interests Fun
Bay Area California - USA
History
bull1995 Sun Microsystems develops Java
9
History
bull1995 Sun Microsystems develops Java
bull1999 Sun opens up the development process creating the Java Community Process
10
History
bull1995 Sun Microsystems develops Java
bull1999 Sun opens up the development process creating the Java Community Process
bull2006 Sun open-sources Java
11
History
bull1995 Sun Microsystems develops Java
bull1999 Sun opens up the development process creating the Java Community Process
bull2006 Sun open-sources Java
bull2007 Sun goes into financial decline
12
History
bull1995 Sun Microsystems develops Java
bull1999 Sun opens up the development process creating the Java Community Process
bull2006 Sun open-sources Java
bull2007 Sun goes into financial decline
bull2010 Oracle acquires Sun and becomes the steward of Java
13
14
Organization
15
bull
16
Who Are The Members
httpsjcporgenparticipationmembership
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
The Executive Committee
17
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
Work of the JCP ndash How We Do It
bull Java Specification Requests (JSRs)
bull A JSR is a single version of a Java specification
bull JSRs are led by a community member (the Spec Lead) with a group of interested members (the Expert Group) helping with the day-to-day decisions and work
bull Any JCP member can submit and lead a JSR
bull Each Expert Group must deliver
bull The Specification
bull A Reference Implementation (RI)
bull A Technology Compatibility Kit (TCK)
bull 18
Compatibility Triangle
Can you build an implementation
Is the specification unambiguous
Is the TCK correct Does the RI conform
19
The JSR Development Cycle
bullIncludes formal public reviews and votes by the Executive Committee
bullFull Members can submit amp lead JSRs serve on JSR Expert Groups
bullSee the Process Document for the details
20
How else can you get involved
bullShare ideas and feedback comment on list and public issue trackers
bullRead early versions of specifications and Javadocs
bullTry writing sample applications using early builds of reference implementation
bullWrite or speak about the technology and encourage others to participate Translate into your native language
Evangelize the JSR -social media blogging or lightning talks
Help with documentation
bull 21
How Open Standards amp Open Source
22
Complimentary bullOpen source important requirement So are Standards
bull Coop-etition Agree on what to standardize (cooperation) amp what to complete on (implementations)
bullOpen standards implemented in open source = easier to implement standard amp for developers to understand technology
bull Results in more implementations and greater adoption of the standard
bullAn effective way to develop a standard-start with an open source project that has demonstrated the need for standardization
bull 23
Open Source Implementations
bullThe Reference Implementations of the Java SE and Java EE platforms are also developed collaboratively and released under open-source licenses
ndashJava SE OpenJDK
ndashJava EE Project GlassFish
24
Click icon to add picture
Why Participate
1 Knowledge 2 Skills 3 Visibility 4 Altruism 5 Fun
25
Click icon to add picture Joining the JCP empowers you to
bull Take Initiative ndash Requirements
bull Adapt and Inform
bull Develop New Markets
bull Grow Developers
26
Why Participate as Corporation
Click icon to add picture
How
bullNew revisions of each of the three platforms
bull ldquoJCPNextrdquo reforms
bullIncreased participation from Java User Groups
2011 - Present Day
27
Java EE 7 (JSR 342) ndash May 2013
28
Java ME 8 (JSRs 360 amp 361) ndash April 2014
29
Java SE 8 JSR 337 - March 2014
30
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext (JSR 348)
33
JCPnext (JSR 355)
34
JCPnext4 (JSR 364) JCPnext (JSR 364)
36
Eliminate Barriers to participation
Introduce new Membership levels
No Membership Fees
Electronic Signatures
Add Contributors for JSR Expert Groups
Add Associate Seats on Executive Committee
JCP 210 Broadening JCP Membership
37
Associate Members are individuals who can contribute to JSRs and vote for the Executive Committee
Partner Members are Java User Groups and other non-profit organizations that can serve on and vote for the Executive Committee
Full Members can serve on Expert Groups lead JSRs serve on and vote for the Executive Committee
Memberships
The JCP is More Open Than Before
38
How will you Participate
bullAs an Individual ndash OK
bullAs part of a team ndash better
bullWork through your JUG or employer
ndashHelp each other
ndashTeach other
ndashWork with each other
Working Together ndash JavaOne 2016 in September httpswwwyoutubecomwatchv=J5_MH5jCYh0
40
Adopt-a-JSR
A JUG-lead initiative to improve Java standards
Global groups of JUG members work on JSRs
ndashReceive attention from local industry
ndashBecome more professional ndash helps focus your group efforts
ndashAttract more developers to your community
JUGs around the World
43
Chennai JUG
JSR 338 Java Persistence 21
JSR 344 JSF 22
JSR 352 Batch
JSR 353 JSON
JSR 356 WebSocket
Developed sample lsquoUrban Travelerrsquo application
Use Cases
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
Scalable amp Secure
5
Compatible
6
Collaboratively Developed - Community
7
Heather VanCura Java Community Process (JCP) Program
bullDirector of the JCP Program Office
bullLeader of Global Adopt-a-JSR Programs
bullOpen Source Fan
bullNative Californian - from San Diego
bullPersonal Interests Fun
Bay Area California - USA
History
bull1995 Sun Microsystems develops Java
9
History
bull1995 Sun Microsystems develops Java
bull1999 Sun opens up the development process creating the Java Community Process
10
History
bull1995 Sun Microsystems develops Java
bull1999 Sun opens up the development process creating the Java Community Process
bull2006 Sun open-sources Java
11
History
bull1995 Sun Microsystems develops Java
bull1999 Sun opens up the development process creating the Java Community Process
bull2006 Sun open-sources Java
bull2007 Sun goes into financial decline
12
History
bull1995 Sun Microsystems develops Java
bull1999 Sun opens up the development process creating the Java Community Process
bull2006 Sun open-sources Java
bull2007 Sun goes into financial decline
bull2010 Oracle acquires Sun and becomes the steward of Java
13
14
Organization
15
bull
16
Who Are The Members
httpsjcporgenparticipationmembership
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
The Executive Committee
17
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
Work of the JCP ndash How We Do It
bull Java Specification Requests (JSRs)
bull A JSR is a single version of a Java specification
bull JSRs are led by a community member (the Spec Lead) with a group of interested members (the Expert Group) helping with the day-to-day decisions and work
bull Any JCP member can submit and lead a JSR
bull Each Expert Group must deliver
bull The Specification
bull A Reference Implementation (RI)
bull A Technology Compatibility Kit (TCK)
bull 18
Compatibility Triangle
Can you build an implementation
Is the specification unambiguous
Is the TCK correct Does the RI conform
19
The JSR Development Cycle
bullIncludes formal public reviews and votes by the Executive Committee
bullFull Members can submit amp lead JSRs serve on JSR Expert Groups
bullSee the Process Document for the details
20
How else can you get involved
bullShare ideas and feedback comment on list and public issue trackers
bullRead early versions of specifications and Javadocs
bullTry writing sample applications using early builds of reference implementation
bullWrite or speak about the technology and encourage others to participate Translate into your native language
Evangelize the JSR -social media blogging or lightning talks
Help with documentation
bull 21
How Open Standards amp Open Source
22
Complimentary bullOpen source important requirement So are Standards
bull Coop-etition Agree on what to standardize (cooperation) amp what to complete on (implementations)
bullOpen standards implemented in open source = easier to implement standard amp for developers to understand technology
bull Results in more implementations and greater adoption of the standard
bullAn effective way to develop a standard-start with an open source project that has demonstrated the need for standardization
bull 23
Open Source Implementations
bullThe Reference Implementations of the Java SE and Java EE platforms are also developed collaboratively and released under open-source licenses
ndashJava SE OpenJDK
ndashJava EE Project GlassFish
24
Click icon to add picture
Why Participate
1 Knowledge 2 Skills 3 Visibility 4 Altruism 5 Fun
25
Click icon to add picture Joining the JCP empowers you to
bull Take Initiative ndash Requirements
bull Adapt and Inform
bull Develop New Markets
bull Grow Developers
26
Why Participate as Corporation
Click icon to add picture
How
bullNew revisions of each of the three platforms
bull ldquoJCPNextrdquo reforms
bullIncreased participation from Java User Groups
2011 - Present Day
27
Java EE 7 (JSR 342) ndash May 2013
28
Java ME 8 (JSRs 360 amp 361) ndash April 2014
29
Java SE 8 JSR 337 - March 2014
30
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext (JSR 348)
33
JCPnext (JSR 355)
34
JCPnext4 (JSR 364) JCPnext (JSR 364)
36
Eliminate Barriers to participation
Introduce new Membership levels
No Membership Fees
Electronic Signatures
Add Contributors for JSR Expert Groups
Add Associate Seats on Executive Committee
JCP 210 Broadening JCP Membership
37
Associate Members are individuals who can contribute to JSRs and vote for the Executive Committee
Partner Members are Java User Groups and other non-profit organizations that can serve on and vote for the Executive Committee
Full Members can serve on Expert Groups lead JSRs serve on and vote for the Executive Committee
Memberships
The JCP is More Open Than Before
38
How will you Participate
bullAs an Individual ndash OK
bullAs part of a team ndash better
bullWork through your JUG or employer
ndashHelp each other
ndashTeach other
ndashWork with each other
Working Together ndash JavaOne 2016 in September httpswwwyoutubecomwatchv=J5_MH5jCYh0
40
Adopt-a-JSR
A JUG-lead initiative to improve Java standards
Global groups of JUG members work on JSRs
ndashReceive attention from local industry
ndashBecome more professional ndash helps focus your group efforts
ndashAttract more developers to your community
JUGs around the World
43
Chennai JUG
JSR 338 Java Persistence 21
JSR 344 JSF 22
JSR 352 Batch
JSR 353 JSON
JSR 356 WebSocket
Developed sample lsquoUrban Travelerrsquo application
Use Cases
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
Compatible
6
Collaboratively Developed - Community
7
Heather VanCura Java Community Process (JCP) Program
bullDirector of the JCP Program Office
bullLeader of Global Adopt-a-JSR Programs
bullOpen Source Fan
bullNative Californian - from San Diego
bullPersonal Interests Fun
Bay Area California - USA
History
bull1995 Sun Microsystems develops Java
9
History
bull1995 Sun Microsystems develops Java
bull1999 Sun opens up the development process creating the Java Community Process
10
History
bull1995 Sun Microsystems develops Java
bull1999 Sun opens up the development process creating the Java Community Process
bull2006 Sun open-sources Java
11
History
bull1995 Sun Microsystems develops Java
bull1999 Sun opens up the development process creating the Java Community Process
bull2006 Sun open-sources Java
bull2007 Sun goes into financial decline
12
History
bull1995 Sun Microsystems develops Java
bull1999 Sun opens up the development process creating the Java Community Process
bull2006 Sun open-sources Java
bull2007 Sun goes into financial decline
bull2010 Oracle acquires Sun and becomes the steward of Java
13
14
Organization
15
bull
16
Who Are The Members
httpsjcporgenparticipationmembership
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
The Executive Committee
17
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
Work of the JCP ndash How We Do It
bull Java Specification Requests (JSRs)
bull A JSR is a single version of a Java specification
bull JSRs are led by a community member (the Spec Lead) with a group of interested members (the Expert Group) helping with the day-to-day decisions and work
bull Any JCP member can submit and lead a JSR
bull Each Expert Group must deliver
bull The Specification
bull A Reference Implementation (RI)
bull A Technology Compatibility Kit (TCK)
bull 18
Compatibility Triangle
Can you build an implementation
Is the specification unambiguous
Is the TCK correct Does the RI conform
19
The JSR Development Cycle
bullIncludes formal public reviews and votes by the Executive Committee
bullFull Members can submit amp lead JSRs serve on JSR Expert Groups
bullSee the Process Document for the details
20
How else can you get involved
bullShare ideas and feedback comment on list and public issue trackers
bullRead early versions of specifications and Javadocs
bullTry writing sample applications using early builds of reference implementation
bullWrite or speak about the technology and encourage others to participate Translate into your native language
Evangelize the JSR -social media blogging or lightning talks
Help with documentation
bull 21
How Open Standards amp Open Source
22
Complimentary bullOpen source important requirement So are Standards
bull Coop-etition Agree on what to standardize (cooperation) amp what to complete on (implementations)
bullOpen standards implemented in open source = easier to implement standard amp for developers to understand technology
bull Results in more implementations and greater adoption of the standard
bullAn effective way to develop a standard-start with an open source project that has demonstrated the need for standardization
bull 23
Open Source Implementations
bullThe Reference Implementations of the Java SE and Java EE platforms are also developed collaboratively and released under open-source licenses
ndashJava SE OpenJDK
ndashJava EE Project GlassFish
24
Click icon to add picture
Why Participate
1 Knowledge 2 Skills 3 Visibility 4 Altruism 5 Fun
25
Click icon to add picture Joining the JCP empowers you to
bull Take Initiative ndash Requirements
bull Adapt and Inform
bull Develop New Markets
bull Grow Developers
26
Why Participate as Corporation
Click icon to add picture
How
bullNew revisions of each of the three platforms
bull ldquoJCPNextrdquo reforms
bullIncreased participation from Java User Groups
2011 - Present Day
27
Java EE 7 (JSR 342) ndash May 2013
28
Java ME 8 (JSRs 360 amp 361) ndash April 2014
29
Java SE 8 JSR 337 - March 2014
30
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext (JSR 348)
33
JCPnext (JSR 355)
34
JCPnext4 (JSR 364) JCPnext (JSR 364)
36
Eliminate Barriers to participation
Introduce new Membership levels
No Membership Fees
Electronic Signatures
Add Contributors for JSR Expert Groups
Add Associate Seats on Executive Committee
JCP 210 Broadening JCP Membership
37
Associate Members are individuals who can contribute to JSRs and vote for the Executive Committee
Partner Members are Java User Groups and other non-profit organizations that can serve on and vote for the Executive Committee
Full Members can serve on Expert Groups lead JSRs serve on and vote for the Executive Committee
Memberships
The JCP is More Open Than Before
38
How will you Participate
bullAs an Individual ndash OK
bullAs part of a team ndash better
bullWork through your JUG or employer
ndashHelp each other
ndashTeach other
ndashWork with each other
Working Together ndash JavaOne 2016 in September httpswwwyoutubecomwatchv=J5_MH5jCYh0
40
Adopt-a-JSR
A JUG-lead initiative to improve Java standards
Global groups of JUG members work on JSRs
ndashReceive attention from local industry
ndashBecome more professional ndash helps focus your group efforts
ndashAttract more developers to your community
JUGs around the World
43
Chennai JUG
JSR 338 Java Persistence 21
JSR 344 JSF 22
JSR 352 Batch
JSR 353 JSON
JSR 356 WebSocket
Developed sample lsquoUrban Travelerrsquo application
Use Cases
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
Collaboratively Developed - Community
7
Heather VanCura Java Community Process (JCP) Program
bullDirector of the JCP Program Office
bullLeader of Global Adopt-a-JSR Programs
bullOpen Source Fan
bullNative Californian - from San Diego
bullPersonal Interests Fun
Bay Area California - USA
History
bull1995 Sun Microsystems develops Java
9
History
bull1995 Sun Microsystems develops Java
bull1999 Sun opens up the development process creating the Java Community Process
10
History
bull1995 Sun Microsystems develops Java
bull1999 Sun opens up the development process creating the Java Community Process
bull2006 Sun open-sources Java
11
History
bull1995 Sun Microsystems develops Java
bull1999 Sun opens up the development process creating the Java Community Process
bull2006 Sun open-sources Java
bull2007 Sun goes into financial decline
12
History
bull1995 Sun Microsystems develops Java
bull1999 Sun opens up the development process creating the Java Community Process
bull2006 Sun open-sources Java
bull2007 Sun goes into financial decline
bull2010 Oracle acquires Sun and becomes the steward of Java
13
14
Organization
15
bull
16
Who Are The Members
httpsjcporgenparticipationmembership
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
The Executive Committee
17
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
Work of the JCP ndash How We Do It
bull Java Specification Requests (JSRs)
bull A JSR is a single version of a Java specification
bull JSRs are led by a community member (the Spec Lead) with a group of interested members (the Expert Group) helping with the day-to-day decisions and work
bull Any JCP member can submit and lead a JSR
bull Each Expert Group must deliver
bull The Specification
bull A Reference Implementation (RI)
bull A Technology Compatibility Kit (TCK)
bull 18
Compatibility Triangle
Can you build an implementation
Is the specification unambiguous
Is the TCK correct Does the RI conform
19
The JSR Development Cycle
bullIncludes formal public reviews and votes by the Executive Committee
bullFull Members can submit amp lead JSRs serve on JSR Expert Groups
bullSee the Process Document for the details
20
How else can you get involved
bullShare ideas and feedback comment on list and public issue trackers
bullRead early versions of specifications and Javadocs
bullTry writing sample applications using early builds of reference implementation
bullWrite or speak about the technology and encourage others to participate Translate into your native language
Evangelize the JSR -social media blogging or lightning talks
Help with documentation
bull 21
How Open Standards amp Open Source
22
Complimentary bullOpen source important requirement So are Standards
bull Coop-etition Agree on what to standardize (cooperation) amp what to complete on (implementations)
bullOpen standards implemented in open source = easier to implement standard amp for developers to understand technology
bull Results in more implementations and greater adoption of the standard
bullAn effective way to develop a standard-start with an open source project that has demonstrated the need for standardization
bull 23
Open Source Implementations
bullThe Reference Implementations of the Java SE and Java EE platforms are also developed collaboratively and released under open-source licenses
ndashJava SE OpenJDK
ndashJava EE Project GlassFish
24
Click icon to add picture
Why Participate
1 Knowledge 2 Skills 3 Visibility 4 Altruism 5 Fun
25
Click icon to add picture Joining the JCP empowers you to
bull Take Initiative ndash Requirements
bull Adapt and Inform
bull Develop New Markets
bull Grow Developers
26
Why Participate as Corporation
Click icon to add picture
How
bullNew revisions of each of the three platforms
bull ldquoJCPNextrdquo reforms
bullIncreased participation from Java User Groups
2011 - Present Day
27
Java EE 7 (JSR 342) ndash May 2013
28
Java ME 8 (JSRs 360 amp 361) ndash April 2014
29
Java SE 8 JSR 337 - March 2014
30
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext (JSR 348)
33
JCPnext (JSR 355)
34
JCPnext4 (JSR 364) JCPnext (JSR 364)
36
Eliminate Barriers to participation
Introduce new Membership levels
No Membership Fees
Electronic Signatures
Add Contributors for JSR Expert Groups
Add Associate Seats on Executive Committee
JCP 210 Broadening JCP Membership
37
Associate Members are individuals who can contribute to JSRs and vote for the Executive Committee
Partner Members are Java User Groups and other non-profit organizations that can serve on and vote for the Executive Committee
Full Members can serve on Expert Groups lead JSRs serve on and vote for the Executive Committee
Memberships
The JCP is More Open Than Before
38
How will you Participate
bullAs an Individual ndash OK
bullAs part of a team ndash better
bullWork through your JUG or employer
ndashHelp each other
ndashTeach other
ndashWork with each other
Working Together ndash JavaOne 2016 in September httpswwwyoutubecomwatchv=J5_MH5jCYh0
40
Adopt-a-JSR
A JUG-lead initiative to improve Java standards
Global groups of JUG members work on JSRs
ndashReceive attention from local industry
ndashBecome more professional ndash helps focus your group efforts
ndashAttract more developers to your community
JUGs around the World
43
Chennai JUG
JSR 338 Java Persistence 21
JSR 344 JSF 22
JSR 352 Batch
JSR 353 JSON
JSR 356 WebSocket
Developed sample lsquoUrban Travelerrsquo application
Use Cases
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
Heather VanCura Java Community Process (JCP) Program
bullDirector of the JCP Program Office
bullLeader of Global Adopt-a-JSR Programs
bullOpen Source Fan
bullNative Californian - from San Diego
bullPersonal Interests Fun
Bay Area California - USA
History
bull1995 Sun Microsystems develops Java
9
History
bull1995 Sun Microsystems develops Java
bull1999 Sun opens up the development process creating the Java Community Process
10
History
bull1995 Sun Microsystems develops Java
bull1999 Sun opens up the development process creating the Java Community Process
bull2006 Sun open-sources Java
11
History
bull1995 Sun Microsystems develops Java
bull1999 Sun opens up the development process creating the Java Community Process
bull2006 Sun open-sources Java
bull2007 Sun goes into financial decline
12
History
bull1995 Sun Microsystems develops Java
bull1999 Sun opens up the development process creating the Java Community Process
bull2006 Sun open-sources Java
bull2007 Sun goes into financial decline
bull2010 Oracle acquires Sun and becomes the steward of Java
13
14
Organization
15
bull
16
Who Are The Members
httpsjcporgenparticipationmembership
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
The Executive Committee
17
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
Work of the JCP ndash How We Do It
bull Java Specification Requests (JSRs)
bull A JSR is a single version of a Java specification
bull JSRs are led by a community member (the Spec Lead) with a group of interested members (the Expert Group) helping with the day-to-day decisions and work
bull Any JCP member can submit and lead a JSR
bull Each Expert Group must deliver
bull The Specification
bull A Reference Implementation (RI)
bull A Technology Compatibility Kit (TCK)
bull 18
Compatibility Triangle
Can you build an implementation
Is the specification unambiguous
Is the TCK correct Does the RI conform
19
The JSR Development Cycle
bullIncludes formal public reviews and votes by the Executive Committee
bullFull Members can submit amp lead JSRs serve on JSR Expert Groups
bullSee the Process Document for the details
20
How else can you get involved
bullShare ideas and feedback comment on list and public issue trackers
bullRead early versions of specifications and Javadocs
bullTry writing sample applications using early builds of reference implementation
bullWrite or speak about the technology and encourage others to participate Translate into your native language
Evangelize the JSR -social media blogging or lightning talks
Help with documentation
bull 21
How Open Standards amp Open Source
22
Complimentary bullOpen source important requirement So are Standards
bull Coop-etition Agree on what to standardize (cooperation) amp what to complete on (implementations)
bullOpen standards implemented in open source = easier to implement standard amp for developers to understand technology
bull Results in more implementations and greater adoption of the standard
bullAn effective way to develop a standard-start with an open source project that has demonstrated the need for standardization
bull 23
Open Source Implementations
bullThe Reference Implementations of the Java SE and Java EE platforms are also developed collaboratively and released under open-source licenses
ndashJava SE OpenJDK
ndashJava EE Project GlassFish
24
Click icon to add picture
Why Participate
1 Knowledge 2 Skills 3 Visibility 4 Altruism 5 Fun
25
Click icon to add picture Joining the JCP empowers you to
bull Take Initiative ndash Requirements
bull Adapt and Inform
bull Develop New Markets
bull Grow Developers
26
Why Participate as Corporation
Click icon to add picture
How
bullNew revisions of each of the three platforms
bull ldquoJCPNextrdquo reforms
bullIncreased participation from Java User Groups
2011 - Present Day
27
Java EE 7 (JSR 342) ndash May 2013
28
Java ME 8 (JSRs 360 amp 361) ndash April 2014
29
Java SE 8 JSR 337 - March 2014
30
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext (JSR 348)
33
JCPnext (JSR 355)
34
JCPnext4 (JSR 364) JCPnext (JSR 364)
36
Eliminate Barriers to participation
Introduce new Membership levels
No Membership Fees
Electronic Signatures
Add Contributors for JSR Expert Groups
Add Associate Seats on Executive Committee
JCP 210 Broadening JCP Membership
37
Associate Members are individuals who can contribute to JSRs and vote for the Executive Committee
Partner Members are Java User Groups and other non-profit organizations that can serve on and vote for the Executive Committee
Full Members can serve on Expert Groups lead JSRs serve on and vote for the Executive Committee
Memberships
The JCP is More Open Than Before
38
How will you Participate
bullAs an Individual ndash OK
bullAs part of a team ndash better
bullWork through your JUG or employer
ndashHelp each other
ndashTeach other
ndashWork with each other
Working Together ndash JavaOne 2016 in September httpswwwyoutubecomwatchv=J5_MH5jCYh0
40
Adopt-a-JSR
A JUG-lead initiative to improve Java standards
Global groups of JUG members work on JSRs
ndashReceive attention from local industry
ndashBecome more professional ndash helps focus your group efforts
ndashAttract more developers to your community
JUGs around the World
43
Chennai JUG
JSR 338 Java Persistence 21
JSR 344 JSF 22
JSR 352 Batch
JSR 353 JSON
JSR 356 WebSocket
Developed sample lsquoUrban Travelerrsquo application
Use Cases
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
History
bull1995 Sun Microsystems develops Java
9
History
bull1995 Sun Microsystems develops Java
bull1999 Sun opens up the development process creating the Java Community Process
10
History
bull1995 Sun Microsystems develops Java
bull1999 Sun opens up the development process creating the Java Community Process
bull2006 Sun open-sources Java
11
History
bull1995 Sun Microsystems develops Java
bull1999 Sun opens up the development process creating the Java Community Process
bull2006 Sun open-sources Java
bull2007 Sun goes into financial decline
12
History
bull1995 Sun Microsystems develops Java
bull1999 Sun opens up the development process creating the Java Community Process
bull2006 Sun open-sources Java
bull2007 Sun goes into financial decline
bull2010 Oracle acquires Sun and becomes the steward of Java
13
14
Organization
15
bull
16
Who Are The Members
httpsjcporgenparticipationmembership
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
The Executive Committee
17
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
Work of the JCP ndash How We Do It
bull Java Specification Requests (JSRs)
bull A JSR is a single version of a Java specification
bull JSRs are led by a community member (the Spec Lead) with a group of interested members (the Expert Group) helping with the day-to-day decisions and work
bull Any JCP member can submit and lead a JSR
bull Each Expert Group must deliver
bull The Specification
bull A Reference Implementation (RI)
bull A Technology Compatibility Kit (TCK)
bull 18
Compatibility Triangle
Can you build an implementation
Is the specification unambiguous
Is the TCK correct Does the RI conform
19
The JSR Development Cycle
bullIncludes formal public reviews and votes by the Executive Committee
bullFull Members can submit amp lead JSRs serve on JSR Expert Groups
bullSee the Process Document for the details
20
How else can you get involved
bullShare ideas and feedback comment on list and public issue trackers
bullRead early versions of specifications and Javadocs
bullTry writing sample applications using early builds of reference implementation
bullWrite or speak about the technology and encourage others to participate Translate into your native language
Evangelize the JSR -social media blogging or lightning talks
Help with documentation
bull 21
How Open Standards amp Open Source
22
Complimentary bullOpen source important requirement So are Standards
bull Coop-etition Agree on what to standardize (cooperation) amp what to complete on (implementations)
bullOpen standards implemented in open source = easier to implement standard amp for developers to understand technology
bull Results in more implementations and greater adoption of the standard
bullAn effective way to develop a standard-start with an open source project that has demonstrated the need for standardization
bull 23
Open Source Implementations
bullThe Reference Implementations of the Java SE and Java EE platforms are also developed collaboratively and released under open-source licenses
ndashJava SE OpenJDK
ndashJava EE Project GlassFish
24
Click icon to add picture
Why Participate
1 Knowledge 2 Skills 3 Visibility 4 Altruism 5 Fun
25
Click icon to add picture Joining the JCP empowers you to
bull Take Initiative ndash Requirements
bull Adapt and Inform
bull Develop New Markets
bull Grow Developers
26
Why Participate as Corporation
Click icon to add picture
How
bullNew revisions of each of the three platforms
bull ldquoJCPNextrdquo reforms
bullIncreased participation from Java User Groups
2011 - Present Day
27
Java EE 7 (JSR 342) ndash May 2013
28
Java ME 8 (JSRs 360 amp 361) ndash April 2014
29
Java SE 8 JSR 337 - March 2014
30
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext (JSR 348)
33
JCPnext (JSR 355)
34
JCPnext4 (JSR 364) JCPnext (JSR 364)
36
Eliminate Barriers to participation
Introduce new Membership levels
No Membership Fees
Electronic Signatures
Add Contributors for JSR Expert Groups
Add Associate Seats on Executive Committee
JCP 210 Broadening JCP Membership
37
Associate Members are individuals who can contribute to JSRs and vote for the Executive Committee
Partner Members are Java User Groups and other non-profit organizations that can serve on and vote for the Executive Committee
Full Members can serve on Expert Groups lead JSRs serve on and vote for the Executive Committee
Memberships
The JCP is More Open Than Before
38
How will you Participate
bullAs an Individual ndash OK
bullAs part of a team ndash better
bullWork through your JUG or employer
ndashHelp each other
ndashTeach other
ndashWork with each other
Working Together ndash JavaOne 2016 in September httpswwwyoutubecomwatchv=J5_MH5jCYh0
40
Adopt-a-JSR
A JUG-lead initiative to improve Java standards
Global groups of JUG members work on JSRs
ndashReceive attention from local industry
ndashBecome more professional ndash helps focus your group efforts
ndashAttract more developers to your community
JUGs around the World
43
Chennai JUG
JSR 338 Java Persistence 21
JSR 344 JSF 22
JSR 352 Batch
JSR 353 JSON
JSR 356 WebSocket
Developed sample lsquoUrban Travelerrsquo application
Use Cases
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
History
bull1995 Sun Microsystems develops Java
bull1999 Sun opens up the development process creating the Java Community Process
10
History
bull1995 Sun Microsystems develops Java
bull1999 Sun opens up the development process creating the Java Community Process
bull2006 Sun open-sources Java
11
History
bull1995 Sun Microsystems develops Java
bull1999 Sun opens up the development process creating the Java Community Process
bull2006 Sun open-sources Java
bull2007 Sun goes into financial decline
12
History
bull1995 Sun Microsystems develops Java
bull1999 Sun opens up the development process creating the Java Community Process
bull2006 Sun open-sources Java
bull2007 Sun goes into financial decline
bull2010 Oracle acquires Sun and becomes the steward of Java
13
14
Organization
15
bull
16
Who Are The Members
httpsjcporgenparticipationmembership
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
The Executive Committee
17
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
Work of the JCP ndash How We Do It
bull Java Specification Requests (JSRs)
bull A JSR is a single version of a Java specification
bull JSRs are led by a community member (the Spec Lead) with a group of interested members (the Expert Group) helping with the day-to-day decisions and work
bull Any JCP member can submit and lead a JSR
bull Each Expert Group must deliver
bull The Specification
bull A Reference Implementation (RI)
bull A Technology Compatibility Kit (TCK)
bull 18
Compatibility Triangle
Can you build an implementation
Is the specification unambiguous
Is the TCK correct Does the RI conform
19
The JSR Development Cycle
bullIncludes formal public reviews and votes by the Executive Committee
bullFull Members can submit amp lead JSRs serve on JSR Expert Groups
bullSee the Process Document for the details
20
How else can you get involved
bullShare ideas and feedback comment on list and public issue trackers
bullRead early versions of specifications and Javadocs
bullTry writing sample applications using early builds of reference implementation
bullWrite or speak about the technology and encourage others to participate Translate into your native language
Evangelize the JSR -social media blogging or lightning talks
Help with documentation
bull 21
How Open Standards amp Open Source
22
Complimentary bullOpen source important requirement So are Standards
bull Coop-etition Agree on what to standardize (cooperation) amp what to complete on (implementations)
bullOpen standards implemented in open source = easier to implement standard amp for developers to understand technology
bull Results in more implementations and greater adoption of the standard
bullAn effective way to develop a standard-start with an open source project that has demonstrated the need for standardization
bull 23
Open Source Implementations
bullThe Reference Implementations of the Java SE and Java EE platforms are also developed collaboratively and released under open-source licenses
ndashJava SE OpenJDK
ndashJava EE Project GlassFish
24
Click icon to add picture
Why Participate
1 Knowledge 2 Skills 3 Visibility 4 Altruism 5 Fun
25
Click icon to add picture Joining the JCP empowers you to
bull Take Initiative ndash Requirements
bull Adapt and Inform
bull Develop New Markets
bull Grow Developers
26
Why Participate as Corporation
Click icon to add picture
How
bullNew revisions of each of the three platforms
bull ldquoJCPNextrdquo reforms
bullIncreased participation from Java User Groups
2011 - Present Day
27
Java EE 7 (JSR 342) ndash May 2013
28
Java ME 8 (JSRs 360 amp 361) ndash April 2014
29
Java SE 8 JSR 337 - March 2014
30
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext (JSR 348)
33
JCPnext (JSR 355)
34
JCPnext4 (JSR 364) JCPnext (JSR 364)
36
Eliminate Barriers to participation
Introduce new Membership levels
No Membership Fees
Electronic Signatures
Add Contributors for JSR Expert Groups
Add Associate Seats on Executive Committee
JCP 210 Broadening JCP Membership
37
Associate Members are individuals who can contribute to JSRs and vote for the Executive Committee
Partner Members are Java User Groups and other non-profit organizations that can serve on and vote for the Executive Committee
Full Members can serve on Expert Groups lead JSRs serve on and vote for the Executive Committee
Memberships
The JCP is More Open Than Before
38
How will you Participate
bullAs an Individual ndash OK
bullAs part of a team ndash better
bullWork through your JUG or employer
ndashHelp each other
ndashTeach other
ndashWork with each other
Working Together ndash JavaOne 2016 in September httpswwwyoutubecomwatchv=J5_MH5jCYh0
40
Adopt-a-JSR
A JUG-lead initiative to improve Java standards
Global groups of JUG members work on JSRs
ndashReceive attention from local industry
ndashBecome more professional ndash helps focus your group efforts
ndashAttract more developers to your community
JUGs around the World
43
Chennai JUG
JSR 338 Java Persistence 21
JSR 344 JSF 22
JSR 352 Batch
JSR 353 JSON
JSR 356 WebSocket
Developed sample lsquoUrban Travelerrsquo application
Use Cases
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
History
bull1995 Sun Microsystems develops Java
bull1999 Sun opens up the development process creating the Java Community Process
bull2006 Sun open-sources Java
11
History
bull1995 Sun Microsystems develops Java
bull1999 Sun opens up the development process creating the Java Community Process
bull2006 Sun open-sources Java
bull2007 Sun goes into financial decline
12
History
bull1995 Sun Microsystems develops Java
bull1999 Sun opens up the development process creating the Java Community Process
bull2006 Sun open-sources Java
bull2007 Sun goes into financial decline
bull2010 Oracle acquires Sun and becomes the steward of Java
13
14
Organization
15
bull
16
Who Are The Members
httpsjcporgenparticipationmembership
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
The Executive Committee
17
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
Work of the JCP ndash How We Do It
bull Java Specification Requests (JSRs)
bull A JSR is a single version of a Java specification
bull JSRs are led by a community member (the Spec Lead) with a group of interested members (the Expert Group) helping with the day-to-day decisions and work
bull Any JCP member can submit and lead a JSR
bull Each Expert Group must deliver
bull The Specification
bull A Reference Implementation (RI)
bull A Technology Compatibility Kit (TCK)
bull 18
Compatibility Triangle
Can you build an implementation
Is the specification unambiguous
Is the TCK correct Does the RI conform
19
The JSR Development Cycle
bullIncludes formal public reviews and votes by the Executive Committee
bullFull Members can submit amp lead JSRs serve on JSR Expert Groups
bullSee the Process Document for the details
20
How else can you get involved
bullShare ideas and feedback comment on list and public issue trackers
bullRead early versions of specifications and Javadocs
bullTry writing sample applications using early builds of reference implementation
bullWrite or speak about the technology and encourage others to participate Translate into your native language
Evangelize the JSR -social media blogging or lightning talks
Help with documentation
bull 21
How Open Standards amp Open Source
22
Complimentary bullOpen source important requirement So are Standards
bull Coop-etition Agree on what to standardize (cooperation) amp what to complete on (implementations)
bullOpen standards implemented in open source = easier to implement standard amp for developers to understand technology
bull Results in more implementations and greater adoption of the standard
bullAn effective way to develop a standard-start with an open source project that has demonstrated the need for standardization
bull 23
Open Source Implementations
bullThe Reference Implementations of the Java SE and Java EE platforms are also developed collaboratively and released under open-source licenses
ndashJava SE OpenJDK
ndashJava EE Project GlassFish
24
Click icon to add picture
Why Participate
1 Knowledge 2 Skills 3 Visibility 4 Altruism 5 Fun
25
Click icon to add picture Joining the JCP empowers you to
bull Take Initiative ndash Requirements
bull Adapt and Inform
bull Develop New Markets
bull Grow Developers
26
Why Participate as Corporation
Click icon to add picture
How
bullNew revisions of each of the three platforms
bull ldquoJCPNextrdquo reforms
bullIncreased participation from Java User Groups
2011 - Present Day
27
Java EE 7 (JSR 342) ndash May 2013
28
Java ME 8 (JSRs 360 amp 361) ndash April 2014
29
Java SE 8 JSR 337 - March 2014
30
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext (JSR 348)
33
JCPnext (JSR 355)
34
JCPnext4 (JSR 364) JCPnext (JSR 364)
36
Eliminate Barriers to participation
Introduce new Membership levels
No Membership Fees
Electronic Signatures
Add Contributors for JSR Expert Groups
Add Associate Seats on Executive Committee
JCP 210 Broadening JCP Membership
37
Associate Members are individuals who can contribute to JSRs and vote for the Executive Committee
Partner Members are Java User Groups and other non-profit organizations that can serve on and vote for the Executive Committee
Full Members can serve on Expert Groups lead JSRs serve on and vote for the Executive Committee
Memberships
The JCP is More Open Than Before
38
How will you Participate
bullAs an Individual ndash OK
bullAs part of a team ndash better
bullWork through your JUG or employer
ndashHelp each other
ndashTeach other
ndashWork with each other
Working Together ndash JavaOne 2016 in September httpswwwyoutubecomwatchv=J5_MH5jCYh0
40
Adopt-a-JSR
A JUG-lead initiative to improve Java standards
Global groups of JUG members work on JSRs
ndashReceive attention from local industry
ndashBecome more professional ndash helps focus your group efforts
ndashAttract more developers to your community
JUGs around the World
43
Chennai JUG
JSR 338 Java Persistence 21
JSR 344 JSF 22
JSR 352 Batch
JSR 353 JSON
JSR 356 WebSocket
Developed sample lsquoUrban Travelerrsquo application
Use Cases
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
History
bull1995 Sun Microsystems develops Java
bull1999 Sun opens up the development process creating the Java Community Process
bull2006 Sun open-sources Java
bull2007 Sun goes into financial decline
12
History
bull1995 Sun Microsystems develops Java
bull1999 Sun opens up the development process creating the Java Community Process
bull2006 Sun open-sources Java
bull2007 Sun goes into financial decline
bull2010 Oracle acquires Sun and becomes the steward of Java
13
14
Organization
15
bull
16
Who Are The Members
httpsjcporgenparticipationmembership
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
The Executive Committee
17
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
Work of the JCP ndash How We Do It
bull Java Specification Requests (JSRs)
bull A JSR is a single version of a Java specification
bull JSRs are led by a community member (the Spec Lead) with a group of interested members (the Expert Group) helping with the day-to-day decisions and work
bull Any JCP member can submit and lead a JSR
bull Each Expert Group must deliver
bull The Specification
bull A Reference Implementation (RI)
bull A Technology Compatibility Kit (TCK)
bull 18
Compatibility Triangle
Can you build an implementation
Is the specification unambiguous
Is the TCK correct Does the RI conform
19
The JSR Development Cycle
bullIncludes formal public reviews and votes by the Executive Committee
bullFull Members can submit amp lead JSRs serve on JSR Expert Groups
bullSee the Process Document for the details
20
How else can you get involved
bullShare ideas and feedback comment on list and public issue trackers
bullRead early versions of specifications and Javadocs
bullTry writing sample applications using early builds of reference implementation
bullWrite or speak about the technology and encourage others to participate Translate into your native language
Evangelize the JSR -social media blogging or lightning talks
Help with documentation
bull 21
How Open Standards amp Open Source
22
Complimentary bullOpen source important requirement So are Standards
bull Coop-etition Agree on what to standardize (cooperation) amp what to complete on (implementations)
bullOpen standards implemented in open source = easier to implement standard amp for developers to understand technology
bull Results in more implementations and greater adoption of the standard
bullAn effective way to develop a standard-start with an open source project that has demonstrated the need for standardization
bull 23
Open Source Implementations
bullThe Reference Implementations of the Java SE and Java EE platforms are also developed collaboratively and released under open-source licenses
ndashJava SE OpenJDK
ndashJava EE Project GlassFish
24
Click icon to add picture
Why Participate
1 Knowledge 2 Skills 3 Visibility 4 Altruism 5 Fun
25
Click icon to add picture Joining the JCP empowers you to
bull Take Initiative ndash Requirements
bull Adapt and Inform
bull Develop New Markets
bull Grow Developers
26
Why Participate as Corporation
Click icon to add picture
How
bullNew revisions of each of the three platforms
bull ldquoJCPNextrdquo reforms
bullIncreased participation from Java User Groups
2011 - Present Day
27
Java EE 7 (JSR 342) ndash May 2013
28
Java ME 8 (JSRs 360 amp 361) ndash April 2014
29
Java SE 8 JSR 337 - March 2014
30
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext (JSR 348)
33
JCPnext (JSR 355)
34
JCPnext4 (JSR 364) JCPnext (JSR 364)
36
Eliminate Barriers to participation
Introduce new Membership levels
No Membership Fees
Electronic Signatures
Add Contributors for JSR Expert Groups
Add Associate Seats on Executive Committee
JCP 210 Broadening JCP Membership
37
Associate Members are individuals who can contribute to JSRs and vote for the Executive Committee
Partner Members are Java User Groups and other non-profit organizations that can serve on and vote for the Executive Committee
Full Members can serve on Expert Groups lead JSRs serve on and vote for the Executive Committee
Memberships
The JCP is More Open Than Before
38
How will you Participate
bullAs an Individual ndash OK
bullAs part of a team ndash better
bullWork through your JUG or employer
ndashHelp each other
ndashTeach other
ndashWork with each other
Working Together ndash JavaOne 2016 in September httpswwwyoutubecomwatchv=J5_MH5jCYh0
40
Adopt-a-JSR
A JUG-lead initiative to improve Java standards
Global groups of JUG members work on JSRs
ndashReceive attention from local industry
ndashBecome more professional ndash helps focus your group efforts
ndashAttract more developers to your community
JUGs around the World
43
Chennai JUG
JSR 338 Java Persistence 21
JSR 344 JSF 22
JSR 352 Batch
JSR 353 JSON
JSR 356 WebSocket
Developed sample lsquoUrban Travelerrsquo application
Use Cases
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
History
bull1995 Sun Microsystems develops Java
bull1999 Sun opens up the development process creating the Java Community Process
bull2006 Sun open-sources Java
bull2007 Sun goes into financial decline
bull2010 Oracle acquires Sun and becomes the steward of Java
13
14
Organization
15
bull
16
Who Are The Members
httpsjcporgenparticipationmembership
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
The Executive Committee
17
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
Work of the JCP ndash How We Do It
bull Java Specification Requests (JSRs)
bull A JSR is a single version of a Java specification
bull JSRs are led by a community member (the Spec Lead) with a group of interested members (the Expert Group) helping with the day-to-day decisions and work
bull Any JCP member can submit and lead a JSR
bull Each Expert Group must deliver
bull The Specification
bull A Reference Implementation (RI)
bull A Technology Compatibility Kit (TCK)
bull 18
Compatibility Triangle
Can you build an implementation
Is the specification unambiguous
Is the TCK correct Does the RI conform
19
The JSR Development Cycle
bullIncludes formal public reviews and votes by the Executive Committee
bullFull Members can submit amp lead JSRs serve on JSR Expert Groups
bullSee the Process Document for the details
20
How else can you get involved
bullShare ideas and feedback comment on list and public issue trackers
bullRead early versions of specifications and Javadocs
bullTry writing sample applications using early builds of reference implementation
bullWrite or speak about the technology and encourage others to participate Translate into your native language
Evangelize the JSR -social media blogging or lightning talks
Help with documentation
bull 21
How Open Standards amp Open Source
22
Complimentary bullOpen source important requirement So are Standards
bull Coop-etition Agree on what to standardize (cooperation) amp what to complete on (implementations)
bullOpen standards implemented in open source = easier to implement standard amp for developers to understand technology
bull Results in more implementations and greater adoption of the standard
bullAn effective way to develop a standard-start with an open source project that has demonstrated the need for standardization
bull 23
Open Source Implementations
bullThe Reference Implementations of the Java SE and Java EE platforms are also developed collaboratively and released under open-source licenses
ndashJava SE OpenJDK
ndashJava EE Project GlassFish
24
Click icon to add picture
Why Participate
1 Knowledge 2 Skills 3 Visibility 4 Altruism 5 Fun
25
Click icon to add picture Joining the JCP empowers you to
bull Take Initiative ndash Requirements
bull Adapt and Inform
bull Develop New Markets
bull Grow Developers
26
Why Participate as Corporation
Click icon to add picture
How
bullNew revisions of each of the three platforms
bull ldquoJCPNextrdquo reforms
bullIncreased participation from Java User Groups
2011 - Present Day
27
Java EE 7 (JSR 342) ndash May 2013
28
Java ME 8 (JSRs 360 amp 361) ndash April 2014
29
Java SE 8 JSR 337 - March 2014
30
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext (JSR 348)
33
JCPnext (JSR 355)
34
JCPnext4 (JSR 364) JCPnext (JSR 364)
36
Eliminate Barriers to participation
Introduce new Membership levels
No Membership Fees
Electronic Signatures
Add Contributors for JSR Expert Groups
Add Associate Seats on Executive Committee
JCP 210 Broadening JCP Membership
37
Associate Members are individuals who can contribute to JSRs and vote for the Executive Committee
Partner Members are Java User Groups and other non-profit organizations that can serve on and vote for the Executive Committee
Full Members can serve on Expert Groups lead JSRs serve on and vote for the Executive Committee
Memberships
The JCP is More Open Than Before
38
How will you Participate
bullAs an Individual ndash OK
bullAs part of a team ndash better
bullWork through your JUG or employer
ndashHelp each other
ndashTeach other
ndashWork with each other
Working Together ndash JavaOne 2016 in September httpswwwyoutubecomwatchv=J5_MH5jCYh0
40
Adopt-a-JSR
A JUG-lead initiative to improve Java standards
Global groups of JUG members work on JSRs
ndashReceive attention from local industry
ndashBecome more professional ndash helps focus your group efforts
ndashAttract more developers to your community
JUGs around the World
43
Chennai JUG
JSR 338 Java Persistence 21
JSR 344 JSF 22
JSR 352 Batch
JSR 353 JSON
JSR 356 WebSocket
Developed sample lsquoUrban Travelerrsquo application
Use Cases
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
14
Organization
15
bull
16
Who Are The Members
httpsjcporgenparticipationmembership
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
The Executive Committee
17
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
Work of the JCP ndash How We Do It
bull Java Specification Requests (JSRs)
bull A JSR is a single version of a Java specification
bull JSRs are led by a community member (the Spec Lead) with a group of interested members (the Expert Group) helping with the day-to-day decisions and work
bull Any JCP member can submit and lead a JSR
bull Each Expert Group must deliver
bull The Specification
bull A Reference Implementation (RI)
bull A Technology Compatibility Kit (TCK)
bull 18
Compatibility Triangle
Can you build an implementation
Is the specification unambiguous
Is the TCK correct Does the RI conform
19
The JSR Development Cycle
bullIncludes formal public reviews and votes by the Executive Committee
bullFull Members can submit amp lead JSRs serve on JSR Expert Groups
bullSee the Process Document for the details
20
How else can you get involved
bullShare ideas and feedback comment on list and public issue trackers
bullRead early versions of specifications and Javadocs
bullTry writing sample applications using early builds of reference implementation
bullWrite or speak about the technology and encourage others to participate Translate into your native language
Evangelize the JSR -social media blogging or lightning talks
Help with documentation
bull 21
How Open Standards amp Open Source
22
Complimentary bullOpen source important requirement So are Standards
bull Coop-etition Agree on what to standardize (cooperation) amp what to complete on (implementations)
bullOpen standards implemented in open source = easier to implement standard amp for developers to understand technology
bull Results in more implementations and greater adoption of the standard
bullAn effective way to develop a standard-start with an open source project that has demonstrated the need for standardization
bull 23
Open Source Implementations
bullThe Reference Implementations of the Java SE and Java EE platforms are also developed collaboratively and released under open-source licenses
ndashJava SE OpenJDK
ndashJava EE Project GlassFish
24
Click icon to add picture
Why Participate
1 Knowledge 2 Skills 3 Visibility 4 Altruism 5 Fun
25
Click icon to add picture Joining the JCP empowers you to
bull Take Initiative ndash Requirements
bull Adapt and Inform
bull Develop New Markets
bull Grow Developers
26
Why Participate as Corporation
Click icon to add picture
How
bullNew revisions of each of the three platforms
bull ldquoJCPNextrdquo reforms
bullIncreased participation from Java User Groups
2011 - Present Day
27
Java EE 7 (JSR 342) ndash May 2013
28
Java ME 8 (JSRs 360 amp 361) ndash April 2014
29
Java SE 8 JSR 337 - March 2014
30
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext (JSR 348)
33
JCPnext (JSR 355)
34
JCPnext4 (JSR 364) JCPnext (JSR 364)
36
Eliminate Barriers to participation
Introduce new Membership levels
No Membership Fees
Electronic Signatures
Add Contributors for JSR Expert Groups
Add Associate Seats on Executive Committee
JCP 210 Broadening JCP Membership
37
Associate Members are individuals who can contribute to JSRs and vote for the Executive Committee
Partner Members are Java User Groups and other non-profit organizations that can serve on and vote for the Executive Committee
Full Members can serve on Expert Groups lead JSRs serve on and vote for the Executive Committee
Memberships
The JCP is More Open Than Before
38
How will you Participate
bullAs an Individual ndash OK
bullAs part of a team ndash better
bullWork through your JUG or employer
ndashHelp each other
ndashTeach other
ndashWork with each other
Working Together ndash JavaOne 2016 in September httpswwwyoutubecomwatchv=J5_MH5jCYh0
40
Adopt-a-JSR
A JUG-lead initiative to improve Java standards
Global groups of JUG members work on JSRs
ndashReceive attention from local industry
ndashBecome more professional ndash helps focus your group efforts
ndashAttract more developers to your community
JUGs around the World
43
Chennai JUG
JSR 338 Java Persistence 21
JSR 344 JSF 22
JSR 352 Batch
JSR 353 JSON
JSR 356 WebSocket
Developed sample lsquoUrban Travelerrsquo application
Use Cases
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
Organization
15
bull
16
Who Are The Members
httpsjcporgenparticipationmembership
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
The Executive Committee
17
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
Work of the JCP ndash How We Do It
bull Java Specification Requests (JSRs)
bull A JSR is a single version of a Java specification
bull JSRs are led by a community member (the Spec Lead) with a group of interested members (the Expert Group) helping with the day-to-day decisions and work
bull Any JCP member can submit and lead a JSR
bull Each Expert Group must deliver
bull The Specification
bull A Reference Implementation (RI)
bull A Technology Compatibility Kit (TCK)
bull 18
Compatibility Triangle
Can you build an implementation
Is the specification unambiguous
Is the TCK correct Does the RI conform
19
The JSR Development Cycle
bullIncludes formal public reviews and votes by the Executive Committee
bullFull Members can submit amp lead JSRs serve on JSR Expert Groups
bullSee the Process Document for the details
20
How else can you get involved
bullShare ideas and feedback comment on list and public issue trackers
bullRead early versions of specifications and Javadocs
bullTry writing sample applications using early builds of reference implementation
bullWrite or speak about the technology and encourage others to participate Translate into your native language
Evangelize the JSR -social media blogging or lightning talks
Help with documentation
bull 21
How Open Standards amp Open Source
22
Complimentary bullOpen source important requirement So are Standards
bull Coop-etition Agree on what to standardize (cooperation) amp what to complete on (implementations)
bullOpen standards implemented in open source = easier to implement standard amp for developers to understand technology
bull Results in more implementations and greater adoption of the standard
bullAn effective way to develop a standard-start with an open source project that has demonstrated the need for standardization
bull 23
Open Source Implementations
bullThe Reference Implementations of the Java SE and Java EE platforms are also developed collaboratively and released under open-source licenses
ndashJava SE OpenJDK
ndashJava EE Project GlassFish
24
Click icon to add picture
Why Participate
1 Knowledge 2 Skills 3 Visibility 4 Altruism 5 Fun
25
Click icon to add picture Joining the JCP empowers you to
bull Take Initiative ndash Requirements
bull Adapt and Inform
bull Develop New Markets
bull Grow Developers
26
Why Participate as Corporation
Click icon to add picture
How
bullNew revisions of each of the three platforms
bull ldquoJCPNextrdquo reforms
bullIncreased participation from Java User Groups
2011 - Present Day
27
Java EE 7 (JSR 342) ndash May 2013
28
Java ME 8 (JSRs 360 amp 361) ndash April 2014
29
Java SE 8 JSR 337 - March 2014
30
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext (JSR 348)
33
JCPnext (JSR 355)
34
JCPnext4 (JSR 364) JCPnext (JSR 364)
36
Eliminate Barriers to participation
Introduce new Membership levels
No Membership Fees
Electronic Signatures
Add Contributors for JSR Expert Groups
Add Associate Seats on Executive Committee
JCP 210 Broadening JCP Membership
37
Associate Members are individuals who can contribute to JSRs and vote for the Executive Committee
Partner Members are Java User Groups and other non-profit organizations that can serve on and vote for the Executive Committee
Full Members can serve on Expert Groups lead JSRs serve on and vote for the Executive Committee
Memberships
The JCP is More Open Than Before
38
How will you Participate
bullAs an Individual ndash OK
bullAs part of a team ndash better
bullWork through your JUG or employer
ndashHelp each other
ndashTeach other
ndashWork with each other
Working Together ndash JavaOne 2016 in September httpswwwyoutubecomwatchv=J5_MH5jCYh0
40
Adopt-a-JSR
A JUG-lead initiative to improve Java standards
Global groups of JUG members work on JSRs
ndashReceive attention from local industry
ndashBecome more professional ndash helps focus your group efforts
ndashAttract more developers to your community
JUGs around the World
43
Chennai JUG
JSR 338 Java Persistence 21
JSR 344 JSF 22
JSR 352 Batch
JSR 353 JSON
JSR 356 WebSocket
Developed sample lsquoUrban Travelerrsquo application
Use Cases
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
bull
16
Who Are The Members
httpsjcporgenparticipationmembership
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
The Executive Committee
17
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
Work of the JCP ndash How We Do It
bull Java Specification Requests (JSRs)
bull A JSR is a single version of a Java specification
bull JSRs are led by a community member (the Spec Lead) with a group of interested members (the Expert Group) helping with the day-to-day decisions and work
bull Any JCP member can submit and lead a JSR
bull Each Expert Group must deliver
bull The Specification
bull A Reference Implementation (RI)
bull A Technology Compatibility Kit (TCK)
bull 18
Compatibility Triangle
Can you build an implementation
Is the specification unambiguous
Is the TCK correct Does the RI conform
19
The JSR Development Cycle
bullIncludes formal public reviews and votes by the Executive Committee
bullFull Members can submit amp lead JSRs serve on JSR Expert Groups
bullSee the Process Document for the details
20
How else can you get involved
bullShare ideas and feedback comment on list and public issue trackers
bullRead early versions of specifications and Javadocs
bullTry writing sample applications using early builds of reference implementation
bullWrite or speak about the technology and encourage others to participate Translate into your native language
Evangelize the JSR -social media blogging or lightning talks
Help with documentation
bull 21
How Open Standards amp Open Source
22
Complimentary bullOpen source important requirement So are Standards
bull Coop-etition Agree on what to standardize (cooperation) amp what to complete on (implementations)
bullOpen standards implemented in open source = easier to implement standard amp for developers to understand technology
bull Results in more implementations and greater adoption of the standard
bullAn effective way to develop a standard-start with an open source project that has demonstrated the need for standardization
bull 23
Open Source Implementations
bullThe Reference Implementations of the Java SE and Java EE platforms are also developed collaboratively and released under open-source licenses
ndashJava SE OpenJDK
ndashJava EE Project GlassFish
24
Click icon to add picture
Why Participate
1 Knowledge 2 Skills 3 Visibility 4 Altruism 5 Fun
25
Click icon to add picture Joining the JCP empowers you to
bull Take Initiative ndash Requirements
bull Adapt and Inform
bull Develop New Markets
bull Grow Developers
26
Why Participate as Corporation
Click icon to add picture
How
bullNew revisions of each of the three platforms
bull ldquoJCPNextrdquo reforms
bullIncreased participation from Java User Groups
2011 - Present Day
27
Java EE 7 (JSR 342) ndash May 2013
28
Java ME 8 (JSRs 360 amp 361) ndash April 2014
29
Java SE 8 JSR 337 - March 2014
30
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext (JSR 348)
33
JCPnext (JSR 355)
34
JCPnext4 (JSR 364) JCPnext (JSR 364)
36
Eliminate Barriers to participation
Introduce new Membership levels
No Membership Fees
Electronic Signatures
Add Contributors for JSR Expert Groups
Add Associate Seats on Executive Committee
JCP 210 Broadening JCP Membership
37
Associate Members are individuals who can contribute to JSRs and vote for the Executive Committee
Partner Members are Java User Groups and other non-profit organizations that can serve on and vote for the Executive Committee
Full Members can serve on Expert Groups lead JSRs serve on and vote for the Executive Committee
Memberships
The JCP is More Open Than Before
38
How will you Participate
bullAs an Individual ndash OK
bullAs part of a team ndash better
bullWork through your JUG or employer
ndashHelp each other
ndashTeach other
ndashWork with each other
Working Together ndash JavaOne 2016 in September httpswwwyoutubecomwatchv=J5_MH5jCYh0
40
Adopt-a-JSR
A JUG-lead initiative to improve Java standards
Global groups of JUG members work on JSRs
ndashReceive attention from local industry
ndashBecome more professional ndash helps focus your group efforts
ndashAttract more developers to your community
JUGs around the World
43
Chennai JUG
JSR 338 Java Persistence 21
JSR 344 JSF 22
JSR 352 Batch
JSR 353 JSON
JSR 356 WebSocket
Developed sample lsquoUrban Travelerrsquo application
Use Cases
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
The Executive Committee
17
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
Work of the JCP ndash How We Do It
bull Java Specification Requests (JSRs)
bull A JSR is a single version of a Java specification
bull JSRs are led by a community member (the Spec Lead) with a group of interested members (the Expert Group) helping with the day-to-day decisions and work
bull Any JCP member can submit and lead a JSR
bull Each Expert Group must deliver
bull The Specification
bull A Reference Implementation (RI)
bull A Technology Compatibility Kit (TCK)
bull 18
Compatibility Triangle
Can you build an implementation
Is the specification unambiguous
Is the TCK correct Does the RI conform
19
The JSR Development Cycle
bullIncludes formal public reviews and votes by the Executive Committee
bullFull Members can submit amp lead JSRs serve on JSR Expert Groups
bullSee the Process Document for the details
20
How else can you get involved
bullShare ideas and feedback comment on list and public issue trackers
bullRead early versions of specifications and Javadocs
bullTry writing sample applications using early builds of reference implementation
bullWrite or speak about the technology and encourage others to participate Translate into your native language
Evangelize the JSR -social media blogging or lightning talks
Help with documentation
bull 21
How Open Standards amp Open Source
22
Complimentary bullOpen source important requirement So are Standards
bull Coop-etition Agree on what to standardize (cooperation) amp what to complete on (implementations)
bullOpen standards implemented in open source = easier to implement standard amp for developers to understand technology
bull Results in more implementations and greater adoption of the standard
bullAn effective way to develop a standard-start with an open source project that has demonstrated the need for standardization
bull 23
Open Source Implementations
bullThe Reference Implementations of the Java SE and Java EE platforms are also developed collaboratively and released under open-source licenses
ndashJava SE OpenJDK
ndashJava EE Project GlassFish
24
Click icon to add picture
Why Participate
1 Knowledge 2 Skills 3 Visibility 4 Altruism 5 Fun
25
Click icon to add picture Joining the JCP empowers you to
bull Take Initiative ndash Requirements
bull Adapt and Inform
bull Develop New Markets
bull Grow Developers
26
Why Participate as Corporation
Click icon to add picture
How
bullNew revisions of each of the three platforms
bull ldquoJCPNextrdquo reforms
bullIncreased participation from Java User Groups
2011 - Present Day
27
Java EE 7 (JSR 342) ndash May 2013
28
Java ME 8 (JSRs 360 amp 361) ndash April 2014
29
Java SE 8 JSR 337 - March 2014
30
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext (JSR 348)
33
JCPnext (JSR 355)
34
JCPnext4 (JSR 364) JCPnext (JSR 364)
36
Eliminate Barriers to participation
Introduce new Membership levels
No Membership Fees
Electronic Signatures
Add Contributors for JSR Expert Groups
Add Associate Seats on Executive Committee
JCP 210 Broadening JCP Membership
37
Associate Members are individuals who can contribute to JSRs and vote for the Executive Committee
Partner Members are Java User Groups and other non-profit organizations that can serve on and vote for the Executive Committee
Full Members can serve on Expert Groups lead JSRs serve on and vote for the Executive Committee
Memberships
The JCP is More Open Than Before
38
How will you Participate
bullAs an Individual ndash OK
bullAs part of a team ndash better
bullWork through your JUG or employer
ndashHelp each other
ndashTeach other
ndashWork with each other
Working Together ndash JavaOne 2016 in September httpswwwyoutubecomwatchv=J5_MH5jCYh0
40
Adopt-a-JSR
A JUG-lead initiative to improve Java standards
Global groups of JUG members work on JSRs
ndashReceive attention from local industry
ndashBecome more professional ndash helps focus your group efforts
ndashAttract more developers to your community
JUGs around the World
43
Chennai JUG
JSR 338 Java Persistence 21
JSR 344 JSF 22
JSR 352 Batch
JSR 353 JSON
JSR 356 WebSocket
Developed sample lsquoUrban Travelerrsquo application
Use Cases
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
Work of the JCP ndash How We Do It
bull Java Specification Requests (JSRs)
bull A JSR is a single version of a Java specification
bull JSRs are led by a community member (the Spec Lead) with a group of interested members (the Expert Group) helping with the day-to-day decisions and work
bull Any JCP member can submit and lead a JSR
bull Each Expert Group must deliver
bull The Specification
bull A Reference Implementation (RI)
bull A Technology Compatibility Kit (TCK)
bull 18
Compatibility Triangle
Can you build an implementation
Is the specification unambiguous
Is the TCK correct Does the RI conform
19
The JSR Development Cycle
bullIncludes formal public reviews and votes by the Executive Committee
bullFull Members can submit amp lead JSRs serve on JSR Expert Groups
bullSee the Process Document for the details
20
How else can you get involved
bullShare ideas and feedback comment on list and public issue trackers
bullRead early versions of specifications and Javadocs
bullTry writing sample applications using early builds of reference implementation
bullWrite or speak about the technology and encourage others to participate Translate into your native language
Evangelize the JSR -social media blogging or lightning talks
Help with documentation
bull 21
How Open Standards amp Open Source
22
Complimentary bullOpen source important requirement So are Standards
bull Coop-etition Agree on what to standardize (cooperation) amp what to complete on (implementations)
bullOpen standards implemented in open source = easier to implement standard amp for developers to understand technology
bull Results in more implementations and greater adoption of the standard
bullAn effective way to develop a standard-start with an open source project that has demonstrated the need for standardization
bull 23
Open Source Implementations
bullThe Reference Implementations of the Java SE and Java EE platforms are also developed collaboratively and released under open-source licenses
ndashJava SE OpenJDK
ndashJava EE Project GlassFish
24
Click icon to add picture
Why Participate
1 Knowledge 2 Skills 3 Visibility 4 Altruism 5 Fun
25
Click icon to add picture Joining the JCP empowers you to
bull Take Initiative ndash Requirements
bull Adapt and Inform
bull Develop New Markets
bull Grow Developers
26
Why Participate as Corporation
Click icon to add picture
How
bullNew revisions of each of the three platforms
bull ldquoJCPNextrdquo reforms
bullIncreased participation from Java User Groups
2011 - Present Day
27
Java EE 7 (JSR 342) ndash May 2013
28
Java ME 8 (JSRs 360 amp 361) ndash April 2014
29
Java SE 8 JSR 337 - March 2014
30
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext (JSR 348)
33
JCPnext (JSR 355)
34
JCPnext4 (JSR 364) JCPnext (JSR 364)
36
Eliminate Barriers to participation
Introduce new Membership levels
No Membership Fees
Electronic Signatures
Add Contributors for JSR Expert Groups
Add Associate Seats on Executive Committee
JCP 210 Broadening JCP Membership
37
Associate Members are individuals who can contribute to JSRs and vote for the Executive Committee
Partner Members are Java User Groups and other non-profit organizations that can serve on and vote for the Executive Committee
Full Members can serve on Expert Groups lead JSRs serve on and vote for the Executive Committee
Memberships
The JCP is More Open Than Before
38
How will you Participate
bullAs an Individual ndash OK
bullAs part of a team ndash better
bullWork through your JUG or employer
ndashHelp each other
ndashTeach other
ndashWork with each other
Working Together ndash JavaOne 2016 in September httpswwwyoutubecomwatchv=J5_MH5jCYh0
40
Adopt-a-JSR
A JUG-lead initiative to improve Java standards
Global groups of JUG members work on JSRs
ndashReceive attention from local industry
ndashBecome more professional ndash helps focus your group efforts
ndashAttract more developers to your community
JUGs around the World
43
Chennai JUG
JSR 338 Java Persistence 21
JSR 344 JSF 22
JSR 352 Batch
JSR 353 JSON
JSR 356 WebSocket
Developed sample lsquoUrban Travelerrsquo application
Use Cases
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
Compatibility Triangle
Can you build an implementation
Is the specification unambiguous
Is the TCK correct Does the RI conform
19
The JSR Development Cycle
bullIncludes formal public reviews and votes by the Executive Committee
bullFull Members can submit amp lead JSRs serve on JSR Expert Groups
bullSee the Process Document for the details
20
How else can you get involved
bullShare ideas and feedback comment on list and public issue trackers
bullRead early versions of specifications and Javadocs
bullTry writing sample applications using early builds of reference implementation
bullWrite or speak about the technology and encourage others to participate Translate into your native language
Evangelize the JSR -social media blogging or lightning talks
Help with documentation
bull 21
How Open Standards amp Open Source
22
Complimentary bullOpen source important requirement So are Standards
bull Coop-etition Agree on what to standardize (cooperation) amp what to complete on (implementations)
bullOpen standards implemented in open source = easier to implement standard amp for developers to understand technology
bull Results in more implementations and greater adoption of the standard
bullAn effective way to develop a standard-start with an open source project that has demonstrated the need for standardization
bull 23
Open Source Implementations
bullThe Reference Implementations of the Java SE and Java EE platforms are also developed collaboratively and released under open-source licenses
ndashJava SE OpenJDK
ndashJava EE Project GlassFish
24
Click icon to add picture
Why Participate
1 Knowledge 2 Skills 3 Visibility 4 Altruism 5 Fun
25
Click icon to add picture Joining the JCP empowers you to
bull Take Initiative ndash Requirements
bull Adapt and Inform
bull Develop New Markets
bull Grow Developers
26
Why Participate as Corporation
Click icon to add picture
How
bullNew revisions of each of the three platforms
bull ldquoJCPNextrdquo reforms
bullIncreased participation from Java User Groups
2011 - Present Day
27
Java EE 7 (JSR 342) ndash May 2013
28
Java ME 8 (JSRs 360 amp 361) ndash April 2014
29
Java SE 8 JSR 337 - March 2014
30
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext (JSR 348)
33
JCPnext (JSR 355)
34
JCPnext4 (JSR 364) JCPnext (JSR 364)
36
Eliminate Barriers to participation
Introduce new Membership levels
No Membership Fees
Electronic Signatures
Add Contributors for JSR Expert Groups
Add Associate Seats on Executive Committee
JCP 210 Broadening JCP Membership
37
Associate Members are individuals who can contribute to JSRs and vote for the Executive Committee
Partner Members are Java User Groups and other non-profit organizations that can serve on and vote for the Executive Committee
Full Members can serve on Expert Groups lead JSRs serve on and vote for the Executive Committee
Memberships
The JCP is More Open Than Before
38
How will you Participate
bullAs an Individual ndash OK
bullAs part of a team ndash better
bullWork through your JUG or employer
ndashHelp each other
ndashTeach other
ndashWork with each other
Working Together ndash JavaOne 2016 in September httpswwwyoutubecomwatchv=J5_MH5jCYh0
40
Adopt-a-JSR
A JUG-lead initiative to improve Java standards
Global groups of JUG members work on JSRs
ndashReceive attention from local industry
ndashBecome more professional ndash helps focus your group efforts
ndashAttract more developers to your community
JUGs around the World
43
Chennai JUG
JSR 338 Java Persistence 21
JSR 344 JSF 22
JSR 352 Batch
JSR 353 JSON
JSR 356 WebSocket
Developed sample lsquoUrban Travelerrsquo application
Use Cases
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
The JSR Development Cycle
bullIncludes formal public reviews and votes by the Executive Committee
bullFull Members can submit amp lead JSRs serve on JSR Expert Groups
bullSee the Process Document for the details
20
How else can you get involved
bullShare ideas and feedback comment on list and public issue trackers
bullRead early versions of specifications and Javadocs
bullTry writing sample applications using early builds of reference implementation
bullWrite or speak about the technology and encourage others to participate Translate into your native language
Evangelize the JSR -social media blogging or lightning talks
Help with documentation
bull 21
How Open Standards amp Open Source
22
Complimentary bullOpen source important requirement So are Standards
bull Coop-etition Agree on what to standardize (cooperation) amp what to complete on (implementations)
bullOpen standards implemented in open source = easier to implement standard amp for developers to understand technology
bull Results in more implementations and greater adoption of the standard
bullAn effective way to develop a standard-start with an open source project that has demonstrated the need for standardization
bull 23
Open Source Implementations
bullThe Reference Implementations of the Java SE and Java EE platforms are also developed collaboratively and released under open-source licenses
ndashJava SE OpenJDK
ndashJava EE Project GlassFish
24
Click icon to add picture
Why Participate
1 Knowledge 2 Skills 3 Visibility 4 Altruism 5 Fun
25
Click icon to add picture Joining the JCP empowers you to
bull Take Initiative ndash Requirements
bull Adapt and Inform
bull Develop New Markets
bull Grow Developers
26
Why Participate as Corporation
Click icon to add picture
How
bullNew revisions of each of the three platforms
bull ldquoJCPNextrdquo reforms
bullIncreased participation from Java User Groups
2011 - Present Day
27
Java EE 7 (JSR 342) ndash May 2013
28
Java ME 8 (JSRs 360 amp 361) ndash April 2014
29
Java SE 8 JSR 337 - March 2014
30
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext (JSR 348)
33
JCPnext (JSR 355)
34
JCPnext4 (JSR 364) JCPnext (JSR 364)
36
Eliminate Barriers to participation
Introduce new Membership levels
No Membership Fees
Electronic Signatures
Add Contributors for JSR Expert Groups
Add Associate Seats on Executive Committee
JCP 210 Broadening JCP Membership
37
Associate Members are individuals who can contribute to JSRs and vote for the Executive Committee
Partner Members are Java User Groups and other non-profit organizations that can serve on and vote for the Executive Committee
Full Members can serve on Expert Groups lead JSRs serve on and vote for the Executive Committee
Memberships
The JCP is More Open Than Before
38
How will you Participate
bullAs an Individual ndash OK
bullAs part of a team ndash better
bullWork through your JUG or employer
ndashHelp each other
ndashTeach other
ndashWork with each other
Working Together ndash JavaOne 2016 in September httpswwwyoutubecomwatchv=J5_MH5jCYh0
40
Adopt-a-JSR
A JUG-lead initiative to improve Java standards
Global groups of JUG members work on JSRs
ndashReceive attention from local industry
ndashBecome more professional ndash helps focus your group efforts
ndashAttract more developers to your community
JUGs around the World
43
Chennai JUG
JSR 338 Java Persistence 21
JSR 344 JSF 22
JSR 352 Batch
JSR 353 JSON
JSR 356 WebSocket
Developed sample lsquoUrban Travelerrsquo application
Use Cases
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
How else can you get involved
bullShare ideas and feedback comment on list and public issue trackers
bullRead early versions of specifications and Javadocs
bullTry writing sample applications using early builds of reference implementation
bullWrite or speak about the technology and encourage others to participate Translate into your native language
Evangelize the JSR -social media blogging or lightning talks
Help with documentation
bull 21
How Open Standards amp Open Source
22
Complimentary bullOpen source important requirement So are Standards
bull Coop-etition Agree on what to standardize (cooperation) amp what to complete on (implementations)
bullOpen standards implemented in open source = easier to implement standard amp for developers to understand technology
bull Results in more implementations and greater adoption of the standard
bullAn effective way to develop a standard-start with an open source project that has demonstrated the need for standardization
bull 23
Open Source Implementations
bullThe Reference Implementations of the Java SE and Java EE platforms are also developed collaboratively and released under open-source licenses
ndashJava SE OpenJDK
ndashJava EE Project GlassFish
24
Click icon to add picture
Why Participate
1 Knowledge 2 Skills 3 Visibility 4 Altruism 5 Fun
25
Click icon to add picture Joining the JCP empowers you to
bull Take Initiative ndash Requirements
bull Adapt and Inform
bull Develop New Markets
bull Grow Developers
26
Why Participate as Corporation
Click icon to add picture
How
bullNew revisions of each of the three platforms
bull ldquoJCPNextrdquo reforms
bullIncreased participation from Java User Groups
2011 - Present Day
27
Java EE 7 (JSR 342) ndash May 2013
28
Java ME 8 (JSRs 360 amp 361) ndash April 2014
29
Java SE 8 JSR 337 - March 2014
30
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext (JSR 348)
33
JCPnext (JSR 355)
34
JCPnext4 (JSR 364) JCPnext (JSR 364)
36
Eliminate Barriers to participation
Introduce new Membership levels
No Membership Fees
Electronic Signatures
Add Contributors for JSR Expert Groups
Add Associate Seats on Executive Committee
JCP 210 Broadening JCP Membership
37
Associate Members are individuals who can contribute to JSRs and vote for the Executive Committee
Partner Members are Java User Groups and other non-profit organizations that can serve on and vote for the Executive Committee
Full Members can serve on Expert Groups lead JSRs serve on and vote for the Executive Committee
Memberships
The JCP is More Open Than Before
38
How will you Participate
bullAs an Individual ndash OK
bullAs part of a team ndash better
bullWork through your JUG or employer
ndashHelp each other
ndashTeach other
ndashWork with each other
Working Together ndash JavaOne 2016 in September httpswwwyoutubecomwatchv=J5_MH5jCYh0
40
Adopt-a-JSR
A JUG-lead initiative to improve Java standards
Global groups of JUG members work on JSRs
ndashReceive attention from local industry
ndashBecome more professional ndash helps focus your group efforts
ndashAttract more developers to your community
JUGs around the World
43
Chennai JUG
JSR 338 Java Persistence 21
JSR 344 JSF 22
JSR 352 Batch
JSR 353 JSON
JSR 356 WebSocket
Developed sample lsquoUrban Travelerrsquo application
Use Cases
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
How Open Standards amp Open Source
22
Complimentary bullOpen source important requirement So are Standards
bull Coop-etition Agree on what to standardize (cooperation) amp what to complete on (implementations)
bullOpen standards implemented in open source = easier to implement standard amp for developers to understand technology
bull Results in more implementations and greater adoption of the standard
bullAn effective way to develop a standard-start with an open source project that has demonstrated the need for standardization
bull 23
Open Source Implementations
bullThe Reference Implementations of the Java SE and Java EE platforms are also developed collaboratively and released under open-source licenses
ndashJava SE OpenJDK
ndashJava EE Project GlassFish
24
Click icon to add picture
Why Participate
1 Knowledge 2 Skills 3 Visibility 4 Altruism 5 Fun
25
Click icon to add picture Joining the JCP empowers you to
bull Take Initiative ndash Requirements
bull Adapt and Inform
bull Develop New Markets
bull Grow Developers
26
Why Participate as Corporation
Click icon to add picture
How
bullNew revisions of each of the three platforms
bull ldquoJCPNextrdquo reforms
bullIncreased participation from Java User Groups
2011 - Present Day
27
Java EE 7 (JSR 342) ndash May 2013
28
Java ME 8 (JSRs 360 amp 361) ndash April 2014
29
Java SE 8 JSR 337 - March 2014
30
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext (JSR 348)
33
JCPnext (JSR 355)
34
JCPnext4 (JSR 364) JCPnext (JSR 364)
36
Eliminate Barriers to participation
Introduce new Membership levels
No Membership Fees
Electronic Signatures
Add Contributors for JSR Expert Groups
Add Associate Seats on Executive Committee
JCP 210 Broadening JCP Membership
37
Associate Members are individuals who can contribute to JSRs and vote for the Executive Committee
Partner Members are Java User Groups and other non-profit organizations that can serve on and vote for the Executive Committee
Full Members can serve on Expert Groups lead JSRs serve on and vote for the Executive Committee
Memberships
The JCP is More Open Than Before
38
How will you Participate
bullAs an Individual ndash OK
bullAs part of a team ndash better
bullWork through your JUG or employer
ndashHelp each other
ndashTeach other
ndashWork with each other
Working Together ndash JavaOne 2016 in September httpswwwyoutubecomwatchv=J5_MH5jCYh0
40
Adopt-a-JSR
A JUG-lead initiative to improve Java standards
Global groups of JUG members work on JSRs
ndashReceive attention from local industry
ndashBecome more professional ndash helps focus your group efforts
ndashAttract more developers to your community
JUGs around the World
43
Chennai JUG
JSR 338 Java Persistence 21
JSR 344 JSF 22
JSR 352 Batch
JSR 353 JSON
JSR 356 WebSocket
Developed sample lsquoUrban Travelerrsquo application
Use Cases
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
Complimentary bullOpen source important requirement So are Standards
bull Coop-etition Agree on what to standardize (cooperation) amp what to complete on (implementations)
bullOpen standards implemented in open source = easier to implement standard amp for developers to understand technology
bull Results in more implementations and greater adoption of the standard
bullAn effective way to develop a standard-start with an open source project that has demonstrated the need for standardization
bull 23
Open Source Implementations
bullThe Reference Implementations of the Java SE and Java EE platforms are also developed collaboratively and released under open-source licenses
ndashJava SE OpenJDK
ndashJava EE Project GlassFish
24
Click icon to add picture
Why Participate
1 Knowledge 2 Skills 3 Visibility 4 Altruism 5 Fun
25
Click icon to add picture Joining the JCP empowers you to
bull Take Initiative ndash Requirements
bull Adapt and Inform
bull Develop New Markets
bull Grow Developers
26
Why Participate as Corporation
Click icon to add picture
How
bullNew revisions of each of the three platforms
bull ldquoJCPNextrdquo reforms
bullIncreased participation from Java User Groups
2011 - Present Day
27
Java EE 7 (JSR 342) ndash May 2013
28
Java ME 8 (JSRs 360 amp 361) ndash April 2014
29
Java SE 8 JSR 337 - March 2014
30
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext (JSR 348)
33
JCPnext (JSR 355)
34
JCPnext4 (JSR 364) JCPnext (JSR 364)
36
Eliminate Barriers to participation
Introduce new Membership levels
No Membership Fees
Electronic Signatures
Add Contributors for JSR Expert Groups
Add Associate Seats on Executive Committee
JCP 210 Broadening JCP Membership
37
Associate Members are individuals who can contribute to JSRs and vote for the Executive Committee
Partner Members are Java User Groups and other non-profit organizations that can serve on and vote for the Executive Committee
Full Members can serve on Expert Groups lead JSRs serve on and vote for the Executive Committee
Memberships
The JCP is More Open Than Before
38
How will you Participate
bullAs an Individual ndash OK
bullAs part of a team ndash better
bullWork through your JUG or employer
ndashHelp each other
ndashTeach other
ndashWork with each other
Working Together ndash JavaOne 2016 in September httpswwwyoutubecomwatchv=J5_MH5jCYh0
40
Adopt-a-JSR
A JUG-lead initiative to improve Java standards
Global groups of JUG members work on JSRs
ndashReceive attention from local industry
ndashBecome more professional ndash helps focus your group efforts
ndashAttract more developers to your community
JUGs around the World
43
Chennai JUG
JSR 338 Java Persistence 21
JSR 344 JSF 22
JSR 352 Batch
JSR 353 JSON
JSR 356 WebSocket
Developed sample lsquoUrban Travelerrsquo application
Use Cases
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
Open Source Implementations
bullThe Reference Implementations of the Java SE and Java EE platforms are also developed collaboratively and released under open-source licenses
ndashJava SE OpenJDK
ndashJava EE Project GlassFish
24
Click icon to add picture
Why Participate
1 Knowledge 2 Skills 3 Visibility 4 Altruism 5 Fun
25
Click icon to add picture Joining the JCP empowers you to
bull Take Initiative ndash Requirements
bull Adapt and Inform
bull Develop New Markets
bull Grow Developers
26
Why Participate as Corporation
Click icon to add picture
How
bullNew revisions of each of the three platforms
bull ldquoJCPNextrdquo reforms
bullIncreased participation from Java User Groups
2011 - Present Day
27
Java EE 7 (JSR 342) ndash May 2013
28
Java ME 8 (JSRs 360 amp 361) ndash April 2014
29
Java SE 8 JSR 337 - March 2014
30
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext (JSR 348)
33
JCPnext (JSR 355)
34
JCPnext4 (JSR 364) JCPnext (JSR 364)
36
Eliminate Barriers to participation
Introduce new Membership levels
No Membership Fees
Electronic Signatures
Add Contributors for JSR Expert Groups
Add Associate Seats on Executive Committee
JCP 210 Broadening JCP Membership
37
Associate Members are individuals who can contribute to JSRs and vote for the Executive Committee
Partner Members are Java User Groups and other non-profit organizations that can serve on and vote for the Executive Committee
Full Members can serve on Expert Groups lead JSRs serve on and vote for the Executive Committee
Memberships
The JCP is More Open Than Before
38
How will you Participate
bullAs an Individual ndash OK
bullAs part of a team ndash better
bullWork through your JUG or employer
ndashHelp each other
ndashTeach other
ndashWork with each other
Working Together ndash JavaOne 2016 in September httpswwwyoutubecomwatchv=J5_MH5jCYh0
40
Adopt-a-JSR
A JUG-lead initiative to improve Java standards
Global groups of JUG members work on JSRs
ndashReceive attention from local industry
ndashBecome more professional ndash helps focus your group efforts
ndashAttract more developers to your community
JUGs around the World
43
Chennai JUG
JSR 338 Java Persistence 21
JSR 344 JSF 22
JSR 352 Batch
JSR 353 JSON
JSR 356 WebSocket
Developed sample lsquoUrban Travelerrsquo application
Use Cases
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
Click icon to add picture
Why Participate
1 Knowledge 2 Skills 3 Visibility 4 Altruism 5 Fun
25
Click icon to add picture Joining the JCP empowers you to
bull Take Initiative ndash Requirements
bull Adapt and Inform
bull Develop New Markets
bull Grow Developers
26
Why Participate as Corporation
Click icon to add picture
How
bullNew revisions of each of the three platforms
bull ldquoJCPNextrdquo reforms
bullIncreased participation from Java User Groups
2011 - Present Day
27
Java EE 7 (JSR 342) ndash May 2013
28
Java ME 8 (JSRs 360 amp 361) ndash April 2014
29
Java SE 8 JSR 337 - March 2014
30
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext (JSR 348)
33
JCPnext (JSR 355)
34
JCPnext4 (JSR 364) JCPnext (JSR 364)
36
Eliminate Barriers to participation
Introduce new Membership levels
No Membership Fees
Electronic Signatures
Add Contributors for JSR Expert Groups
Add Associate Seats on Executive Committee
JCP 210 Broadening JCP Membership
37
Associate Members are individuals who can contribute to JSRs and vote for the Executive Committee
Partner Members are Java User Groups and other non-profit organizations that can serve on and vote for the Executive Committee
Full Members can serve on Expert Groups lead JSRs serve on and vote for the Executive Committee
Memberships
The JCP is More Open Than Before
38
How will you Participate
bullAs an Individual ndash OK
bullAs part of a team ndash better
bullWork through your JUG or employer
ndashHelp each other
ndashTeach other
ndashWork with each other
Working Together ndash JavaOne 2016 in September httpswwwyoutubecomwatchv=J5_MH5jCYh0
40
Adopt-a-JSR
A JUG-lead initiative to improve Java standards
Global groups of JUG members work on JSRs
ndashReceive attention from local industry
ndashBecome more professional ndash helps focus your group efforts
ndashAttract more developers to your community
JUGs around the World
43
Chennai JUG
JSR 338 Java Persistence 21
JSR 344 JSF 22
JSR 352 Batch
JSR 353 JSON
JSR 356 WebSocket
Developed sample lsquoUrban Travelerrsquo application
Use Cases
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
Click icon to add picture Joining the JCP empowers you to
bull Take Initiative ndash Requirements
bull Adapt and Inform
bull Develop New Markets
bull Grow Developers
26
Why Participate as Corporation
Click icon to add picture
How
bullNew revisions of each of the three platforms
bull ldquoJCPNextrdquo reforms
bullIncreased participation from Java User Groups
2011 - Present Day
27
Java EE 7 (JSR 342) ndash May 2013
28
Java ME 8 (JSRs 360 amp 361) ndash April 2014
29
Java SE 8 JSR 337 - March 2014
30
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext (JSR 348)
33
JCPnext (JSR 355)
34
JCPnext4 (JSR 364) JCPnext (JSR 364)
36
Eliminate Barriers to participation
Introduce new Membership levels
No Membership Fees
Electronic Signatures
Add Contributors for JSR Expert Groups
Add Associate Seats on Executive Committee
JCP 210 Broadening JCP Membership
37
Associate Members are individuals who can contribute to JSRs and vote for the Executive Committee
Partner Members are Java User Groups and other non-profit organizations that can serve on and vote for the Executive Committee
Full Members can serve on Expert Groups lead JSRs serve on and vote for the Executive Committee
Memberships
The JCP is More Open Than Before
38
How will you Participate
bullAs an Individual ndash OK
bullAs part of a team ndash better
bullWork through your JUG or employer
ndashHelp each other
ndashTeach other
ndashWork with each other
Working Together ndash JavaOne 2016 in September httpswwwyoutubecomwatchv=J5_MH5jCYh0
40
Adopt-a-JSR
A JUG-lead initiative to improve Java standards
Global groups of JUG members work on JSRs
ndashReceive attention from local industry
ndashBecome more professional ndash helps focus your group efforts
ndashAttract more developers to your community
JUGs around the World
43
Chennai JUG
JSR 338 Java Persistence 21
JSR 344 JSF 22
JSR 352 Batch
JSR 353 JSON
JSR 356 WebSocket
Developed sample lsquoUrban Travelerrsquo application
Use Cases
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
Click icon to add picture
How
bullNew revisions of each of the three platforms
bull ldquoJCPNextrdquo reforms
bullIncreased participation from Java User Groups
2011 - Present Day
27
Java EE 7 (JSR 342) ndash May 2013
28
Java ME 8 (JSRs 360 amp 361) ndash April 2014
29
Java SE 8 JSR 337 - March 2014
30
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext (JSR 348)
33
JCPnext (JSR 355)
34
JCPnext4 (JSR 364) JCPnext (JSR 364)
36
Eliminate Barriers to participation
Introduce new Membership levels
No Membership Fees
Electronic Signatures
Add Contributors for JSR Expert Groups
Add Associate Seats on Executive Committee
JCP 210 Broadening JCP Membership
37
Associate Members are individuals who can contribute to JSRs and vote for the Executive Committee
Partner Members are Java User Groups and other non-profit organizations that can serve on and vote for the Executive Committee
Full Members can serve on Expert Groups lead JSRs serve on and vote for the Executive Committee
Memberships
The JCP is More Open Than Before
38
How will you Participate
bullAs an Individual ndash OK
bullAs part of a team ndash better
bullWork through your JUG or employer
ndashHelp each other
ndashTeach other
ndashWork with each other
Working Together ndash JavaOne 2016 in September httpswwwyoutubecomwatchv=J5_MH5jCYh0
40
Adopt-a-JSR
A JUG-lead initiative to improve Java standards
Global groups of JUG members work on JSRs
ndashReceive attention from local industry
ndashBecome more professional ndash helps focus your group efforts
ndashAttract more developers to your community
JUGs around the World
43
Chennai JUG
JSR 338 Java Persistence 21
JSR 344 JSF 22
JSR 352 Batch
JSR 353 JSON
JSR 356 WebSocket
Developed sample lsquoUrban Travelerrsquo application
Use Cases
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
Java EE 7 (JSR 342) ndash May 2013
28
Java ME 8 (JSRs 360 amp 361) ndash April 2014
29
Java SE 8 JSR 337 - March 2014
30
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext (JSR 348)
33
JCPnext (JSR 355)
34
JCPnext4 (JSR 364) JCPnext (JSR 364)
36
Eliminate Barriers to participation
Introduce new Membership levels
No Membership Fees
Electronic Signatures
Add Contributors for JSR Expert Groups
Add Associate Seats on Executive Committee
JCP 210 Broadening JCP Membership
37
Associate Members are individuals who can contribute to JSRs and vote for the Executive Committee
Partner Members are Java User Groups and other non-profit organizations that can serve on and vote for the Executive Committee
Full Members can serve on Expert Groups lead JSRs serve on and vote for the Executive Committee
Memberships
The JCP is More Open Than Before
38
How will you Participate
bullAs an Individual ndash OK
bullAs part of a team ndash better
bullWork through your JUG or employer
ndashHelp each other
ndashTeach other
ndashWork with each other
Working Together ndash JavaOne 2016 in September httpswwwyoutubecomwatchv=J5_MH5jCYh0
40
Adopt-a-JSR
A JUG-lead initiative to improve Java standards
Global groups of JUG members work on JSRs
ndashReceive attention from local industry
ndashBecome more professional ndash helps focus your group efforts
ndashAttract more developers to your community
JUGs around the World
43
Chennai JUG
JSR 338 Java Persistence 21
JSR 344 JSF 22
JSR 352 Batch
JSR 353 JSON
JSR 356 WebSocket
Developed sample lsquoUrban Travelerrsquo application
Use Cases
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
Java ME 8 (JSRs 360 amp 361) ndash April 2014
29
Java SE 8 JSR 337 - March 2014
30
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext (JSR 348)
33
JCPnext (JSR 355)
34
JCPnext4 (JSR 364) JCPnext (JSR 364)
36
Eliminate Barriers to participation
Introduce new Membership levels
No Membership Fees
Electronic Signatures
Add Contributors for JSR Expert Groups
Add Associate Seats on Executive Committee
JCP 210 Broadening JCP Membership
37
Associate Members are individuals who can contribute to JSRs and vote for the Executive Committee
Partner Members are Java User Groups and other non-profit organizations that can serve on and vote for the Executive Committee
Full Members can serve on Expert Groups lead JSRs serve on and vote for the Executive Committee
Memberships
The JCP is More Open Than Before
38
How will you Participate
bullAs an Individual ndash OK
bullAs part of a team ndash better
bullWork through your JUG or employer
ndashHelp each other
ndashTeach other
ndashWork with each other
Working Together ndash JavaOne 2016 in September httpswwwyoutubecomwatchv=J5_MH5jCYh0
40
Adopt-a-JSR
A JUG-lead initiative to improve Java standards
Global groups of JUG members work on JSRs
ndashReceive attention from local industry
ndashBecome more professional ndash helps focus your group efforts
ndashAttract more developers to your community
JUGs around the World
43
Chennai JUG
JSR 338 Java Persistence 21
JSR 344 JSF 22
JSR 352 Batch
JSR 353 JSON
JSR 356 WebSocket
Developed sample lsquoUrban Travelerrsquo application
Use Cases
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
Java SE 8 JSR 337 - March 2014
30
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext (JSR 348)
33
JCPnext (JSR 355)
34
JCPnext4 (JSR 364) JCPnext (JSR 364)
36
Eliminate Barriers to participation
Introduce new Membership levels
No Membership Fees
Electronic Signatures
Add Contributors for JSR Expert Groups
Add Associate Seats on Executive Committee
JCP 210 Broadening JCP Membership
37
Associate Members are individuals who can contribute to JSRs and vote for the Executive Committee
Partner Members are Java User Groups and other non-profit organizations that can serve on and vote for the Executive Committee
Full Members can serve on Expert Groups lead JSRs serve on and vote for the Executive Committee
Memberships
The JCP is More Open Than Before
38
How will you Participate
bullAs an Individual ndash OK
bullAs part of a team ndash better
bullWork through your JUG or employer
ndashHelp each other
ndashTeach other
ndashWork with each other
Working Together ndash JavaOne 2016 in September httpswwwyoutubecomwatchv=J5_MH5jCYh0
40
Adopt-a-JSR
A JUG-lead initiative to improve Java standards
Global groups of JUG members work on JSRs
ndashReceive attention from local industry
ndashBecome more professional ndash helps focus your group efforts
ndashAttract more developers to your community
JUGs around the World
43
Chennai JUG
JSR 338 Java Persistence 21
JSR 344 JSF 22
JSR 352 Batch
JSR 353 JSON
JSR 356 WebSocket
Developed sample lsquoUrban Travelerrsquo application
Use Cases
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext (JSR 348)
33
JCPnext (JSR 355)
34
JCPnext4 (JSR 364) JCPnext (JSR 364)
36
Eliminate Barriers to participation
Introduce new Membership levels
No Membership Fees
Electronic Signatures
Add Contributors for JSR Expert Groups
Add Associate Seats on Executive Committee
JCP 210 Broadening JCP Membership
37
Associate Members are individuals who can contribute to JSRs and vote for the Executive Committee
Partner Members are Java User Groups and other non-profit organizations that can serve on and vote for the Executive Committee
Full Members can serve on Expert Groups lead JSRs serve on and vote for the Executive Committee
Memberships
The JCP is More Open Than Before
38
How will you Participate
bullAs an Individual ndash OK
bullAs part of a team ndash better
bullWork through your JUG or employer
ndashHelp each other
ndashTeach other
ndashWork with each other
Working Together ndash JavaOne 2016 in September httpswwwyoutubecomwatchv=J5_MH5jCYh0
40
Adopt-a-JSR
A JUG-lead initiative to improve Java standards
Global groups of JUG members work on JSRs
ndashReceive attention from local industry
ndashBecome more professional ndash helps focus your group efforts
ndashAttract more developers to your community
JUGs around the World
43
Chennai JUG
JSR 338 Java Persistence 21
JSR 344 JSF 22
JSR 352 Batch
JSR 353 JSON
JSR 356 WebSocket
Developed sample lsquoUrban Travelerrsquo application
Use Cases
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
JCPnext Changing the Constitution
JCPnext (JSR 348)
33
JCPnext (JSR 355)
34
JCPnext4 (JSR 364) JCPnext (JSR 364)
36
Eliminate Barriers to participation
Introduce new Membership levels
No Membership Fees
Electronic Signatures
Add Contributors for JSR Expert Groups
Add Associate Seats on Executive Committee
JCP 210 Broadening JCP Membership
37
Associate Members are individuals who can contribute to JSRs and vote for the Executive Committee
Partner Members are Java User Groups and other non-profit organizations that can serve on and vote for the Executive Committee
Full Members can serve on Expert Groups lead JSRs serve on and vote for the Executive Committee
Memberships
The JCP is More Open Than Before
38
How will you Participate
bullAs an Individual ndash OK
bullAs part of a team ndash better
bullWork through your JUG or employer
ndashHelp each other
ndashTeach other
ndashWork with each other
Working Together ndash JavaOne 2016 in September httpswwwyoutubecomwatchv=J5_MH5jCYh0
40
Adopt-a-JSR
A JUG-lead initiative to improve Java standards
Global groups of JUG members work on JSRs
ndashReceive attention from local industry
ndashBecome more professional ndash helps focus your group efforts
ndashAttract more developers to your community
JUGs around the World
43
Chennai JUG
JSR 338 Java Persistence 21
JSR 344 JSF 22
JSR 352 Batch
JSR 353 JSON
JSR 356 WebSocket
Developed sample lsquoUrban Travelerrsquo application
Use Cases
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
JCPnext (JSR 348)
33
JCPnext (JSR 355)
34
JCPnext4 (JSR 364) JCPnext (JSR 364)
36
Eliminate Barriers to participation
Introduce new Membership levels
No Membership Fees
Electronic Signatures
Add Contributors for JSR Expert Groups
Add Associate Seats on Executive Committee
JCP 210 Broadening JCP Membership
37
Associate Members are individuals who can contribute to JSRs and vote for the Executive Committee
Partner Members are Java User Groups and other non-profit organizations that can serve on and vote for the Executive Committee
Full Members can serve on Expert Groups lead JSRs serve on and vote for the Executive Committee
Memberships
The JCP is More Open Than Before
38
How will you Participate
bullAs an Individual ndash OK
bullAs part of a team ndash better
bullWork through your JUG or employer
ndashHelp each other
ndashTeach other
ndashWork with each other
Working Together ndash JavaOne 2016 in September httpswwwyoutubecomwatchv=J5_MH5jCYh0
40
Adopt-a-JSR
A JUG-lead initiative to improve Java standards
Global groups of JUG members work on JSRs
ndashReceive attention from local industry
ndashBecome more professional ndash helps focus your group efforts
ndashAttract more developers to your community
JUGs around the World
43
Chennai JUG
JSR 338 Java Persistence 21
JSR 344 JSF 22
JSR 352 Batch
JSR 353 JSON
JSR 356 WebSocket
Developed sample lsquoUrban Travelerrsquo application
Use Cases
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
JCPnext (JSR 355)
34
JCPnext4 (JSR 364) JCPnext (JSR 364)
36
Eliminate Barriers to participation
Introduce new Membership levels
No Membership Fees
Electronic Signatures
Add Contributors for JSR Expert Groups
Add Associate Seats on Executive Committee
JCP 210 Broadening JCP Membership
37
Associate Members are individuals who can contribute to JSRs and vote for the Executive Committee
Partner Members are Java User Groups and other non-profit organizations that can serve on and vote for the Executive Committee
Full Members can serve on Expert Groups lead JSRs serve on and vote for the Executive Committee
Memberships
The JCP is More Open Than Before
38
How will you Participate
bullAs an Individual ndash OK
bullAs part of a team ndash better
bullWork through your JUG or employer
ndashHelp each other
ndashTeach other
ndashWork with each other
Working Together ndash JavaOne 2016 in September httpswwwyoutubecomwatchv=J5_MH5jCYh0
40
Adopt-a-JSR
A JUG-lead initiative to improve Java standards
Global groups of JUG members work on JSRs
ndashReceive attention from local industry
ndashBecome more professional ndash helps focus your group efforts
ndashAttract more developers to your community
JUGs around the World
43
Chennai JUG
JSR 338 Java Persistence 21
JSR 344 JSF 22
JSR 352 Batch
JSR 353 JSON
JSR 356 WebSocket
Developed sample lsquoUrban Travelerrsquo application
Use Cases
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
JCPnext4 (JSR 364) JCPnext (JSR 364)
36
Eliminate Barriers to participation
Introduce new Membership levels
No Membership Fees
Electronic Signatures
Add Contributors for JSR Expert Groups
Add Associate Seats on Executive Committee
JCP 210 Broadening JCP Membership
37
Associate Members are individuals who can contribute to JSRs and vote for the Executive Committee
Partner Members are Java User Groups and other non-profit organizations that can serve on and vote for the Executive Committee
Full Members can serve on Expert Groups lead JSRs serve on and vote for the Executive Committee
Memberships
The JCP is More Open Than Before
38
How will you Participate
bullAs an Individual ndash OK
bullAs part of a team ndash better
bullWork through your JUG or employer
ndashHelp each other
ndashTeach other
ndashWork with each other
Working Together ndash JavaOne 2016 in September httpswwwyoutubecomwatchv=J5_MH5jCYh0
40
Adopt-a-JSR
A JUG-lead initiative to improve Java standards
Global groups of JUG members work on JSRs
ndashReceive attention from local industry
ndashBecome more professional ndash helps focus your group efforts
ndashAttract more developers to your community
JUGs around the World
43
Chennai JUG
JSR 338 Java Persistence 21
JSR 344 JSF 22
JSR 352 Batch
JSR 353 JSON
JSR 356 WebSocket
Developed sample lsquoUrban Travelerrsquo application
Use Cases
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
36
Eliminate Barriers to participation
Introduce new Membership levels
No Membership Fees
Electronic Signatures
Add Contributors for JSR Expert Groups
Add Associate Seats on Executive Committee
JCP 210 Broadening JCP Membership
37
Associate Members are individuals who can contribute to JSRs and vote for the Executive Committee
Partner Members are Java User Groups and other non-profit organizations that can serve on and vote for the Executive Committee
Full Members can serve on Expert Groups lead JSRs serve on and vote for the Executive Committee
Memberships
The JCP is More Open Than Before
38
How will you Participate
bullAs an Individual ndash OK
bullAs part of a team ndash better
bullWork through your JUG or employer
ndashHelp each other
ndashTeach other
ndashWork with each other
Working Together ndash JavaOne 2016 in September httpswwwyoutubecomwatchv=J5_MH5jCYh0
40
Adopt-a-JSR
A JUG-lead initiative to improve Java standards
Global groups of JUG members work on JSRs
ndashReceive attention from local industry
ndashBecome more professional ndash helps focus your group efforts
ndashAttract more developers to your community
JUGs around the World
43
Chennai JUG
JSR 338 Java Persistence 21
JSR 344 JSF 22
JSR 352 Batch
JSR 353 JSON
JSR 356 WebSocket
Developed sample lsquoUrban Travelerrsquo application
Use Cases
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
37
Associate Members are individuals who can contribute to JSRs and vote for the Executive Committee
Partner Members are Java User Groups and other non-profit organizations that can serve on and vote for the Executive Committee
Full Members can serve on Expert Groups lead JSRs serve on and vote for the Executive Committee
Memberships
The JCP is More Open Than Before
38
How will you Participate
bullAs an Individual ndash OK
bullAs part of a team ndash better
bullWork through your JUG or employer
ndashHelp each other
ndashTeach other
ndashWork with each other
Working Together ndash JavaOne 2016 in September httpswwwyoutubecomwatchv=J5_MH5jCYh0
40
Adopt-a-JSR
A JUG-lead initiative to improve Java standards
Global groups of JUG members work on JSRs
ndashReceive attention from local industry
ndashBecome more professional ndash helps focus your group efforts
ndashAttract more developers to your community
JUGs around the World
43
Chennai JUG
JSR 338 Java Persistence 21
JSR 344 JSF 22
JSR 352 Batch
JSR 353 JSON
JSR 356 WebSocket
Developed sample lsquoUrban Travelerrsquo application
Use Cases
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
The JCP is More Open Than Before
38
How will you Participate
bullAs an Individual ndash OK
bullAs part of a team ndash better
bullWork through your JUG or employer
ndashHelp each other
ndashTeach other
ndashWork with each other
Working Together ndash JavaOne 2016 in September httpswwwyoutubecomwatchv=J5_MH5jCYh0
40
Adopt-a-JSR
A JUG-lead initiative to improve Java standards
Global groups of JUG members work on JSRs
ndashReceive attention from local industry
ndashBecome more professional ndash helps focus your group efforts
ndashAttract more developers to your community
JUGs around the World
43
Chennai JUG
JSR 338 Java Persistence 21
JSR 344 JSF 22
JSR 352 Batch
JSR 353 JSON
JSR 356 WebSocket
Developed sample lsquoUrban Travelerrsquo application
Use Cases
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
How will you Participate
bullAs an Individual ndash OK
bullAs part of a team ndash better
bullWork through your JUG or employer
ndashHelp each other
ndashTeach other
ndashWork with each other
Working Together ndash JavaOne 2016 in September httpswwwyoutubecomwatchv=J5_MH5jCYh0
40
Adopt-a-JSR
A JUG-lead initiative to improve Java standards
Global groups of JUG members work on JSRs
ndashReceive attention from local industry
ndashBecome more professional ndash helps focus your group efforts
ndashAttract more developers to your community
JUGs around the World
43
Chennai JUG
JSR 338 Java Persistence 21
JSR 344 JSF 22
JSR 352 Batch
JSR 353 JSON
JSR 356 WebSocket
Developed sample lsquoUrban Travelerrsquo application
Use Cases
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
Working Together ndash JavaOne 2016 in September httpswwwyoutubecomwatchv=J5_MH5jCYh0
40
Adopt-a-JSR
A JUG-lead initiative to improve Java standards
Global groups of JUG members work on JSRs
ndashReceive attention from local industry
ndashBecome more professional ndash helps focus your group efforts
ndashAttract more developers to your community
JUGs around the World
43
Chennai JUG
JSR 338 Java Persistence 21
JSR 344 JSF 22
JSR 352 Batch
JSR 353 JSON
JSR 356 WebSocket
Developed sample lsquoUrban Travelerrsquo application
Use Cases
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
Adopt-a-JSR
A JUG-lead initiative to improve Java standards
Global groups of JUG members work on JSRs
ndashReceive attention from local industry
ndashBecome more professional ndash helps focus your group efforts
ndashAttract more developers to your community
JUGs around the World
43
Chennai JUG
JSR 338 Java Persistence 21
JSR 344 JSF 22
JSR 352 Batch
JSR 353 JSON
JSR 356 WebSocket
Developed sample lsquoUrban Travelerrsquo application
Use Cases
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
JUGs around the World
43
Chennai JUG
JSR 338 Java Persistence 21
JSR 344 JSF 22
JSR 352 Batch
JSR 353 JSON
JSR 356 WebSocket
Developed sample lsquoUrban Travelerrsquo application
Use Cases
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
43
Chennai JUG
JSR 338 Java Persistence 21
JSR 344 JSF 22
JSR 352 Batch
JSR 353 JSON
JSR 356 WebSocket
Developed sample lsquoUrban Travelerrsquo application
Use Cases
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
44
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
45
BeJUG (Belgium)
JSR 356 Java API for WebSocket
Hack day (s)
Developed Tic-Tac-Toe game Included in Java EE 7 SDK
Use Cases
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
SouJava (Brazil)
JSR 310 Date and Time API
JSR 339 JAX-RS 20
344 JSF 22
Many talks books articles classes code dojos (hack days) translations
Use Cases
46
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
47
ADOPTAJSRORG wiki ndash Get Started amp join list
You expanded wiki into eight languages Arabic Chinese English French German Portuguese Spanish Turkishyou choose who will translate next language
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
48
1) Pick JSR - New JSRs httpsjcporgenjsrstagelistBy=active
Recently submitted
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 11 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 21 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 21 (JSR 370)
MVC (JSR 371)
JSF 23 (JSR 372)
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java EE 8 Community Survey
Glasfishorgsurveys
Web standardsHTML5 alignment Cloud CDI alignment Enterprise Java SE 8
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
50
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
52
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
53
4) Enter activity in the matrix - Collaborate
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
54
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
55
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
56
6) Share - Add amp Use Resources on GitHub
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
Participate in OpenJDK
57
bull Adoption Group amp Quality Outreach
bull Join mail list prior to sending feedback httpmailopenjdkjavanetmailmanlistinfoadoption-discuss
bull httpswikiopenjdkjavanetdisplayqualityQuality+Outreach
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
JDK 9
72 JEPs targeted for JDK 9
ndash JEP == Java Enhancement Proposal
Big one ndash JEP 261ndash Module System
ndash httpopenjdkjavanetjeps261
ndash Related JEPs for the Module System
JEP 200 ndash The Modular JDK
JEP 201 ndash Modular Source Code
JEP 220 ndash Modular Run-Time Images
JEP 260 ndash Encapsulate Most Internal APIs
JEP 162 ndash Prepare for Modularization
Another big step forward
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
JDK 9
Jigsaw available in current JDK 9 EA (early access)
ndash httpsjdk9javanetdownload
Build 111 or later has Jigsaw in it
Current available downloadable build is Build 122
Another big step forward
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
Other JEPs
bull JEP 102 Process API Updates
ndash Java APIs for controlling and managing operating-system processes
bull get the process id of the JVM
bull get process information such as process id name and state
bull deal with process trees a means to destroy a process tree
bull Most enhancements added to Process and ProcessHandle classes
bull JEP 158 Unified JVM Logging
ndash Common logging for all of the JVM
ndash Log messages categorized using tags
bull JEP 271 Unified GC Logging
ndash GC logging using Unified JVM Logging
ndash If you have customized programs today that parse GC output these will likely be impacted
bull JEP 197 Segmented Code Cache
ndash Improved organization and maintenance of JIT compiled code (performance improvement)
bull Better instruction cache and instruction TLB behavior
hellip of significant interest
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
Other JEPs
JEP 232 Improve Secure Application Performance
ndash Improved security manager performance
JEP 237 LinuxAArch64 Port
ndash JDK JRE for ARM Linux
JEP 254 Compact Strings
ndash Transparently optimize single byte char usage
CJUG presentation in February
JEP 280 Indify String Concatenation
ndash Optimize String concatenation
hellip of significant interest
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
HotSpot VM Improvements
Many performance improvements from the JEPs
ndash JEP 254 Compact Strings
ndash JEP 280 Indify String Concatenation
ndash JEP 197 Segmented Code Cache
ndash JEP 232 Improve Secure Application Performance
JIT compiler supporting enhanced instructions
ndash ie Intel AVX
G1 GC
ndash Continues to be GC area of enhancement investment
Performance performance performance
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
63
JDK 9 Outreach httpswikiopenjdkjavanetdisplayAdoptionJDK+9+OutreachJDK9Outreach-Introduction
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
Test Java 9 ndash changes that may affect your code
JDK 9 changes that may affect your code - Added
ndash OCSP Stapling for TLS
ndash Multi-Release JAR Files
ndash Parser API for Nashorn
ndash Prepare JavaFX UI Controls amp CSS APIs for Modularization
ndash Validate JVM Command-Line Flag Arguments
ndash XML Catalogs
ndash Platform-Specific Desktop Features
ndash llbackDialogCallbackHandler
64
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
Test Java 9 ndash changes that may affect your code
Changed
ndash ArraysasList(x)toArray() returns Object[]
ndash Create PKCS12 Keystores by Default
ndash HarfBuzz Font-Layout Engine
ndash Make G1 the Default Garbage Collector
ndash Marlin Graphics Renderer
ndash Modular Run-Time Images
ndash New Version-String Scheme
ndash Unified JVM Logging
ndash Use CLDR Locale Data by Default
ndash UTF-8 Property Files
65
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
Test Java 9 ndash changes that may affect your code
Removed
ndash Remove GC Combinations Deprecated in JDK 8
ndash Remove Launch-Time JRE Version Selection
ndash Remove the JVM TI hprof Agent
ndash Remove the jhat Tool
ndash Removed API references to javaawtpeer and javaawtdndpeer packages
ndash Removed PackerUnpacker addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed LogManager addPropertyChangeListener and removePropertyChangeListener methods
ndash Removed comsunsecurityauthca
66
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
7) Participate in Hack Days ndash Have Fun
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
We need you
bullFollow the JCP online httpJCPorg
ndashJoin the JCP httpsjcporgenparticipationmembership
ndashTwitter jcp_org JCP
ndashblogsoraclecomjcp
ndashFacebook Java Community Process
bullAdopt-a-JSR online adoptajsrorg adoptajsr
ndashmembersadoptajsrjavanet - the global mailing list
ndashIRC adoptajsr channel on ircfreenodenet
ndashGitHub httpsgithubcomAdopt-a-JSR
68
If you want to go farhellip
69
If you want to go farhellip
69