participate in the future of java -...
TRANSCRIPT
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Participate in the Future of Java
Heather VanCura heatherjcporg
Twitter heathervc
BaltimoreDCPhilly
May 2016
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
bull JCP 10 ndash Formalization of JCP (1999)
bull JCP 20 ndash Form Executive Committee (2000)
bull JCP 25 ndash Enable Participation for Spec Leadership Individuals (2002)
bull JCP 26 ndash Embrace Open Source (2004)
bull JCP 27 ndash Transparency (2009)
bull JCP 28 ndash Increased transparency (2011)
bull JCP 29 ndash Merge EC (2012)
bull JCP 210 ndash Broaden Participation (2016)
bull 38
Use the Process to Change the Process
The JCP is More Open Than Before
39
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
41
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
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
bull JCP 10 ndash Formalization of JCP (1999)
bull JCP 20 ndash Form Executive Committee (2000)
bull JCP 25 ndash Enable Participation for Spec Leadership Individuals (2002)
bull JCP 26 ndash Embrace Open Source (2004)
bull JCP 27 ndash Transparency (2009)
bull JCP 28 ndash Increased transparency (2011)
bull JCP 29 ndash Merge EC (2012)
bull JCP 210 ndash Broaden Participation (2016)
bull 38
Use the Process to Change the Process
The JCP is More Open Than Before
39
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
41
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
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
bull JCP 10 ndash Formalization of JCP (1999)
bull JCP 20 ndash Form Executive Committee (2000)
bull JCP 25 ndash Enable Participation for Spec Leadership Individuals (2002)
bull JCP 26 ndash Embrace Open Source (2004)
bull JCP 27 ndash Transparency (2009)
bull JCP 28 ndash Increased transparency (2011)
bull JCP 29 ndash Merge EC (2012)
bull JCP 210 ndash Broaden Participation (2016)
bull 38
Use the Process to Change the Process
The JCP is More Open Than Before
39
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
41
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
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
bull JCP 10 ndash Formalization of JCP (1999)
bull JCP 20 ndash Form Executive Committee (2000)
bull JCP 25 ndash Enable Participation for Spec Leadership Individuals (2002)
bull JCP 26 ndash Embrace Open Source (2004)
bull JCP 27 ndash Transparency (2009)
bull JCP 28 ndash Increased transparency (2011)
bull JCP 29 ndash Merge EC (2012)
bull JCP 210 ndash Broaden Participation (2016)
bull 38
Use the Process to Change the Process
The JCP is More Open Than Before
39
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
41
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
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
bull JCP 10 ndash Formalization of JCP (1999)
bull JCP 20 ndash Form Executive Committee (2000)
bull JCP 25 ndash Enable Participation for Spec Leadership Individuals (2002)
bull JCP 26 ndash Embrace Open Source (2004)
bull JCP 27 ndash Transparency (2009)
bull JCP 28 ndash Increased transparency (2011)
bull JCP 29 ndash Merge EC (2012)
bull JCP 210 ndash Broaden Participation (2016)
bull 38
Use the Process to Change the Process
The JCP is More Open Than Before
39
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
41
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
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
bull JCP 10 ndash Formalization of JCP (1999)
bull JCP 20 ndash Form Executive Committee (2000)
bull JCP 25 ndash Enable Participation for Spec Leadership Individuals (2002)
bull JCP 26 ndash Embrace Open Source (2004)
bull JCP 27 ndash Transparency (2009)
bull JCP 28 ndash Increased transparency (2011)
bull JCP 29 ndash Merge EC (2012)
bull JCP 210 ndash Broaden Participation (2016)
bull 38
Use the Process to Change the Process
The JCP is More Open Than Before
39
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
41
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
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
bull JCP 10 ndash Formalization of JCP (1999)
bull JCP 20 ndash Form Executive Committee (2000)
bull JCP 25 ndash Enable Participation for Spec Leadership Individuals (2002)
bull JCP 26 ndash Embrace Open Source (2004)
bull JCP 27 ndash Transparency (2009)
bull JCP 28 ndash Increased transparency (2011)
bull JCP 29 ndash Merge EC (2012)
bull JCP 210 ndash Broaden Participation (2016)
bull 38
Use the Process to Change the Process
The JCP is More Open Than Before
39
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
41
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
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
bull JCP 10 ndash Formalization of JCP (1999)
bull JCP 20 ndash Form Executive Committee (2000)
bull JCP 25 ndash Enable Participation for Spec Leadership Individuals (2002)
bull JCP 26 ndash Embrace Open Source (2004)
bull JCP 27 ndash Transparency (2009)
bull JCP 28 ndash Increased transparency (2011)
bull JCP 29 ndash Merge EC (2012)
bull JCP 210 ndash Broaden Participation (2016)
bull 38
Use the Process to Change the Process
The JCP is More Open Than Before
39
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
41
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
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
bull JCP 10 ndash Formalization of JCP (1999)
bull JCP 20 ndash Form Executive Committee (2000)
bull JCP 25 ndash Enable Participation for Spec Leadership Individuals (2002)
bull JCP 26 ndash Embrace Open Source (2004)
bull JCP 27 ndash Transparency (2009)
bull JCP 28 ndash Increased transparency (2011)
bull JCP 29 ndash Merge EC (2012)
bull JCP 210 ndash Broaden Participation (2016)
bull 38
Use the Process to Change the Process
The JCP is More Open Than Before
39
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
41
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
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
bull JCP 10 ndash Formalization of JCP (1999)
bull JCP 20 ndash Form Executive Committee (2000)
bull JCP 25 ndash Enable Participation for Spec Leadership Individuals (2002)
bull JCP 26 ndash Embrace Open Source (2004)
bull JCP 27 ndash Transparency (2009)
bull JCP 28 ndash Increased transparency (2011)
bull JCP 29 ndash Merge EC (2012)
bull JCP 210 ndash Broaden Participation (2016)
bull 38
Use the Process to Change the Process
The JCP is More Open Than Before
39
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
41
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
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
bull JCP 10 ndash Formalization of JCP (1999)
bull JCP 20 ndash Form Executive Committee (2000)
bull JCP 25 ndash Enable Participation for Spec Leadership Individuals (2002)
bull JCP 26 ndash Embrace Open Source (2004)
bull JCP 27 ndash Transparency (2009)
bull JCP 28 ndash Increased transparency (2011)
bull JCP 29 ndash Merge EC (2012)
bull JCP 210 ndash Broaden Participation (2016)
bull 38
Use the Process to Change the Process
The JCP is More Open Than Before
39
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
41
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
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
bull JCP 10 ndash Formalization of JCP (1999)
bull JCP 20 ndash Form Executive Committee (2000)
bull JCP 25 ndash Enable Participation for Spec Leadership Individuals (2002)
bull JCP 26 ndash Embrace Open Source (2004)
bull JCP 27 ndash Transparency (2009)
bull JCP 28 ndash Increased transparency (2011)
bull JCP 29 ndash Merge EC (2012)
bull JCP 210 ndash Broaden Participation (2016)
bull 38
Use the Process to Change the Process
The JCP is More Open Than Before
39
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
41
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
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
bull JCP 10 ndash Formalization of JCP (1999)
bull JCP 20 ndash Form Executive Committee (2000)
bull JCP 25 ndash Enable Participation for Spec Leadership Individuals (2002)
bull JCP 26 ndash Embrace Open Source (2004)
bull JCP 27 ndash Transparency (2009)
bull JCP 28 ndash Increased transparency (2011)
bull JCP 29 ndash Merge EC (2012)
bull JCP 210 ndash Broaden Participation (2016)
bull 38
Use the Process to Change the Process
The JCP is More Open Than Before
39
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
41
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
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
bull JCP 10 ndash Formalization of JCP (1999)
bull JCP 20 ndash Form Executive Committee (2000)
bull JCP 25 ndash Enable Participation for Spec Leadership Individuals (2002)
bull JCP 26 ndash Embrace Open Source (2004)
bull JCP 27 ndash Transparency (2009)
bull JCP 28 ndash Increased transparency (2011)
bull JCP 29 ndash Merge EC (2012)
bull JCP 210 ndash Broaden Participation (2016)
bull 38
Use the Process to Change the Process
The JCP is More Open Than Before
39
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
41
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
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
bull JCP 10 ndash Formalization of JCP (1999)
bull JCP 20 ndash Form Executive Committee (2000)
bull JCP 25 ndash Enable Participation for Spec Leadership Individuals (2002)
bull JCP 26 ndash Embrace Open Source (2004)
bull JCP 27 ndash Transparency (2009)
bull JCP 28 ndash Increased transparency (2011)
bull JCP 29 ndash Merge EC (2012)
bull JCP 210 ndash Broaden Participation (2016)
bull 38
Use the Process to Change the Process
The JCP is More Open Than Before
39
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
41
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
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
bull JCP 10 ndash Formalization of JCP (1999)
bull JCP 20 ndash Form Executive Committee (2000)
bull JCP 25 ndash Enable Participation for Spec Leadership Individuals (2002)
bull JCP 26 ndash Embrace Open Source (2004)
bull JCP 27 ndash Transparency (2009)
bull JCP 28 ndash Increased transparency (2011)
bull JCP 29 ndash Merge EC (2012)
bull JCP 210 ndash Broaden Participation (2016)
bull 38
Use the Process to Change the Process
The JCP is More Open Than Before
39
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
41
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
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
bull JCP 10 ndash Formalization of JCP (1999)
bull JCP 20 ndash Form Executive Committee (2000)
bull JCP 25 ndash Enable Participation for Spec Leadership Individuals (2002)
bull JCP 26 ndash Embrace Open Source (2004)
bull JCP 27 ndash Transparency (2009)
bull JCP 28 ndash Increased transparency (2011)
bull JCP 29 ndash Merge EC (2012)
bull JCP 210 ndash Broaden Participation (2016)
bull 38
Use the Process to Change the Process
The JCP is More Open Than Before
39
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
41
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
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
bull JCP 10 ndash Formalization of JCP (1999)
bull JCP 20 ndash Form Executive Committee (2000)
bull JCP 25 ndash Enable Participation for Spec Leadership Individuals (2002)
bull JCP 26 ndash Embrace Open Source (2004)
bull JCP 27 ndash Transparency (2009)
bull JCP 28 ndash Increased transparency (2011)
bull JCP 29 ndash Merge EC (2012)
bull JCP 210 ndash Broaden Participation (2016)
bull 38
Use the Process to Change the Process
The JCP is More Open Than Before
39
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
41
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
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
bull JCP 10 ndash Formalization of JCP (1999)
bull JCP 20 ndash Form Executive Committee (2000)
bull JCP 25 ndash Enable Participation for Spec Leadership Individuals (2002)
bull JCP 26 ndash Embrace Open Source (2004)
bull JCP 27 ndash Transparency (2009)
bull JCP 28 ndash Increased transparency (2011)
bull JCP 29 ndash Merge EC (2012)
bull JCP 210 ndash Broaden Participation (2016)
bull 38
Use the Process to Change the Process
The JCP is More Open Than Before
39
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
41
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
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
bull JCP 10 ndash Formalization of JCP (1999)
bull JCP 20 ndash Form Executive Committee (2000)
bull JCP 25 ndash Enable Participation for Spec Leadership Individuals (2002)
bull JCP 26 ndash Embrace Open Source (2004)
bull JCP 27 ndash Transparency (2009)
bull JCP 28 ndash Increased transparency (2011)
bull JCP 29 ndash Merge EC (2012)
bull JCP 210 ndash Broaden Participation (2016)
bull 38
Use the Process to Change the Process
The JCP is More Open Than Before
39
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
41
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
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
bull JCP 10 ndash Formalization of JCP (1999)
bull JCP 20 ndash Form Executive Committee (2000)
bull JCP 25 ndash Enable Participation for Spec Leadership Individuals (2002)
bull JCP 26 ndash Embrace Open Source (2004)
bull JCP 27 ndash Transparency (2009)
bull JCP 28 ndash Increased transparency (2011)
bull JCP 29 ndash Merge EC (2012)
bull JCP 210 ndash Broaden Participation (2016)
bull 38
Use the Process to Change the Process
The JCP is More Open Than Before
39
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
41
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
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
bull JCP 10 ndash Formalization of JCP (1999)
bull JCP 20 ndash Form Executive Committee (2000)
bull JCP 25 ndash Enable Participation for Spec Leadership Individuals (2002)
bull JCP 26 ndash Embrace Open Source (2004)
bull JCP 27 ndash Transparency (2009)
bull JCP 28 ndash Increased transparency (2011)
bull JCP 29 ndash Merge EC (2012)
bull JCP 210 ndash Broaden Participation (2016)
bull 38
Use the Process to Change the Process
The JCP is More Open Than Before
39
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
41
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
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
bull JCP 10 ndash Formalization of JCP (1999)
bull JCP 20 ndash Form Executive Committee (2000)
bull JCP 25 ndash Enable Participation for Spec Leadership Individuals (2002)
bull JCP 26 ndash Embrace Open Source (2004)
bull JCP 27 ndash Transparency (2009)
bull JCP 28 ndash Increased transparency (2011)
bull JCP 29 ndash Merge EC (2012)
bull JCP 210 ndash Broaden Participation (2016)
bull 38
Use the Process to Change the Process
The JCP is More Open Than Before
39
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
41
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
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
bull JCP 10 ndash Formalization of JCP (1999)
bull JCP 20 ndash Form Executive Committee (2000)
bull JCP 25 ndash Enable Participation for Spec Leadership Individuals (2002)
bull JCP 26 ndash Embrace Open Source (2004)
bull JCP 27 ndash Transparency (2009)
bull JCP 28 ndash Increased transparency (2011)
bull JCP 29 ndash Merge EC (2012)
bull JCP 210 ndash Broaden Participation (2016)
bull 38
Use the Process to Change the Process
The JCP is More Open Than Before
39
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
41
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
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
bull JCP 10 ndash Formalization of JCP (1999)
bull JCP 20 ndash Form Executive Committee (2000)
bull JCP 25 ndash Enable Participation for Spec Leadership Individuals (2002)
bull JCP 26 ndash Embrace Open Source (2004)
bull JCP 27 ndash Transparency (2009)
bull JCP 28 ndash Increased transparency (2011)
bull JCP 29 ndash Merge EC (2012)
bull JCP 210 ndash Broaden Participation (2016)
bull 38
Use the Process to Change the Process
The JCP is More Open Than Before
39
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
41
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
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
bull JCP 10 ndash Formalization of JCP (1999)
bull JCP 20 ndash Form Executive Committee (2000)
bull JCP 25 ndash Enable Participation for Spec Leadership Individuals (2002)
bull JCP 26 ndash Embrace Open Source (2004)
bull JCP 27 ndash Transparency (2009)
bull JCP 28 ndash Increased transparency (2011)
bull JCP 29 ndash Merge EC (2012)
bull JCP 210 ndash Broaden Participation (2016)
bull 38
Use the Process to Change the Process
The JCP is More Open Than Before
39
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
41
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
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
bull JCP 10 ndash Formalization of JCP (1999)
bull JCP 20 ndash Form Executive Committee (2000)
bull JCP 25 ndash Enable Participation for Spec Leadership Individuals (2002)
bull JCP 26 ndash Embrace Open Source (2004)
bull JCP 27 ndash Transparency (2009)
bull JCP 28 ndash Increased transparency (2011)
bull JCP 29 ndash Merge EC (2012)
bull JCP 210 ndash Broaden Participation (2016)
bull 38
Use the Process to Change the Process
The JCP is More Open Than Before
39
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
41
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
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
bull JCP 10 ndash Formalization of JCP (1999)
bull JCP 20 ndash Form Executive Committee (2000)
bull JCP 25 ndash Enable Participation for Spec Leadership Individuals (2002)
bull JCP 26 ndash Embrace Open Source (2004)
bull JCP 27 ndash Transparency (2009)
bull JCP 28 ndash Increased transparency (2011)
bull JCP 29 ndash Merge EC (2012)
bull JCP 210 ndash Broaden Participation (2016)
bull 38
Use the Process to Change the Process
The JCP is More Open Than Before
39
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
41
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
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
bull JCP 10 ndash Formalization of JCP (1999)
bull JCP 20 ndash Form Executive Committee (2000)
bull JCP 25 ndash Enable Participation for Spec Leadership Individuals (2002)
bull JCP 26 ndash Embrace Open Source (2004)
bull JCP 27 ndash Transparency (2009)
bull JCP 28 ndash Increased transparency (2011)
bull JCP 29 ndash Merge EC (2012)
bull JCP 210 ndash Broaden Participation (2016)
bull 38
Use the Process to Change the Process
The JCP is More Open Than Before
39
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
41
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
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
bull JCP 10 ndash Formalization of JCP (1999)
bull JCP 20 ndash Form Executive Committee (2000)
bull JCP 25 ndash Enable Participation for Spec Leadership Individuals (2002)
bull JCP 26 ndash Embrace Open Source (2004)
bull JCP 27 ndash Transparency (2009)
bull JCP 28 ndash Increased transparency (2011)
bull JCP 29 ndash Merge EC (2012)
bull JCP 210 ndash Broaden Participation (2016)
bull 38
Use the Process to Change the Process
The JCP is More Open Than Before
39
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
41
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
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
bull JCP 10 ndash Formalization of JCP (1999)
bull JCP 20 ndash Form Executive Committee (2000)
bull JCP 25 ndash Enable Participation for Spec Leadership Individuals (2002)
bull JCP 26 ndash Embrace Open Source (2004)
bull JCP 27 ndash Transparency (2009)
bull JCP 28 ndash Increased transparency (2011)
bull JCP 29 ndash Merge EC (2012)
bull JCP 210 ndash Broaden Participation (2016)
bull 38
Use the Process to Change the Process
The JCP is More Open Than Before
39
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
41
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
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
bull JCP 10 ndash Formalization of JCP (1999)
bull JCP 20 ndash Form Executive Committee (2000)
bull JCP 25 ndash Enable Participation for Spec Leadership Individuals (2002)
bull JCP 26 ndash Embrace Open Source (2004)
bull JCP 27 ndash Transparency (2009)
bull JCP 28 ndash Increased transparency (2011)
bull JCP 29 ndash Merge EC (2012)
bull JCP 210 ndash Broaden Participation (2016)
bull 38
Use the Process to Change the Process
The JCP is More Open Than Before
39
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
41
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
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
bull JCP 10 ndash Formalization of JCP (1999)
bull JCP 20 ndash Form Executive Committee (2000)
bull JCP 25 ndash Enable Participation for Spec Leadership Individuals (2002)
bull JCP 26 ndash Embrace Open Source (2004)
bull JCP 27 ndash Transparency (2009)
bull JCP 28 ndash Increased transparency (2011)
bull JCP 29 ndash Merge EC (2012)
bull JCP 210 ndash Broaden Participation (2016)
bull 38
Use the Process to Change the Process
The JCP is More Open Than Before
39
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
41
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
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
bull JCP 10 ndash Formalization of JCP (1999)
bull JCP 20 ndash Form Executive Committee (2000)
bull JCP 25 ndash Enable Participation for Spec Leadership Individuals (2002)
bull JCP 26 ndash Embrace Open Source (2004)
bull JCP 27 ndash Transparency (2009)
bull JCP 28 ndash Increased transparency (2011)
bull JCP 29 ndash Merge EC (2012)
bull JCP 210 ndash Broaden Participation (2016)
bull 38
Use the Process to Change the Process
The JCP is More Open Than Before
39
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
41
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
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
bull JCP 10 ndash Formalization of JCP (1999)
bull JCP 20 ndash Form Executive Committee (2000)
bull JCP 25 ndash Enable Participation for Spec Leadership Individuals (2002)
bull JCP 26 ndash Embrace Open Source (2004)
bull JCP 27 ndash Transparency (2009)
bull JCP 28 ndash Increased transparency (2011)
bull JCP 29 ndash Merge EC (2012)
bull JCP 210 ndash Broaden Participation (2016)
bull 38
Use the Process to Change the Process
The JCP is More Open Than Before
39
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
41
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
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
bull JCP 10 ndash Formalization of JCP (1999)
bull JCP 20 ndash Form Executive Committee (2000)
bull JCP 25 ndash Enable Participation for Spec Leadership Individuals (2002)
bull JCP 26 ndash Embrace Open Source (2004)
bull JCP 27 ndash Transparency (2009)
bull JCP 28 ndash Increased transparency (2011)
bull JCP 29 ndash Merge EC (2012)
bull JCP 210 ndash Broaden Participation (2016)
bull 38
Use the Process to Change the Process
The JCP is More Open Than Before
39
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
41
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
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
bull JCP 10 ndash Formalization of JCP (1999)
bull JCP 20 ndash Form Executive Committee (2000)
bull JCP 25 ndash Enable Participation for Spec Leadership Individuals (2002)
bull JCP 26 ndash Embrace Open Source (2004)
bull JCP 27 ndash Transparency (2009)
bull JCP 28 ndash Increased transparency (2011)
bull JCP 29 ndash Merge EC (2012)
bull JCP 210 ndash Broaden Participation (2016)
bull 38
Use the Process to Change the Process
The JCP is More Open Than Before
39
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
41
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
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
The JCP is More Open Than Before
39
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
41
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
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
41
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
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
Working Together ndash JavaOne 2016 in September httpswwwyoutubecomwatchv=J5_MH5jCYh0
41
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
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
JUGs around the World
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
44
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
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
45
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
46
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
47
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
48
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
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
49
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
51
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
2) Communication Two Way Street
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
Java EE JSRs 3) Decide on Steps Java EE Adopt-a-JSR
53
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
54
4) Enter activity in the matrix - Collaborate
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
55
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
5) How to Write a Bug - SSCE
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
56
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
57
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
Participate in Adopt OpenJDK
58
bull Go to httpjavanetprojectsadoptopenjdk
bull Also 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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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 116
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
64
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
65
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
66
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
67
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
69
If you want to go farhellip
70
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
66
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
67
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
69
If you want to go farhellip
70
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
67
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
69
If you want to go farhellip
70
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
69
If you want to go farhellip
70
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
69
If you want to go farhellip
70