Upload
heather-vancura
View
76
Download
0
Embed Size (px)
Citation preview
Copyright copy 2014 Oracle andor its affiliates All rights reserved |
Java JUG Unconference Future of Java - Jozi-JUG
Heather VanCura heatherjcporg
Twitter heathervc
Johannesburg Investec
June 2016
What Runs Java
3
4
9 Million Java developers
3 Billion devices
1 Choice for developers
1 Development platform
Ubiquitous
Collaboratively Developed - Community
5
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
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
7
8
Organization
9
bull
10
Who Are The Members
httpsjcporgenparticipationmembership
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
The Executive Committee
11
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
Compatibility Triangle
Can you build an implementation
Is the specification unambiguous
Is the TCK correct Does the RI conform
12
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
13
How Open Standards amp Open Source
14
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
15
Click icon to add picture
Why Participate
1 Knowledge 2 Skills 3 Visibility 4 Altruism 5 Fun
16
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
17
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
18
Java EE 7 (JSR 342) ndash May 2013
19
Java ME 8 (JSRs 360 amp 361) ndash April 2014
20
Java SE 8 JSR 337 - March 2014
21
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext4 (JSR 364) JCPnext (JSR 364)
25
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
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 26
Use the Process to Change the Process
The JCP is More Open Than Before
27
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
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
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
31
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
32
33
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
34
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
36
2) Communication Two Way Street
38
4) Enter activity in the matrix - Collaborate
39
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
40
41
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
42
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
What Runs Java
3
4
9 Million Java developers
3 Billion devices
1 Choice for developers
1 Development platform
Ubiquitous
Collaboratively Developed - Community
5
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
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
7
8
Organization
9
bull
10
Who Are The Members
httpsjcporgenparticipationmembership
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
The Executive Committee
11
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
Compatibility Triangle
Can you build an implementation
Is the specification unambiguous
Is the TCK correct Does the RI conform
12
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
13
How Open Standards amp Open Source
14
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
15
Click icon to add picture
Why Participate
1 Knowledge 2 Skills 3 Visibility 4 Altruism 5 Fun
16
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
17
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
18
Java EE 7 (JSR 342) ndash May 2013
19
Java ME 8 (JSRs 360 amp 361) ndash April 2014
20
Java SE 8 JSR 337 - March 2014
21
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext4 (JSR 364) JCPnext (JSR 364)
25
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
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 26
Use the Process to Change the Process
The JCP is More Open Than Before
27
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
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
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
31
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
32
33
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
34
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
36
2) Communication Two Way Street
38
4) Enter activity in the matrix - Collaborate
39
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
40
41
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
42
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
4
9 Million Java developers
3 Billion devices
1 Choice for developers
1 Development platform
Ubiquitous
Collaboratively Developed - Community
5
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
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
7
8
Organization
9
bull
10
Who Are The Members
httpsjcporgenparticipationmembership
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
The Executive Committee
11
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
Compatibility Triangle
Can you build an implementation
Is the specification unambiguous
Is the TCK correct Does the RI conform
12
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
13
How Open Standards amp Open Source
14
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
15
Click icon to add picture
Why Participate
1 Knowledge 2 Skills 3 Visibility 4 Altruism 5 Fun
16
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
17
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
18
Java EE 7 (JSR 342) ndash May 2013
19
Java ME 8 (JSRs 360 amp 361) ndash April 2014
20
Java SE 8 JSR 337 - March 2014
21
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext4 (JSR 364) JCPnext (JSR 364)
25
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
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 26
Use the Process to Change the Process
The JCP is More Open Than Before
27
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
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
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
31
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
32
33
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
34
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
36
2) Communication Two Way Street
38
4) Enter activity in the matrix - Collaborate
39
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
40
41
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
42
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
Collaboratively Developed - Community
5
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
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
7
8
Organization
9
bull
10
Who Are The Members
httpsjcporgenparticipationmembership
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
The Executive Committee
11
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
Compatibility Triangle
Can you build an implementation
Is the specification unambiguous
Is the TCK correct Does the RI conform
12
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
13
How Open Standards amp Open Source
14
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
15
Click icon to add picture
Why Participate
1 Knowledge 2 Skills 3 Visibility 4 Altruism 5 Fun
16
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
17
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
18
Java EE 7 (JSR 342) ndash May 2013
19
Java ME 8 (JSRs 360 amp 361) ndash April 2014
20
Java SE 8 JSR 337 - March 2014
21
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext4 (JSR 364) JCPnext (JSR 364)
25
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
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 26
Use the Process to Change the Process
The JCP is More Open Than Before
27
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
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
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
31
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
32
33
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
34
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
36
2) Communication Two Way Street
38
4) Enter activity in the matrix - Collaborate
39
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
40
41
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
42
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
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
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
7
8
Organization
9
bull
10
Who Are The Members
httpsjcporgenparticipationmembership
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
The Executive Committee
11
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
Compatibility Triangle
Can you build an implementation
Is the specification unambiguous
Is the TCK correct Does the RI conform
12
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
13
How Open Standards amp Open Source
14
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
15
Click icon to add picture
Why Participate
1 Knowledge 2 Skills 3 Visibility 4 Altruism 5 Fun
16
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
17
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
18
Java EE 7 (JSR 342) ndash May 2013
19
Java ME 8 (JSRs 360 amp 361) ndash April 2014
20
Java SE 8 JSR 337 - March 2014
21
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext4 (JSR 364) JCPnext (JSR 364)
25
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
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 26
Use the Process to Change the Process
The JCP is More Open Than Before
27
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
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
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
31
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
32
33
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
34
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
36
2) Communication Two Way Street
38
4) Enter activity in the matrix - Collaborate
39
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
40
41
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
42
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
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
7
8
Organization
9
bull
10
Who Are The Members
httpsjcporgenparticipationmembership
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
The Executive Committee
11
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
Compatibility Triangle
Can you build an implementation
Is the specification unambiguous
Is the TCK correct Does the RI conform
12
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
13
How Open Standards amp Open Source
14
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
15
Click icon to add picture
Why Participate
1 Knowledge 2 Skills 3 Visibility 4 Altruism 5 Fun
16
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
17
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
18
Java EE 7 (JSR 342) ndash May 2013
19
Java ME 8 (JSRs 360 amp 361) ndash April 2014
20
Java SE 8 JSR 337 - March 2014
21
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext4 (JSR 364) JCPnext (JSR 364)
25
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
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 26
Use the Process to Change the Process
The JCP is More Open Than Before
27
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
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
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
31
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
32
33
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
34
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
36
2) Communication Two Way Street
38
4) Enter activity in the matrix - Collaborate
39
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
40
41
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
42
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
8
Organization
9
bull
10
Who Are The Members
httpsjcporgenparticipationmembership
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
The Executive Committee
11
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
Compatibility Triangle
Can you build an implementation
Is the specification unambiguous
Is the TCK correct Does the RI conform
12
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
13
How Open Standards amp Open Source
14
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
15
Click icon to add picture
Why Participate
1 Knowledge 2 Skills 3 Visibility 4 Altruism 5 Fun
16
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
17
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
18
Java EE 7 (JSR 342) ndash May 2013
19
Java ME 8 (JSRs 360 amp 361) ndash April 2014
20
Java SE 8 JSR 337 - March 2014
21
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext4 (JSR 364) JCPnext (JSR 364)
25
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
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 26
Use the Process to Change the Process
The JCP is More Open Than Before
27
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
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
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
31
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
32
33
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
34
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
36
2) Communication Two Way Street
38
4) Enter activity in the matrix - Collaborate
39
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
40
41
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
42
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
Organization
9
bull
10
Who Are The Members
httpsjcporgenparticipationmembership
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
The Executive Committee
11
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
Compatibility Triangle
Can you build an implementation
Is the specification unambiguous
Is the TCK correct Does the RI conform
12
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
13
How Open Standards amp Open Source
14
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
15
Click icon to add picture
Why Participate
1 Knowledge 2 Skills 3 Visibility 4 Altruism 5 Fun
16
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
17
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
18
Java EE 7 (JSR 342) ndash May 2013
19
Java ME 8 (JSRs 360 amp 361) ndash April 2014
20
Java SE 8 JSR 337 - March 2014
21
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext4 (JSR 364) JCPnext (JSR 364)
25
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
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 26
Use the Process to Change the Process
The JCP is More Open Than Before
27
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
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
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
31
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
32
33
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
34
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
36
2) Communication Two Way Street
38
4) Enter activity in the matrix - Collaborate
39
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
40
41
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
42
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
bull
10
Who Are The Members
httpsjcporgenparticipationmembership
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
The Executive Committee
11
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
Compatibility Triangle
Can you build an implementation
Is the specification unambiguous
Is the TCK correct Does the RI conform
12
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
13
How Open Standards amp Open Source
14
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
15
Click icon to add picture
Why Participate
1 Knowledge 2 Skills 3 Visibility 4 Altruism 5 Fun
16
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
17
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
18
Java EE 7 (JSR 342) ndash May 2013
19
Java ME 8 (JSRs 360 amp 361) ndash April 2014
20
Java SE 8 JSR 337 - March 2014
21
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext4 (JSR 364) JCPnext (JSR 364)
25
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
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 26
Use the Process to Change the Process
The JCP is More Open Than Before
27
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
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
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
31
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
32
33
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
34
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
36
2) Communication Two Way Street
38
4) Enter activity in the matrix - Collaborate
39
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
40
41
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
42
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
The Executive Committee
11
bull Corporations bull Non-ProfitsOpen
Source bull Java User Groups bull Individual
Developers
Compatibility Triangle
Can you build an implementation
Is the specification unambiguous
Is the TCK correct Does the RI conform
12
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
13
How Open Standards amp Open Source
14
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
15
Click icon to add picture
Why Participate
1 Knowledge 2 Skills 3 Visibility 4 Altruism 5 Fun
16
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
17
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
18
Java EE 7 (JSR 342) ndash May 2013
19
Java ME 8 (JSRs 360 amp 361) ndash April 2014
20
Java SE 8 JSR 337 - March 2014
21
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext4 (JSR 364) JCPnext (JSR 364)
25
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
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 26
Use the Process to Change the Process
The JCP is More Open Than Before
27
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
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
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
31
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
32
33
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
34
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
36
2) Communication Two Way Street
38
4) Enter activity in the matrix - Collaborate
39
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
40
41
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
42
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
Compatibility Triangle
Can you build an implementation
Is the specification unambiguous
Is the TCK correct Does the RI conform
12
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
13
How Open Standards amp Open Source
14
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
15
Click icon to add picture
Why Participate
1 Knowledge 2 Skills 3 Visibility 4 Altruism 5 Fun
16
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
17
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
18
Java EE 7 (JSR 342) ndash May 2013
19
Java ME 8 (JSRs 360 amp 361) ndash April 2014
20
Java SE 8 JSR 337 - March 2014
21
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext4 (JSR 364) JCPnext (JSR 364)
25
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
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 26
Use the Process to Change the Process
The JCP is More Open Than Before
27
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
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
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
31
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
32
33
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
34
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
36
2) Communication Two Way Street
38
4) Enter activity in the matrix - Collaborate
39
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
40
41
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
42
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
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
13
How Open Standards amp Open Source
14
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
15
Click icon to add picture
Why Participate
1 Knowledge 2 Skills 3 Visibility 4 Altruism 5 Fun
16
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
17
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
18
Java EE 7 (JSR 342) ndash May 2013
19
Java ME 8 (JSRs 360 amp 361) ndash April 2014
20
Java SE 8 JSR 337 - March 2014
21
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext4 (JSR 364) JCPnext (JSR 364)
25
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
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 26
Use the Process to Change the Process
The JCP is More Open Than Before
27
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
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
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
31
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
32
33
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
34
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
36
2) Communication Two Way Street
38
4) Enter activity in the matrix - Collaborate
39
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
40
41
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
42
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
How Open Standards amp Open Source
14
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
15
Click icon to add picture
Why Participate
1 Knowledge 2 Skills 3 Visibility 4 Altruism 5 Fun
16
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
17
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
18
Java EE 7 (JSR 342) ndash May 2013
19
Java ME 8 (JSRs 360 amp 361) ndash April 2014
20
Java SE 8 JSR 337 - March 2014
21
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext4 (JSR 364) JCPnext (JSR 364)
25
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
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 26
Use the Process to Change the Process
The JCP is More Open Than Before
27
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
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
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
31
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
32
33
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
34
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
36
2) Communication Two Way Street
38
4) Enter activity in the matrix - Collaborate
39
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
40
41
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
42
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
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
15
Click icon to add picture
Why Participate
1 Knowledge 2 Skills 3 Visibility 4 Altruism 5 Fun
16
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
17
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
18
Java EE 7 (JSR 342) ndash May 2013
19
Java ME 8 (JSRs 360 amp 361) ndash April 2014
20
Java SE 8 JSR 337 - March 2014
21
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext4 (JSR 364) JCPnext (JSR 364)
25
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
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 26
Use the Process to Change the Process
The JCP is More Open Than Before
27
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
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
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
31
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
32
33
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
34
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
36
2) Communication Two Way Street
38
4) Enter activity in the matrix - Collaborate
39
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
40
41
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
42
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
Click icon to add picture
Why Participate
1 Knowledge 2 Skills 3 Visibility 4 Altruism 5 Fun
16
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
17
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
18
Java EE 7 (JSR 342) ndash May 2013
19
Java ME 8 (JSRs 360 amp 361) ndash April 2014
20
Java SE 8 JSR 337 - March 2014
21
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext4 (JSR 364) JCPnext (JSR 364)
25
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
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 26
Use the Process to Change the Process
The JCP is More Open Than Before
27
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
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
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
31
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
32
33
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
34
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
36
2) Communication Two Way Street
38
4) Enter activity in the matrix - Collaborate
39
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
40
41
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
42
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
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
17
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
18
Java EE 7 (JSR 342) ndash May 2013
19
Java ME 8 (JSRs 360 amp 361) ndash April 2014
20
Java SE 8 JSR 337 - March 2014
21
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext4 (JSR 364) JCPnext (JSR 364)
25
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
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 26
Use the Process to Change the Process
The JCP is More Open Than Before
27
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
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
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
31
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
32
33
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
34
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
36
2) Communication Two Way Street
38
4) Enter activity in the matrix - Collaborate
39
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
40
41
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
42
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
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
18
Java EE 7 (JSR 342) ndash May 2013
19
Java ME 8 (JSRs 360 amp 361) ndash April 2014
20
Java SE 8 JSR 337 - March 2014
21
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext4 (JSR 364) JCPnext (JSR 364)
25
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
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 26
Use the Process to Change the Process
The JCP is More Open Than Before
27
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
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
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
31
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
32
33
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
34
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
36
2) Communication Two Way Street
38
4) Enter activity in the matrix - Collaborate
39
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
40
41
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
42
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
Java EE 7 (JSR 342) ndash May 2013
19
Java ME 8 (JSRs 360 amp 361) ndash April 2014
20
Java SE 8 JSR 337 - March 2014
21
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext4 (JSR 364) JCPnext (JSR 364)
25
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
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 26
Use the Process to Change the Process
The JCP is More Open Than Before
27
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
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
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
31
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
32
33
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
34
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
36
2) Communication Two Way Street
38
4) Enter activity in the matrix - Collaborate
39
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
40
41
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
42
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
Java ME 8 (JSRs 360 amp 361) ndash April 2014
20
Java SE 8 JSR 337 - March 2014
21
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext4 (JSR 364) JCPnext (JSR 364)
25
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
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 26
Use the Process to Change the Process
The JCP is More Open Than Before
27
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
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
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
31
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
32
33
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
34
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
36
2) Communication Two Way Street
38
4) Enter activity in the matrix - Collaborate
39
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
40
41
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
42
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
Java SE 8 JSR 337 - March 2014
21
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext4 (JSR 364) JCPnext (JSR 364)
25
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
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 26
Use the Process to Change the Process
The JCP is More Open Than Before
27
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
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
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
31
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
32
33
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
34
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
36
2) Communication Two Way Street
38
4) Enter activity in the matrix - Collaborate
39
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
40
41
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
42
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
Java 8 Adoption
JCPnext Changing the Constitution
JCPnext4 (JSR 364) JCPnext (JSR 364)
25
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
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 26
Use the Process to Change the Process
The JCP is More Open Than Before
27
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
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
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
31
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
32
33
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
34
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
36
2) Communication Two Way Street
38
4) Enter activity in the matrix - Collaborate
39
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
40
41
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
42
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
JCPnext Changing the Constitution
JCPnext4 (JSR 364) JCPnext (JSR 364)
25
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
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 26
Use the Process to Change the Process
The JCP is More Open Than Before
27
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
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
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
31
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
32
33
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
34
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
36
2) Communication Two Way Street
38
4) Enter activity in the matrix - Collaborate
39
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
40
41
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
42
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
JCPnext4 (JSR 364) JCPnext (JSR 364)
25
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
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 26
Use the Process to Change the Process
The JCP is More Open Than Before
27
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
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
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
31
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
32
33
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
34
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
36
2) Communication Two Way Street
38
4) Enter activity in the matrix - Collaborate
39
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
40
41
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
42
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
25
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
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 26
Use the Process to Change the Process
The JCP is More Open Than Before
27
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
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
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
31
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
32
33
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
34
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
36
2) Communication Two Way Street
38
4) Enter activity in the matrix - Collaborate
39
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
40
41
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
42
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
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 26
Use the Process to Change the Process
The JCP is More Open Than Before
27
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
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
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
31
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
32
33
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
34
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
36
2) Communication Two Way Street
38
4) Enter activity in the matrix - Collaborate
39
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
40
41
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
42
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
The JCP is More Open Than Before
27
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
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
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
31
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
32
33
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
34
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
36
2) Communication Two Way Street
38
4) Enter activity in the matrix - Collaborate
39
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
40
41
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
42
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
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
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
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
31
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
32
33
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
34
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
36
2) Communication Two Way Street
38
4) Enter activity in the matrix - Collaborate
39
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
40
41
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
42
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
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
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
31
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
32
33
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
34
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
36
2) Communication Two Way Street
38
4) Enter activity in the matrix - Collaborate
39
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
40
41
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
42
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
JUGs around the World
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
31
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
32
33
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
34
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
36
2) Communication Two Way Street
38
4) Enter activity in the matrix - Collaborate
39
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
40
41
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
42
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
London Java Community
JSR 310 Date and Time API
JSR 335 Lambda Expressions
Myriad hack days talks and events organized
Use Cases
31
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
32
33
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
34
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
36
2) Communication Two Way Street
38
4) Enter activity in the matrix - Collaborate
39
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
40
41
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
42
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
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
32
33
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
34
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
36
2) Communication Two Way Street
38
4) Enter activity in the matrix - Collaborate
39
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
40
41
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
42
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
33
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
34
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
36
2) Communication Two Way Street
38
4) Enter activity in the matrix - Collaborate
39
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
40
41
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
42
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
34
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
36
2) Communication Two Way Street
38
4) Enter activity in the matrix - Collaborate
39
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
40
41
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
42
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
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
36
2) Communication Two Way Street
38
4) Enter activity in the matrix - Collaborate
39
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
40
41
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
42
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
JSR example pageSR page example
List of Active JSRs (posting in last 12 months) httpjcporgenjsrallstatus=ActiveampactiveMonths=12
36
2) Communication Two Way Street
38
4) Enter activity in the matrix - Collaborate
39
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
40
41
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
42
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
2) Communication Two Way Street
38
4) Enter activity in the matrix - Collaborate
39
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
40
41
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
42
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
38
4) Enter activity in the matrix - Collaborate
39
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
40
41
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
42
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
39
5) Follow Public Discussions amp Comment - Jira example
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
40
41
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
42
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
5) How to Write a Bug - SSCCE
Short Self Contained Correct (Compilable) Example
Short (Small) - Minimise bandwidth for the example do not bore the audience
Self Contained - Ensure everything is included ready to go
Correct - Copy paste (compile) see is the aim
Example - Displays the problem we are trying to solve
40
41
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
42
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
41
6) Share - Add amp Use Resources on GitHub
Participate in Adopt OpenJDK
42
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
Participate in Adopt OpenJDK
42
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
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 120
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
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
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
48
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
49
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
50
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
51
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
53
If you want to go farhellip
54
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
49
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
50
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
51
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
53
If you want to go farhellip
54
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
50
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
51
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
53
If you want to go farhellip
54
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
51
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
53
If you want to go farhellip
54
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
53
If you want to go farhellip
54
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
53
If you want to go farhellip
54