Java 9.

Slides:



Advertisements
Similar presentations
1 Copyright © 2005, Oracle. All rights reserved. Introducing the Java and Oracle Platforms.
Advertisements

J2ME RMI 1 Java 2 Platform, Micro Edition Implementation of J2ME RMI Application Farooq Sheikh.
Remote Unit Testing Brian Pruitt-Goddard Alex Riordan.
JAVA PROGRAMING LANGUAGE. Content of Java 2 SDK  Development Tools (In the bin subdirectory.) Tools and utilities that will help you develop, execute,
CS-341 Dick Steflik Introduction. C++ General purpose programming language A superset of C (except for minor details) provides new flexible ways for defining.
Applying OO Concepts Using Java. In this class, we will cover: Overriding a method Overloading a method Constructors Mutator and accessor methods The.
01 Introduction to Java Technology. 2 Contents History of Java What is Java? Java Platforms Java Virtual Machine (JVM) Java Development Kit (JDK) Benefits.
Using Ant to build J2EE Applications Kumar
CSCI 224 Introduction to Java Programming. Course Objectives  Learn the Java programming language: Syntax, Idioms Patterns, Styles  Become comfortable.
M1G Introduction to Programming 2 4. Enhancing a class:Room.
Lecturer PEN PHIROM Tel : Web site: Lecturer PEN PHIROM Tel :
What’s new in Stack 3.2 Michael Youngstrom. Disclaimer This IS a presentation – So sit back and relax Please ask questions.
The Basics of Javadoc Presented By: Wes Toland. Outline  Overview  Background  Environment  Features Javadoc Comment Format Javadoc Program HTML API.
1 Module Objective & Outline Module Objective: After completing this Module, you will be able to, appreciate java as a programming language, write java.
Java Introduction to JNI Prepared by Humaira Siddiqui.
By Noorez Kassam Welcome to JNI. Why use JNI ? 1. You already have significantly large and tricky code written in another language and you would rather.
Chapter 1: Introducing JAVA. 2 Introduction Why JAVA Applets and Server Side Programming Very rich GUI libraries Portability (machine independence) A.
CSCE 2013L: Lab 1 Overview  Java Basics The JVM Anatomy of a Java Program  Object-Oriented Programming Overview  Example: Payroll.java JDK Tools and.
May 9, 2002Serguei A. Mokhov, 1 Kickstart Intro to Java Part I COMP346/ Operating Systems Revision 1.6 February 9, 2004.
Basic Java Syntax CSE301 University of Sunderland Harry R Erwin, PhD.
COP 3330 Notes 1/12. Today's topics Downloading Java and Eclipse Hello World Basic control structures Basic I/O Strings.
Comparing JavaBeans and OSGi Towards an Integration of Two Complementary Component Models HUMBERTO CERVANTES JEAN-MARIE FAVRE 09/02.
Javadoc: Advanced Features & Limitations Presented By: Wes Toland.
4-Nov-15 Air Force Institute of Technology Electrical and Computer Engineering Object-Oriented Programming Design Topic 1: The Java Environment Maj Joel.
CS Software Studio Java Lab 1 Meng-Ting Wang PLLAB, Computer Science Department, National Tsing-Hua University.
JAVA COURSE 1 Computer Engineering Association. Compile your first program Public class Hello{ public class Hello(){ System.out.println(“Hello”); } puclic.
Core Java Introduction Byju Veedu Ness Technologies httpdownload.oracle.com/javase/tutorial/getStarted/intro/definition.html.
1 Chapter 5: Defining Classes. 2 Basics of Classes An object is a member of a class type What is a class? Fields & Methods Types of variables: –Instance:
Duke CPS From C++ to Java l Java history: Oak, toaster-ovens, internet language, panacea l What it is ä O-O language, not a hybrid (cf. C++)
In this class, we will cover: Overriding a method Overloading a method Constructors Mutator and accessor methods The import statement and using prewritten.
Today Javadoc. Packages and static import. Viewing API source code. Upcoming Topics: –protected access modifier –Using the debugger in Eclipse –JUnit testing.
JAVA TRAINING IN NOIDA. JAVA Java is a general-purpose computer programming language that is concurrent, class-based, object-oriented and specifically.
JavaFX on Mobile and Embedded: Status and Future Plans
Java 9 support in Eclipse Jay Arthanareeswaran, Manoj Palat IBM.
SESSION 1 Introduction in Java. Objectives Introduce classes and objects Starting with Java Introduce JDK Writing a simple Java program Using comments.
PhoneGap. web-based mobile development framework, based on the open-source Cordova project. use standard web technologies such as HTML5, CSS3, and JavaScript.
CS-140 Dick Steflik Lecture 3. Java C++ Interpreted optimized for the internet Runs on virtual ized machine Derived from C++ Good object model Widely.
May 31st, 2016 #AustinJug Thanks to Mike Perez and Chris Ritchie for the graphic.
Introduction to Android Programming
Sachin Malhotra Saurabh Choudhary
CLOUD
Build Automation with Gradle
Intro to ETEC Java.
Before You Begin Nahla Abuel-ola /WIT.
Chapter 5 Remote Procedure Call
JavaOne BOF: The Legacy Developer’s Guide to Java 9
55 New Features In JDK 9 Simon Ritter Deputy CTO, Azul Systems.
PROJECT JIGSAW – INTEGRATION WITH TOOLS
Project Topic 2: Migration to Java 9
Microsoft .NET 3. Language Innovations Pan Wuming 2017.
Introduction Enosis Learning.
Java Basics Packages.
Java 9 New features 8/11/2017 Iason Dimitrios Rodis.
Java Virtual Machine Complete subject details are available at:
Introduction Enosis Learning.
Java 9 Project Jigsaw / JSR 376: JavaTM Platform Module System.
.NET and .NET Core 9. Towards Higher Order Pan Wuming 2017.
Embracing Java 9 and beyond with Eclipse JDT
Project Lombok.
From C++ to Java Java history: Oak, toaster-ovens, internet language, panacea What it is O-O language, not a hybrid (cf. C++) compiled to byte-code, executed.
CISC124 Assignment 4 on Inheritance due next Friday.
Applying OO Concepts Using Java
Java Programming Review 1
Java IDE Dwight Deugo Nesa Matic Portions of the notes for this lecture include excerpts from.
Introducing Java.
Chap 1. Getting Started Objectives
CMPE212 – Reminders Assignment 2 due today, 7pm.
Chap 4. Programming Fundamentals
The beginning of media computation Followed by a demo
Presentation transcript:

Java 9

Hello! My name is Dawid Maksylewicz Contractor / Java / full-stack dev Working remotely Contact at: dawid.maksylewicz@gmail.com

Agenda jigsaw REPL API changes Other

“Java 9 is about how we package and deploy our code” Java 8 was all about how we changed the way we write our code “Java 9 is about how we package and deploy our code” Venkat

jigsaw std libs modularized (rt.jar ~65mb / 4500 classes / 94 modules) java.base jlink different versions of a class (within a single jar) enhanced jar tool & jre (for multi-release-jars) -no more classpath hell -no jre, no tools.jar, no rt.jar -java.base -> String, java.lang, Class -jlink is the linker tool and can be used to link a set of modules, along with their transitive dependencies, to create a custom modular run-time image -new linking phase between compile-time and run-time -modularity aspects of Java 9 include application packaging, modularizing the JDK itself, and reorganizing source code into modules -application modules -automatic modules (jars on module path, exports everything, imports everything) -unnamed modules (jars on classpath, without name can’t be required, exports everything, imports everything on demand) -platform modules -java --describe-module java.sql

jigsaw

jigsaw

jigsaw

jshell / REPL native support commands: /vars /methods /list /edit helloWorld -/help intro -/list -/list all -/int x = 1 -/edit x

API changes encapsulation jdeps -jdkinternals your.jar - every public class can be accessed by any other public class on the classpath - open: java.*, javax.*, com.sun.*, some jdk.* - closed: sun.* - compatibility / frameworks & internal API - --add-exports & --add-opens & --permit-illegal-access - will be illegal to use after Java9

API changes cd...

Other factory methods for list, set, maps takeWhile / dropWhile in streams stream of Optional faster parallel Files.lines() deprecation (forRemoval, since) - immutable instances, 0 - 10 elements overload, varargs - like skip / limit (unordered streams)

Other cd... underscore private interface methods support for reactive streams Unicode (java 7 -> 2.834 characters, java 8 -> 7.716 characters) share string & char[] across different JVMs process API - better control & management of operating system processes - new methods to handle PIDs, process names and states, ability to enumerate JVMs and processes

Other cd... Eclipse Oxygen / IntelliJ IDEA 2017.3 Glassfish 5.0 (not supported by Eclipse) / Payara 5 / Wildfly 11 Gradle 4.2.1 - better control & management of operating system processes - new methods to handle PIDs, process names and states, ability to enumerate JVMs and processes

Summary jigsaw REPL API changes Other

Thanks! Any q?