JDK 9, 10, 11 and Beyond: Delivering New Features in the JDK
|
|
- Buck Sparks
- 5 years ago
- Views:
Transcription
1 JDK 9, 10, 11 and Beyond: Delivering New Features in the JDK Copyright Azul Systems 2015 Simon Ritter Deputy CTO, Azul Systems 1
2 JDK 9: Big And Small Changes 2
3 Java Platform Module System (JPMS) The core Java libraries are now a set of modules (JEP 220) 75 OpenJDK modules: 27 Java SE, 48 JDK Oracle JDK: 14 additional JDK, 8 JavaFX, 2 Oracle specific Most internal APIs now encapsulated (JEP 260) sun.misc.unsafe Some can be used with command line options 3
4 jlink: The Java Linker (JEP 282) jlink Modular run-time image bin conf lib $ jlink --modulepath $JDKMODS \ --addmods java.base output myimage $ myimage/bin/java -list-modules java.base@9 4
5 jlink: The Java Linker (JEP 282) $ jlink --module-path $JDKMODS:$MYMODS \ --addmods com.azul.zapp -output myimage $ myimage/bin/java -list-modules java.base@9 java.logging@9 java.sql@9 java.xml@9 com.azul.zapp@1.0 com.azul.zoop@1.0 com.azul.zeta@1.0
6 Moving Java Forward Faster
7 Java Platform Development Development of releases takes time JDK 6: 2 years and 2 months after JDK 5 JDK 7: 4 years and 8 months after JDK 6 JDK 8: 2 years and 8 months after JDK 7 JDK 9: 3 years and 6 months after JDK 8 7
8 Migrating To A New Version Plenty of time to continue with previous release JDK 6: 2 years and 11 months of public JDK 5 updates JDK 7: 1 year and 9 months of public JDK 6 updates JDK 8: 1 year and 1 month of public JDK 7 updates Also allows for stabilisation of new platform before migrating applications in production 8
9 The Java Platform Today Stable Secure Free 9
10 OpenJDK: New Release Model A new version of the JDK will be released every six months March and September Started this year with JDK 10 and JDK 11 OpenJDK development will be more agile Previous target was a release every two years Features will be included only when ready Targeted for a release when feature complete 10
11 Long Term Support Releases Long term support for all releases is not practical One Long Term Support (LTS) release every three years JDK 8 has been classified as an LTS release JDK 8 public updates stop in January 2019 for commercial users Non-commercial users get updates until December 2020 Next LTS release is JDK 11 JDK 9 and JDK 10 are feature releases Updates for only six months 11
12 Which JDK Binary Traditional Oracle branded binary (java.oracle.com) Oracle Binary Code License (FoU restrictions) New OpenJDK binary (jdk.java.net) GPLv2 with CPE license (no restrictions) Security and bug fix updates only for six months Only until next JDK release Two scheduled updates No overlap of updates for previous version 12
13 Converged Binaries Oracle JDK OpenJDK Java SE OpenJDK & Oracle JDK Java SE JDK 11 and later JDK 10 and earlier
14 Converged Binaries (JDK 11) Some closed-source parts of the JDK will be open-sourced Flight recorder Mission control Others Other closed-source parts will be removed Browser Plugin Java Web Start JavaFX 14
15 JDK 9 Onwards And Compatibility "Clean applications that just depend on java.se should just work" - Oracle 15
16 JDK 9: The Clean Up Starts JDK 9 was a significant change for Java Deprecated APIs were removed for the first time Six methods and one class JDK 10 removed 1 package, 6 classes, 9 methods and 1 field Redundant features eliminated jhat tool, JVM TI hprof agent Numerous deprecated GC options removed Significant command line changes JDK 9 removed 187 -XX flags JDK 10 removed 36 -XX flags 16
17 Housekeeping Will Continue More significant removals in JDK 11 Applets, Browser Plugin, Web Start, JavaFX java.se.ee meta-module java.corba java.transaction java.activation java.xml.bind java.xml.ws java.xml.ws.annotation More in the future Nashorn deprecated, CMS garbage collector? 17
18 Compatibility Not Guaranteed New versions of Java may include breaking changes Anything for removal will be deprecated first Minimum of one release warning Could be only six months 18
19 Eliminating Confusion There will be an LTS release every three years This does NOT mean 3 years of free updates Oracle JDK (from JDK 11) can ONLY be used in production with a commercial support contract The only free JDK 11 and later will be OpenJDK binaries To continue to receive free updates to the JDK you MUST update your JDK EVERY SIX MONTHS JDK 8 can be used indefinitely for free But without any further security patches and bug fixes 19
20 New JDK Update Schedule
21 The Java Platform Soon Stable Secure Choose two out of three Free 21
22 JDK 10
23 Local Variable Type Inference JEP 286 Simple use cases var list = new ArrayList<String>(); // infers ArrayList<String> var stream = list.stream(); // infers Stream<String> Style guidelines available Good (appropriate use of variable name) var stringlist = List.of("a", "b", "c"); Poor var itemqueue = new PriorityQueue<>(); Infered type is PriorityQueue<Object> 23
24 JDK 10: JEPs JEP 307: Parallel Full GC for G1 Still a full GC with potentially big pauses JEP 310: Application Class-Data Sharing Previous commercial Oracle feature JEP 317: Experimental Java-based JIT compiler (Graal) JEP 319: Root Certificates default set of root CA certificates JEP 296: Consolidate JDK forests into single repo Eight repos becomes one 24
25 JDK 10: JEPs JEP 316: Heap allocation on alternative devices (Intel) NV-RAM with same semantics as DRAM JEP 313: Remove javah tool Same functionality through javac JEP 304: Garbage Collector Interface (Red Hat) Easier to add new algorithms (JVM internal) JEP 312: Thread-Local Handshakes Execute callbacks on threads without performing a global VM safepoint 25
26 JDK 10: APIs 73 New APIs List, Set, Map.copyOf(Collection) Collectors tounmodifiablelist tounmodifiablemap tounmodifiableset Optional.orElseThrow() 26
27 JDK 10: Miscellaneous XMLInputFactory.newFactory() de-deprecated (precated?) com.sun.security.auth package Six deprecated classes removed java.lang.securitymanager One deprecated field and seven methods removed JVM now more Docker container aware Uses container CPU count and memory size Namespace issues resolved (pids) 27
28 JDK 11
29 JDK JEPs 3 from outside Oracle JEP 318: Epsilon garbage collector (Red Hat) JEP 315: Improve Aarch64 intrinsics (Red Hat) JEP 331: Low overhead heap profiling (Google) 29
30 JDK 11: JEPs JEP 309: Dynamic Class-file constants Like invokedynamic but for class-file constants Bootstrap method used at runtime, not compile time Useful for compiler and language developers JEP 328: Flight Recorder Final piece of aligning OpenJDK and Oracle JDK 30
31 JDK 11: JEPs JEP 320: Remove CORBA and Java EE modules The power of a module system JEP 321: HTTP client HTTP/2 support Incubating module from JDK 9 standardised JEP 323: Local variable syntax for Lambda parameters Extending JEP 286 in JDK 10 (var x, var y) -> x.process(y) 31
32 JDK 11: JEPs JEP 324: Key Agreement with Curve25519 and Curve448 More efficient and secure than existing ECDH JEP 327: Unicode 10 8,518 new characters (seriously) Bitcoin symbol, Nishu, Soyombo, Zanabazar Square Long awaited (?) Colbert emoji 32
33 JDK 11: New APIs New methods but no new classes InputStream nullinputstream() Writer nullwriter() Path of(string, String...) 33
34 Longer Term JDK Futures
35 OpenJDK Projects Amber Simplifying syntax Valhalla Value types and specialised generics Loom Continuations and fibres Metropolis The JVM re-written in Java Panama FFI replacement for JNI 35
36 Project Amber JEP 286: Local variable type inference Delivered in JDK 10 JEP 323: Local variable syntax for Lambdas Will be delivered in JDK 11 36
37 Project Amber JEP 302: Lambda leftovers Single underscore for unused parameters JEP 326: Raw string literals (JDK 12) Use single backquote `c:\users\simon` ```A string with a `` in it``` 37
38 JEP 305: Pattern Matching Type test and switch statement support to start String formatted; switch (obj) { case Integer i: formatted = String.format("int %d", i); break; case Byte b: formatted = String.format("byte %d", b); break; case Long l: formatted = String.format("long %d", l); break; case Double d: formatted = String.format("double %f", d); break; case String s: formatted = String.format("String %s", s); break default: formatted = obj.tostring(); } 38
39 JEP 325: Switch Expressions (JDK 12) int numletters; switch (day) { case MONDAY: case FRIDAY: case SUNDAY: numletters = 6; break; case TUESDAY: numletters = 7; break; case THURSDAY: case SATURDAY: numletters = 8; break; case WEDNESDAY: numletters = 9; break; default: throw new IllegalStateException("Huh?: " + day); }; 39
40 JEP 325: Switch Expressions int numletters = switch (day) { case MONDAY, FRIDAY, SUNDAY -> 6; case TUESDAY -> 7; case THURSDAY, SATURDAY -> 8; case WEDNESDAY -> 9; default -> throw new IllegalStateException("Huh?: " + day); };
41 Project Valhalla Java has: Primitives: for performance Objects: for encapsulation, polymorphism, inheritance, OO Problem is where we want to use primitives but can't ArrayList<int> won't work ArrayList<Integer> requires boxing and unboxing, object creation, heap overhead, indirection reference 41
42 Project Valhalla Value types "Codes like a class, works like a primitive" Can have methods and fields Can implement interfaces Can use encapsulation Can be generic Can't be mutated Can't be sub-classed 42
43 Project Loom Further work on making concurrent programming simpler Threads are too heavyweight Loom will introduce fibres JVM level threads (remember green threads?) Add continuations to the JVM Use the ForkJoinPool scheduler Much lighter weight than threads Less memory Close to zero overhead for task switching 43
44 Project Metropolis Run Java on Java Rewrite most of the JVM in Java Use the Graal compiler project as significant input Easier ports to new platforms Less native code to modify and compile Faster new features on front-end Easier to write Java than C++ Performance is an issue to be explored and resolved AOT compiler in JDK 9 is the start of this 44
45 Azul's Zulu Java
46 Zulu Java Azul s free binary distribution of OpenJDK Passes all TCK tests JDK 6, 7, 8, 9,10 and 11 (EA) available Wider platform support: Intel 64-bit Windows, Mac, Linux Intel 32-bit Windows and Linux ARM 32 and 64-bit PowerPC 46
47 Summary
48 Java Continues To Evolve Faster Java releases Feature release every 6 months Access to free updates is a consideration Lots of ideas to improve Java Value types, fibres, syntax improvements Zulu Java has wide platform and JDK version support Very reasonable cost for commercial support 48
49 Thank You! Copyright Azul Systems 2015 Simon Ritter Deputy CTO, Azul Systems 49
55 New Features In JDK 9
55 New Features In JDK 9 Copyright Azul Systems 2015 Simon Ritter Deputy CTO, Azul Systems azul.com @speakjava 1 Major Features Java Platform Module System JSR 376 Public Review Reconsideration Ballot
More informationShaping the future of Java, Faster
Shaping the future of Java, Faster Georges Saab Vice President, Java Platform Group Oracle, Corp Twitter: @gsaab Safe Harbor Statement The following is intended to outline our general product direction.
More informationJDK 9/10/11 and Garbage Collection
JDK 9/10/11 and Garbage Collection Thomas Schatzl Senior Member of Technical Staf Oracle JVM Team May, 2018 thomas.schatzl@oracle.com Copyright 2017, Oracle and/or its afliates. All rights reserved. 1
More informationIntroduction to Modular Development CON5118
Introduction to Modular Development CON5118 Alan Bateman Java Platform Group, Oracle October 2015 Sessions 1 2 3 4 5 Prepare for JDK 9 Introduction to Modular Development Advanced Modular Development Project
More informationIndex. Decomposability, 13 Deep reflection, 136 Dependency hell, 19 --describe-module, 39
Index A --add-exports option, 28, 134 136, 142, 192 Apache Maven compatibility, 214 Compiler plugin, 212, 214 goals, 209 JDeps plugin goals, 210 options, 211 JEP 223 New Version-String scheme, 209 Automatic
More informationJava in a World of Containers
Java in a World of Containers mikael.vidstedt@oracle.com Director, JVM @MikaelVidstedt Copyright 2018, Oracle and/or its affiliates. All rights reserved. 1 Safe Harbor Statement The following is intended
More informationHighlights from Java 10, 11 and 12 and Future of Java Javaland by Vadym Kazulkin, ip.labs GmbH
Highlights from Java 10, 11 and 12 and Future of Java Javaland 19.03.2019 by Vadym Kazulkin, ip.labs GmbH Contact Vadym Kazulkin, ip.labs GmbH v.kazulkin@gmail.com https://www.linkedin.com/in/vadymkazulkin
More informationJava 11 and MAKING ECLIPSE JDT FUTURE READY MANOJ PALAT IBM
Java 11 and Beyond MAKING ECLIPSE JDT FUTURE READY MANOJ PALAT IBM @manojnp Java Releases Road Traveled++ Version 1.0 1.1,1.2,1.3,1.4,1.5,1.6 1.7 1.8 9 10 11 12 13 Release Date 1996 1997, 1998, 2000, 2002,
More informationJava 9 Module System. Complex Software and Programming Language History of Modules Module Concepts and Tools Modularization of the JDK
Java 9 Module System Complex Software and Programming Language History of Modules Module Concepts and Tools Modularization of the JDK Problem of Complexity and Programming Language 2 von 41 Early/Modern
More informationJDK 11 Deep Simon Ritter Deputy CTO, Azul Systems. Copyright Azul Systems Copyright Azul Systems 2015
JDK 11 Deep Dive Copyright Azul Systems 2015 Simon Ritter Deputy CTO, Azul Systems @speakjava 1 Agenda JDK 9 Java Platform Module System Developer and other features JDK 10 Local variable type inference
More informationWhat a Year! Java 10 and 10 Big Java Milestones
What a Year! Java 10 and 10 Big Java Milestones Java has made tremendous strides in the past 12 months, with exciting new features and capabilities for developers of all kinds. Table of Contents INTRODUCTION
More informationJava in a World of Containers
Java in a World of Containers mikael.vidstedt@oracle.com Not-coder, JVM @MikaelVidstedt matthew.gilliard@oracle.com Coder, not-jvm @MaximumGilliard Copyright 2017, Oracle and/or its affiliates. All rights
More informationAbove and Beyond Java 9, 10, 11, 12
Above and Beyond Java 9, 10, 11, 12 dr. sc. Branko Mihaljević and dr. sc. Martin Žagar HUJAK www.hujak.hr 1 A bit of Sentimental Journey HUJAK founded in 2011 Interested in meetups Well, more drinkups
More informationJava SE 9 and the Application Server
EclipseCon Europe 2017 Java SE 9 and the Application Server InterConnect 2017 Kevin Sutter MicroProfile and Java EE Architect @kwsutter 1 Java SE 9 Standalone 2 10/30/17 Java 9 Standard Features JSR 379:
More informationAdvanced Modular Development CON6821
Advanced Modular Development CON6821 Mark Reinhold, Alex Buckley, Alan Bateman Java Platform Group, Oracle October 2015 Copyright 2015, Oracle and/or its affiliates. All rights reserved. Sessions 1 2 3
More informationIntroduction to Java Programming
Introduction to Java Programming Lecture 1 CGS 3416 Spring 2017 1/9/2017 Main Components of a computer CPU - Central Processing Unit: The brain of the computer ISA - Instruction Set Architecture: the specific
More informationNew Java performance developments: compilation and garbage collection
New Java performance developments: compilation and garbage collection Jeroen Borgers @jborgers #jfall17 Part 1: New in Java compilation Part 2: New in Java garbage collection 2 Part 1 New in Java compilation
More informationJavaFX.Next. Kevin Rushforth Oracle Johan Vos Gluon October Copyright 2018, Oracle and/or its affiliates. All rights reserved.
JavaFX.Next Kevin Rushforth Oracle Johan Vos Gluon October 2018 Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and
More informationJava Leaders Summit Java SE
Java Leaders Summit Java SE Staffan Friberg Product Manager Java Platform Group 1 Copyright 2011-2013 Oracle and/or its affiliates. The following is intended to outline our general product direction. It
More informationChapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.
Chapter 1 GETTING STARTED SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: Java platform. Applets and applications. Java programming language: facilities and foundation. Memory management
More informationThe Z Garbage Collector Low Latency GC for OpenJDK
The Z Garbage Collector Low Latency GC for OpenJDK Per Lidén & Stefan Karlsson HotSpot Garbage Collection Team Jfokus VM Tech Summit 2018 Safe Harbor Statement The following is intended to outline our
More informationMODULE 1 JAVA PLATFORMS. Identifying Java Technology Product Groups
MODULE 1 JAVA PLATFORMS Identifying Java Technology Product Groups Java SE Platform Versions Year Developer Version (JDK) Platform 1996 1.0 1 1997 1.1 1 1998 1.2 2 2000 1.3 2 2002 1.4 2 2004 1.5 5 2006
More informationSpring Framework 5.0 on JDK 8 & 9
Spring Framework 5.0 on JDK 8 & 9 Juergen Hoeller Spring Framework Lead Pivotal 1 Spring Framework 5.0 (Overview) 5.0 GA as of September 28 th, 2017 one week after JDK 9 GA! Embracing JDK 9 as well as
More informationMigrate early, migrate often! JDK release cadence strategies
Migrate early, migrate often! JDK release cadence strategies Dan Heidinga Eclipse OpenJ9 Project Lead Interpreter Lead, IBM Runtimes @danheidinga DanHeidinga Theresa Mammarella Eclipse OpenJ9 Software
More informationShenandoah: Theory and Practice. Christine Flood Roman Kennke Principal Software Engineers Red Hat
Shenandoah: Theory and Practice Christine Flood Roman Kennke Principal Software Engineers Red Hat 1 Shenandoah Christine Flood Roman Kennke Principal Software Engineers Red Hat 2 Shenandoah Why do we need
More informationThe Z Garbage Collector Scalable Low-Latency GC in JDK 11
The Z Garbage Collector Scalable Low-Latency GC in JDK 11 Per Lidén (@perliden) Consulting Member of Technical Staff Java Platform Group, Oracle October 24, 2018 Safe Harbor Statement The following is
More informationJava SE 8 New Features
Java SE 8 New Features Duration 2 Days What you will learn This Java SE 8 New Features training delves into the major changes and enhancements in Oracle Java SE 8. You'll focus on developing an understanding
More informationIntroduction to Java. Lecture 1 COP 3252 Summer May 16, 2017
Introduction to Java Lecture 1 COP 3252 Summer 2017 May 16, 2017 The Java Language Java is a programming language that evolved from C++ Both are object-oriented They both have much of the same syntax Began
More informationIntroduction to Visual Basic and Visual C++ Introduction to Java. JDK Editions. Overview. Lesson 13. Overview
Introduction to Visual Basic and Visual C++ Introduction to Java Lesson 13 Overview I154-1-A A @ Peter Lo 2010 1 I154-1-A A @ Peter Lo 2010 2 Overview JDK Editions Before you can write and run the simple
More informationJava SE 8 Overview. Simon Ritter Head of Java Technology Evangelism.
Java SE 8 Overview Simon Ritter Head of Java Technology Evangelism Twitter: @speakjava Java SE 8 (JSR 337) Component JSRs New functionality JSR 308: Annotations on types JSR 310: Date and Time API JSR
More informationCore Java JDK 9 Overview Angelika Langer & Klaus Kreft
Core Java JDK 9 Overview Angelika Langer & Klaus Kreft Training/Consulting a quick glance at Java 9 Java 9 available since September, 21 2017 many new features (> 90 JEPs) "Collection Literals" "Compact
More informationLecture 2 summary of Java SE section 1
Lecture 2 summary of Java SE section 1 presentation DAD Distributed Applications Development Cristian Toma D.I.C.E/D.E.I.C Department of Economic Informatics & Cybernetics www.dice.ase.ro Cristian Toma
More informationScaling the OpenJDK. Claes Redestad Java SE Performance Team Oracle. Copyright 2017, Oracle and/or its afliates. All rights reserved.
Scaling the OpenJDK Claes Redestad Java SE Performance Team Oracle Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only,
More informationThe OpenJDK Project Past And Present
The OpenJDK Project Past And Present Red Hat Open Source Java Team March 2014 1 Agenda What Is the OpenJDK Project? How Is It Run? How Can I Contribute? Where Now and Next? 2 Agenda What Is the OpenJDK
More informationChapter 1 INTRODUCTION SYS-ED/ COMPUTER EDUCATION TECHNIQUES, INC.
hapter 1 INTRODUTION SYS-ED/ OMPUTER EDUATION TEHNIQUES, IN. Objectives You will learn: Java features. Java and its associated components. Features of a Java application and applet. Java data types. Java
More informationApache Lucene and Java 9+ Opportunities and Challenges for Apache Solr and Elasticsearch
Apache Lucene and Java 9+ Opportunities and Challenges for Apache Solr and Elasticsearch Uwe Schindler SD DataSolutions GmbH / Apache Software Foundation thetaph1 https://www.thetaphi.de My Background
More informationThe Z Garbage Collector An Introduction
The Z Garbage Collector An Introduction Per Lidén & Stefan Karlsson HotSpot Garbage Collection Team FOSDEM 2018 Safe Harbor Statement The following is intended to outline our general product direction.
More informationTwo Key JDK 10 Features
Supplement to Java: The Complete Reference, Tenth Edition Two Key JDK 10 Features This supplement to Java: The Complete Reference, Tenth Edition discusses two key features added by JDK 10. It is provided
More informationHigh-Level Language VMs
High-Level Language VMs Outline Motivation What is the need for HLL VMs? How are these different from System or Process VMs? Approach to HLL VMs Evolutionary history Pascal P-code Object oriented HLL VMs
More informationAdvanced Object-Oriented Programming Introduction to OOP and Java
Advanced Object-Oriented Programming Introduction to OOP and Java Dr. Kulwadee Somboonviwat International College, KMITL kskulwad@kmitl.ac.th Course Objectives Solidify object-oriented programming skills
More informationJava Performance: The Definitive Guide
Java Performance: The Definitive Guide Scott Oaks Beijing Cambridge Farnham Kbln Sebastopol Tokyo O'REILLY Table of Contents Preface ix 1. Introduction 1 A Brief Outline 2 Platforms and Conventions 2 JVM
More informationJamaicaVM Java for Embedded Realtime Systems
JamaicaVM Java for Embedded Realtime Systems... bringing modern software development methods to safety critical applications Fridtjof Siebert, 25. Oktober 2001 1 Deeply embedded applications Examples:
More informationJDK 9, 变化与未来. Xuelei Fan
2016-4-21 JDK 9, 变化与未来 Xuelei Fan Java 20-Year Topics JDK 9 OpenJDK Community JDK 9 Schedule 2016/05/26 Feature Complete 2016/08/11 All Tests Run 2016/09/01 Rampdown Start 2016/10/20 Zero Bug Bounce 2016/12/01
More informationSABLEJIT: A Retargetable Just-In-Time Compiler for a Portable Virtual Machine p. 1
SABLEJIT: A Retargetable Just-In-Time Compiler for a Portable Virtual Machine David Bélanger dbelan2@cs.mcgill.ca Sable Research Group McGill University Montreal, QC January 28, 2004 SABLEJIT: A Retargetable
More informationMoarVM. A metamodel-focused runtime for NQP and Rakudo. Jonathan Worthington
MoarVM A metamodel-focused runtime for NQP and Rakudo Jonathan Worthington What does a VM typically do? Execute instructions (possibly by interpreting, possibly by JIT compilation, often a combination)
More informationCS5015 Object-oriented Software Development. Lecture: Overview of Java Platform. A. O Riordan, 2010 Most recent revision, 2014 updated for Java 8
CS5015 Object-oriented Software Development Lecture: Overview of Java Platform A. O Riordan, 2010 Most recent revision, 2014 updated for Java 8 Java Programming Language Java is an object-oriented programming
More informationSafely Shoot Yourself in the Foot with Java 9 Dr Heinz M. Kabutz
Safely Shoot Yourself in the Foot with Java 9 Dr Heinz M. Kabutz Last Updated 2017-11-08 Project Jigsaw: Primary Goals (Reinhold) Make the Java SE Platform, and the JDK, more easily scalable down to small
More informationHistory Introduction to Java Characteristics of Java Data types
Course Name: Advanced Java Lecture 1 Topics to be covered History Introduction to Java Characteristics of Java Data types What is Java? An Object-Oriented Programming Language developed at Sun Microsystems
More informationWhat is cool in Java 8 and new in 9
What is cool in Java 8 and new in 9 Aurelio Garcia-Ribeyro Director of Product Management Java Platform Group Safe Harbor Statement The following is intended to outline our general product direction. It
More informationJVM Memory Model and GC
JVM Memory Model and GC Developer Community Support Fairoz Matte Principle Member Of Technical Staff Java Platform Sustaining Engineering, Copyright 2015, Oracle and/or its affiliates. All rights reserved.
More informationShenandoah: An ultra-low pause time garbage collector for OpenJDK. Christine Flood Roman Kennke Principal Software Engineers Red Hat
Shenandoah: An ultra-low pause time garbage collector for OpenJDK Christine Flood Roman Kennke Principal Software Engineers Red Hat 1 Shenandoah Why do we need it? What does it do? How does it work? What's
More informationJava for Programmers Course (equivalent to SL 275) 36 Contact Hours
Java for Programmers Course (equivalent to SL 275) 36 Contact Hours Course Overview This course teaches programmers the skills necessary to create Java programming system applications and satisfies the
More information20 Most Important Java Programming Interview Questions. Powered by
20 Most Important Java Programming Interview Questions Powered by 1. What's the difference between an interface and an abstract class? An abstract class is a class that is only partially implemented by
More informationYou, me and jigsaw. Tom Schindl
You, me and jigsaw Tom Schindl Twitter: @tomsontom Blog: http://tomsondev.bestsolution.at Website: http://www.bestsolution.at About Tom CTO BestSolution.at Systemhaus GmbH
More informationThe G1 GC in JDK 9. Erik Duveblad Senior Member of Technical Staf Oracle JVM GC Team October, 2017
The G1 GC in JDK 9 Erik Duveblad Senior Member of Technical Staf racle JVM GC Team ctober, 2017 Copyright 2017, racle and/or its affiliates. All rights reserved. 3 Safe Harbor Statement The following is
More informationSafely Shoot Yourself in the Foot with Java 9
1 Safely Shoot Yourself in the Foot with Java 9 Dr Heinz M. Kabutz Last Updated 2017-11-04 2 Project Jigsaw: Primary Goals (Reinhold)! Make the Java SE Platform, and the JDK, more easily scalable down
More informationIt s Java, Jim, But Not As We Know It!
It s Java, Jim, But Not As We Know It! Copyright Azul Systems 2015 Simon Ritter Deputy CTO, Azul Systems azul.com @speakjava 1 Agenda Java Lambda expressions Lambda expression performance How far can we
More informationCON Java in a World of Containers
CON4429 - Java in a World of Containers paul.sandoz@oracle.com @PaulSandoz mikael.vidstedt@oracle.com Director, Java Virtual Machine @MikaelVidstedt Copyright 2017, Oracle and/or its affiliates. All rights
More informationSpecial Topics: Programming Languages
Lecture #23 0 V22.0490.001 Special Topics: Programming Languages B. Mishra New York University. Lecture # 23 Lecture #23 1 Slide 1 Java: History Spring 1990 April 1991: Naughton, Gosling and Sheridan (
More informationCertified Core Java Developer VS-1036
VS-1036 1. LANGUAGE FUNDAMENTALS The Java language's programming paradigm is implementation and improvement of Object Oriented Programming (OOP) concepts. The Java language has its own rules, syntax, structure
More information<Insert Picture Here> Maxine: A JVM Written in Java
Maxine: A JVM Written in Java Michael Haupt Oracle Labs Potsdam, Germany The following is intended to outline our general product direction. It is intended for information purposes
More informationSYLLABUS JAVA COURSE DETAILS. DURATION: 60 Hours. With Live Hands-on Sessions J P I N F O T E C H
JAVA COURSE DETAILS DURATION: 60 Hours With Live Hands-on Sessions J P I N F O T E C H P U D U C H E R R Y O F F I C E : # 4 5, K a m a r a j S a l a i, T h a t t a n c h a v a d y, P u d u c h e r r y
More informationShenandoah: An ultra-low pause time garbage collector for OpenJDK. Christine Flood Principal Software Engineer Red Hat
Shenandoah: An ultra-low pause time garbage collector for OpenJDK Christine Flood Principal Software Engineer Red Hat 1 Why do we need another Garbage Collector? OpenJDK currently has: SerialGC ParallelGC
More informationFaster Objects and Arrays. Closing the [last?] inherent C vs. Java speed gap
Faster Objects and Arrays Closing the [last?] inherent C vs. Java speed gap http://www.objectlayout.org Gil Tene, CTO & co-founder, Azul Systems About me: Gil Tene co-founder, CTO @Azul Systems Have been
More informationPeers Techno log ies Pv t. L td. Core Java & Core Java &Adv Adv Java Java
Page 1 Peers Techno log ies Pv t. L td. Course Brochure Core Java & Core Java &Adv Adv Java Java Overview Core Java training course is intended for students without an extensive programming background.
More informationCHAPTER 1 Introduction to Computers and Java
CHAPTER 1 Introduction to Computers and Java Copyright 2016 Pearson Education, Inc., Hoboken NJ Chapter Topics Chapter 1 discusses the following main topics: Why Program? Computer Systems: Hardware and
More informationAdvanced Modular Development
Advanced Modular Development Alan Bateman Alex Buckley Java Platform Group, Oracle September 2016 Copyright 2016, Oracle and/or its affiliates. All rights reserved. Sessions 1 2 3 4 5 Prepare for JDK 9
More informationJava Programming Course Overview. Duration: 35 hours. Price: $900
978.256.9077 admissions@brightstarinstitute.com Java Programming Duration: 35 hours Price: $900 Prerequisites: Basic programming skills in a structured language. Knowledge and experience with Object- Oriented
More informationShenandoah An ultra-low pause time Garbage Collector for OpenJDK. Christine H. Flood Roman Kennke
Shenandoah An ultra-low pause time Garbage Collector for OpenJDK Christine H. Flood Roman Kennke 1 What does ultra-low pause time mean? It means that the pause time is proportional to the size of the root
More informationAlan Bateman Java Platform Group, Oracle November Copyright 2018, Oracle and/or its affiliates. All rights reserved.!1
Alan Bateman Java Platform Group, Oracle November 2018 Copyright 2018, Oracle and/or its affiliates. All rights reserved.!1 Project Loom Continuations Fibers Tail-calls Copyright 2018, Oracle and/or its
More informationMission Possible - Near zero overhead profiling. Klara Ward Principal Software Developer Java Mission Control team, Oracle February 6, 2018
Mission Possible - Near zero overhead profiling Klara Ward Principal Software Developer Java Mission Control team, Oracle February 6, 2018 Hummingbird image by Yutaka Seki is licensed under CC BY 2.0 Copyright
More informationUsing the Singularity Research Development Kit
Using the Research Development Kit James Larus & Galen Hunt Microsoft Research ASPLOS 08 Tutorial March 1, 2008 Outline Overview (Jim) Rationale & key decisions architecture Details (Galen) Safe Languages
More information<Insert Picture Here>
1 2010-0237 The Maxine Inspector: A Specialized Tool for VM Development, Santa Clara, CA Michael L. Van De Vanter Researcher, Oracle Sun Labs The Maxine Project at Oracle Sun Labs:
More information2 rd class Department of Programming. OOP with Java Programming
1. Structured Programming and Object-Oriented Programming During the 1970s and into the 80s, the primary software engineering methodology was structured programming. The structured programming approach
More informationManually Java 7 Update Bits Windows 7
Manually Java 7 Update 21 64 Bits Windows 7 Version 7 Update 55 of Java's Standard Edition addresses 37 security If you're running 64-bit Windows, check your Java version and update it if necessary to
More informationProgramming in Visual Basic with Microsoft Visual Studio 2010
Programming in Visual Basic with Microsoft Visual Studio 2010 Course 10550; 5 Days, Instructor-led Course Description This course teaches you Visual Basic language syntax, program structure, and implementation
More informationChapter 1: Introduction to Computers and Java
Chapter 1: Introduction to Computers and Java Starting Out with Java: From Control Structures through Objects Fifth Edition by Tony Gaddis Chapter Topics Chapter 1 discusses the following main topics:
More information8/23/2014. Chapter Topics. Introduction. Java History. Why Program? Java Applications and Applets. Chapter 1: Introduction to Computers and Java
Chapter 1: Introduction to Computers and Java Starting Out with Java: From Control Structures through Objects Fifth Edition by Tony Gaddis Chapter Topics Chapter 1 discusses the following main topics:
More informationSix New Trends in the JVM
Six New Trends in the JVM John Rose, JVM Architect Brussels FOSDEM, February 2018 Copyright 2018, Oracle and/or its affiliates. All rights reserved. 1 The following is intended to outline our general product
More informationTiming for Interfaces and Abstract Classes
Timing for Interfaces and Abstract Classes Consider using abstract classes if you want to: share code among several closely related classes declare non-static or non-final fields Consider using interfaces
More informationHTML5 Evolution and Development. Matt Spencer UI & Browser Marketing Manager
HTML5 Evolution and Development Matt Spencer UI & Browser Marketing Manager 1 HTML5 Ratified. finally! After 7 years of development, the HTML5 specification was ratified on 28 th October 14 urce>
More informationLecture 14. No in-class files today. Homework 7 (due on Wednesday) and Project 3 (due in 10 days) posted. Questions?
Lecture 14 No in-class files today. Homework 7 (due on Wednesday) and Project 3 (due in 10 days) posted. Questions? Friday, February 11 CS 215 Fundamentals of Programming II - Lecture 14 1 Outline Static
More informationManaged runtimes & garbage collection. CSE 6341 Some slides by Kathryn McKinley
Managed runtimes & garbage collection CSE 6341 Some slides by Kathryn McKinley 1 Managed runtimes Advantages? Disadvantages? 2 Managed runtimes Advantages? Reliability Security Portability Performance?
More informationPROGRAMMING IN VISUAL BASIC WITH MICROSOFT VISUAL STUDIO Course: 10550A; Duration: 5 Days; Instructor-led
CENTER OF KNOWLEDGE, PATH TO SUCCESS Website: PROGRAMMING IN VISUAL BASIC WITH MICROSOFT VISUAL STUDIO 2010 Course: 10550A; Duration: 5 Days; Instructor-led WHAT YOU WILL LEARN This course teaches you
More informationWelcome to the session...
Welcome to the session... Copyright 2013, Oracle and/or its affiliates. All rights reserved. 02/22/2013 1 The following is intended to outline our general product direction. It is intended for information
More informationLesson 2 Dissecting Memory Problems
Lesson 2 Dissecting Memory Problems Poonam Parhar JVM Sustaining Engineer Oracle Agenda 1. Symptoms of Memory Problems 2. Causes of Memory Problems 3. OutOfMemoryError messages 3 Lesson 2-1 Symptoms of
More informationZing Vision. Answering your toughest production Java performance questions
Zing Vision Answering your toughest production Java performance questions Outline What is Zing Vision? Where does Zing Vision fit in your Java environment? Key features How it works Using ZVRobot Q & A
More informationManaged runtimes & garbage collection
Managed runtimes Advantages? Managed runtimes & garbage collection CSE 631 Some slides by Kathryn McKinley Disadvantages? 1 2 Managed runtimes Portability (& performance) Advantages? Reliability Security
More informationMaking The Future Java
Making The Future Java Dalibor Topić (@robilad) Principal Product Manager October 18th, 2013 - HrOUG, Rovinj 1 The following is intended to outline our general product direction. It is intended for information
More informationManual Update Java 7 25 Mac 32 Bit Offline
Manual Update Java 7 25 Mac 32 Bit Offline Installer 5.3.1 Java Control Panel Update tab, 5.3.2 Manual install or update, 5.3.3 Windows On Mac OS, the Java plugin is shown as Java Applet Plug-in (on Mac
More informationNotes of the course - Advanced Programming. Barbara Russo
Notes of the course - Advanced Programming Barbara Russo a.y. 2014-2015 Contents 1 Lecture 2 Lecture 2 - Compilation, Interpreting, and debugging........ 2 1.1 Compiling and interpreting...................
More informationJava Internals. Frank Yellin Tim Lindholm JavaSoft
Java Internals Frank Yellin Tim Lindholm JavaSoft About This Talk The JavaSoft implementation of the Java Virtual Machine (JDK 1.0.2) Some companies have tweaked our implementation Alternative implementations
More informationJAVA PERFORMANCE. PR SW2 S18 Dr. Prähofer DI Leopoldseder
JAVA PERFORMANCE PR SW2 S18 Dr. Prähofer DI Leopoldseder OUTLINE 1. What is performance? 1. Benchmarking 2. What is Java performance? 1. Interpreter vs JIT 3. Tools to measure performance 4. Memory Performance
More informationWrapper Classes double pi = new Double(3.14); 3 double pi = new Double("3.14"); 4... Zheng-Liang Lu Java Programming 290 / 321
Wrapper Classes To treat values as objects, Java supplies standard wrapper classes for each primitive type. For example, you can construct a wrapper object from a primitive value or from a string representation
More informationopenjdk.java.net A community centered around open source Java SE and related projects
OpenJDK openjdk.java.net openjdk.java.net A community centered around open source Java SE and related projects openjdk.java.net A community centered around open source Java SE and related projects The
More informationLambdas & Streams In JDK 8: Beyond The Basics
Lambdas & Streams In JDK 8: Beyond The Basics Simon Ritter Deputy CTO, Azul Systems @speakjava azul.com Copyright Azul Systems 2015 1 A clever man learns from his mistakes......a wise man learns from other
More informationJava Without the Jitter
TECHNOLOGY WHITE PAPER Achieving Ultra-Low Latency Table of Contents Executive Summary... 3 Introduction... 4 Why Java Pauses Can t Be Tuned Away.... 5 Modern Servers Have Huge Capacities Why Hasn t Latency
More informationManual Update Java 7 25 Mac Windows 7 64 Bit
Manual Update Java 7 25 Mac Windows 7 64 Bit Oracle's Java Runtime Environment (JRE) for 64-bit Windows PCs contains the Java Virtual Machine, Suggested Searches. Search Within: All Software Windows Mac
More informationG1 Garbage Collector Details and Tuning. Simone Bordet
G1 Garbage Collector Details and Tuning Who Am I - @simonebordet Lead Architect at Intalio/Webtide Jetty's HTTP/2, SPDY and HTTP client maintainer Open Source Contributor Jetty, CometD, MX4J, Foxtrot,
More informationAhead of Time (AOT) Compilation
Ahead of Time (AOT) Compilation Vaibhav Choudhary (@vaibhav_c) Java Platforms Team https://blogs.oracle.com/vaibhav Copyright 2018, Oracle and/or its affiliates. All rights reserved. Safe Harbor Statement
More information