Java 11 Bogusław Matysik.

Slides:



Advertisements
Podobne prezentacje
Graficzny klient SVN graficzny klient SVN integrujący się z powłoką systemu dostępny tylko dla systemu Windows - do pobrania z
Advertisements

Usługi sieciowe Wykład VPN -Debian
Wstęp do strumieni danych
Java dla studentów II roku Wydziału Fizyki PW Przemysław Duda, 2012
Mgr inż.Marcin Borkowski Podstawy Java Krótkie wprowadzenie dla studentów Wyższej Szkoły Ekologii i Zarządzania
Programowanie obiektowe
Konwersja klucza z formatu PEM (certyfikaty Gridowe) do PKCS12 Warsztaty promocyjne dla użytkowników usługi Michał Jankowski, PCSS.
Nguyen Hung Son Uniwersytet Warszawski
Podstawy języka Java Nguyen Hung Son Uniwersytet Warszawski.
Tworzenie ASP.NET Web Form
TPTP optymalizacja kodu.
WPROWADZENIE DO JĘZYKA JAVA
Gniazda komunikacji sieciowej w języku Java
Koordynatorzy: Krzysztof BIKONIS Marek MOSZYŃSKI
Dr Anna Kwiatkowska JAVA dr Anna Kwiatkowska
Język Java Wielowątkowość.
Projekt i implementacja aplikacji do zasilania bazy danych testowymi danymi Jacek Lis Promotor: prof. dr hab. inż. Włodzimierz KASPRZAK.
REPOZYTORIA 1. Co to są repozytoria?
Przykład włamania do aplikacji internetowej poprzez modyfikację zapytań SQL Skrypty ASP Serwer bazy danych MS SQL Server Piotr Kuźniacki BDi.
Dropbox.
Podstawy C# Grupa .NET PO.
Pakiety w Javie Łukasz Smyczyński (132834). Czym są pakiety? Klasy w Javie są grupowane w pewne zbiory zwane pakietami. Pakiety są więc pewnym podzbiorem.
CUDA & CUDA.NET – czyli istne CUDA Piotr Ablewski
Robi bo musi, czy Ruby bo lubi?
Podstawy programowania. Język C i C++– podstawy Temat: 1
Java 3 MPDI Programowanie obiektowe W7. import java.io.*; public class X { // kontrukcja throws – określenie jakie wyjątki może dana metoda // sygnalizować
Tadeusz Ziębakowski Zachodniopomorski Uniwersytet Technologiczny.
Interpretatory poleceń - powłoki systemu
JAVA – wstęp.
TortoiseHg + Windows konfiguracja
Office 365.
Tworzenie aplikacji mobilnych
Przygotował: Paweł Ziaja
Tworzenie aplikacji mobilnych
Programowanie obiektowe – zastosowanie języka Java SE
JAVA.
JAVA c.d.. Instrukcji wyboru SWITCH używamy, jeśli chcemy w zależności od wartości pewnego wyrażenia wykonać jeden z kilku fragmentów kodu. Jest to w.
Seminarium problemowe
Java 3 MPDI Programowanie obiektowe W5. Java - obiektowy język programowania stworzony przez firmę Sun Microsystems. Java jest językiem tworzenia programów.
Automatyzacja zadań administracyjnych za pomocą Windows PowerShell
Platforma analizy wizualnej - VisNow Szkolenie Platforma analizy wizualnej - VisNow Szkolenie 15 maja 2013, Sesja sprawozdawcza KDM Krzysztof S. Nowiński.
Linux w sieci Konfigurowanie interfejsu sieciowego.
Zpiratował Rafał Kaczyński. Jest to technologia pozwalająca mapować dane obiektowe na odpowiadające im struktury w bazach danych. Hibernate pozwala na.
1 Strumienie Hierarchie klas strumieniowych, strumienie bajtowe - klasy InputStream i OutputStream i ich metody, klasa File, strumienie plikowe, strumienie.
  ELEMENTY JĘZYKA JAVA komentarze w Javie, słowa kluczowe i operatory, proste typy danych, tablice, podstawowy zestaw instrukcji.
Biblioteka DLL w oparciu o źródła w języku C
Wydział Elektroniki Kierunek: AiR Zaawansowane metody programowania Wykład 5.
Technologie internetowe Wykład 5 Wprowadzenie do skrytpów serwerowych.
Autor: Dawid Nowak. Zalecane wymagania sprzętowe. Procesor: 1 GHz 32 bitowy lub 64 bitowy Pamięć RAM: 1 GB dla systemu32 bitowego, 2 GB dla systemu 63.
Prom Pisanie pluginów Maciej Sobkowiak & Tomek Ciesielczyk.
Konfiguracja HIBERnate, postgresQL + przykładowa aplikacja
Aktualizowanie systemów operacyjnych Przedmiot: Systemy operacyjne Klasa: 1TI Opracował: Marek Kwiatkowski.
Strumienie w języku Java Bartosz Walter InMoST Wielkopolska sieć współpracy w zakresie innowacyjnych metod wytwarzania oprogramowania Termin realizacji:
Lua - wprowadzenie ● lua.org – źródła, dokumentacja, podręcznik itp ● Interpreter - Lua.org->Downloads->Binaries->get a binary-> Windows->Wersja >Executables->
Instalacja klucza HASP.
Testowanie Wydajności Kodu za pomocą Narzędzia JMH
Przeglądarka stron WWW
Realizacja aplikacji internetowych
Akademia C# - Lab2 Zmienne, instrukcje warunkowe, pętle, debugger,
Podstawy tworzenia skryptów
Klasy wewnętrzne. Praktyka użycia interfejsów i klas wewnętrznych
Programowanie obiektowe – zastosowanie języka Java SE
Założenia projektowe Javy
Przycisk uruchamiający napisany przez nas program
Zdarzenia (eventy) Zdarzenia służą do powiadomienia użytkownika, gdy w używanej klasie dojdzie do pewnych wydarzeń zdefiniowanych przez twórcę klasy.
BYDGOSKI FESTIWAL NAUKI
Programowanie w Javie 1 Dr Robert Kowalczyk
zl
1) What is Linux 2) Founder and mascot of linux 3) Why Torvalds created linux ? 4) System advantages and disadvantages 5) Linux distributions 6) Basic.
Tworzenie wątków w Javie
Zapis prezentacji:

Java 11 Bogusław Matysik

Java 11 Agenda 327: Unicode 10 324: Key Agreement with Curve25519 and Curve448 329: ChaCha20 and Poly1305 Cryptographic Algorithms 330: Launch Single-File Source-Code Programs 328: Flight Recorder

JEP 327: Unicode 10 ” Unicode provides a unique number for every character, no matter what the platform, no matter what the program, no matter what the language. „

JEP 327: Unicode 10 JDK 10 JDK 11 Unicode 8.0 120,737 znaków +6 skryptów +72 emoji +8,518 znaków +4 skrypty +56 emoji Unicode 10.0

JEP 327: Unicode 10 JDK 10 JDK 11 976,673 Unicode 8.0 120,737 znaków +10 skryptów +138 emoji 136,690 znaków 139 skrypty 1146 emoji Unicode 10.0 137,374 znaków 146 skrypty 1212 emoji Unicode 11.0

🦕 🥟 🦖 JEP 327: Unicode 10 W tym: U+1F95F Dumpling 🥟 Empanada 🥟 Pierogi Znane również jako 🥟 Empanada 🥟 Pierogi U+1F996 T-Rex U+1F995 Brachiosaurus

₿ 🦕 🥟 🦖 JEP 327: Unicode 10 W tym: U+1F95F Dumpling 🥟 Empanada Znane również jako 🥟 Empanada 🥟 Pierogi U+20BF Bitcoin U+1F996 T-Rex U+1F995 Brachiosaurus

JEP 327: Unicode 10 Character and String in the java.lang package, NumericShaper in the java.awt.font package, and Bidi, BreakIterator, and Normalizer in the java.text package. 🦖 🥟 🦕

Exploding Head 🤯 Mind Blown U+1F92F

1212 U+1F603 U+1F602 Oxford Word of a Year 2015 Tears of Joy

1212 1644 variation selector-16 U+FE0F zero-width joiner U+1F926 U+200D U+1F468 U+200D U+1F469 U+200D U+1F467 U+200D U+1F466 U+1F926 U+200D U+2642 U+FE0F U+1F602 U+1F468 U+200D U+1F9B0 Tears of Joy U+1F937 U+200D U+2640 U+FE0F ¯\_(ツ)_/¯

2,823 1644 zero-width joiner U+200D U+1F468 U+200D U+1F9B0 Tears of Joy

Tears of Joy

https://github.com/Magisk-Modules-Repo/systemless-unicode9-ios10-Emoji Tears of Joy https://github.com/Magisk-Modules-Repo/systemless-unicode9-ios10-Emoji

Skrypty: W Unicode skrypt to zbiór liter i innych pisemnych znaków służących do reprezentowania informacji tekstowych w jednym lub kilku systemach pisma. Więc jeżeli brakowało wam wsparcia dla szangszung albo Pismo tanguckiego wykorzystywanego między XI a XVI wieku które znajdowało się na części obecnych chin to wraz ze wsparciem JDK11 dla Unicode 10 mamy wsparcie dla prawie 7000 tysięcy znaków wykorzystywanych w tamtym języku

1977

1977 Trapdoor function

1977 Trapdoor function "Global Security"

1977 Trapdoor function "Global Security" 228-bit RSA key 228-bit elliptic curve key

1977 Trapdoor function "Global Security" 2380-bit RSA key 228-bit elliptic curve key

JEP 324: Key Agreement with Curve25519 and Curve448 JEP 329: ChaCha20 and Poly1305 Cryptographic Algorithms

Illustration of the idea behind Diffie–Hellman key exchange

y2 = x3 + ax + b

y2 = x3 + ax + b https://blog.cloudflare.com/a-relatively-easy-to-understand-primer-on-elliptic-curve-cryptography/

y2 = x3 + ax + b max: 1157920892103562487626974469494075735300861434152903141955336313088670978 53951    a = 1157920892103562487626974469494075735300861434152903141955336313088670978 53948   b = 4105836372515214212932612978004726840911444101599372555483525631403946740 1291 https://blog.cloudflare.com/a-relatively-easy-to-understand-primer-on-elliptic-curve-cryptography/

JEP 324: Key Agreement with Curve25519 and Curve448 KeyPairGenerator KeyFactory JEP 329: ChaCha20 and Poly1305 Cryptographic Algorithms javax.crypto.CipherSpi

java HelloWorld.java

JEP 330: Launch Single-File Source-Code Programs java HelloWorld.java

JEP 330: Launch Single-File Source-Code Programs java launcher JDK 10 Plik .class Klasa ’main’ w jar Klasa ’main’ w module

JEP 330: Launch Single-File Source-Code Programs java launcher JDK 11 Plik .class Klasa ’main’ w jar Klasa ’main’ w module + 4. Klasa z pliku źródłowego

./HelloWorld.java public class HelloWorld { public static void main(String[] args) { System.out.println("🖐🌍🌎🌏"); } java HelloWorld.java

./HelloWorld.java ./🥟.java public class HelloWorld { public static void main(String[] args) { System.out.println("🖐🌍🌎🌏"); } java HelloWorld.java java 🥟.java

./HelloWorld.java ./🥟.java ./🤯 public class HelloWorld { public static void main(String[] args) { System.out.println("🖐🌍🌎🌏"); } java HelloWorld.java java 🥟.java java 🤯

JEP 330: Launch Single-File Source-Code Programs java HelloWorld.java java --source version HelloWorld

JEP 330: Launch Single-File Source-Code Programs java Factorial.java 3 4 5 javac -d <memory> Factorial.java java -cp <memory> Factorial 3 4 5

JEP 330: Launch Single-File Source-Code Programs $ ./hello.java "Shebang" files $ hello #!/usr/lib/jvm/jdk-11.0.1/bin/java --source 11   public class HelloScriptsInJava { public static void main(String[] args) { System.out.println("🖐 scripts in Java!"); }

JEP 330: Launch Single-File Source-Code Programs Linux, OS X… Windows ??? WSL Od 2016 roku Microsoft wprowadził do Windows coś takiego jak WSL (Windows Subsystem for Linux)

Tutorial: shebag na ”windows” 1. PowerShell: Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux 2. Restart systemu 3. Aktualizacje… . . . Od 2016 roku Microsoft wprowadził do Windows coś takiego jak WSL (Windows Subsystem for Linux) https://docs.microsoft.com/en-us/windows/wsl/install-win10

Tutorial: shebag na ”windows” 1. PowerShell: Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux 2. Restart systemu 3. Aktualizacje… 4. Microsoft Store: wyszukujemy ”linux” i wybieramy swoją ❤ dystrybucję linuxa Od 2016 roku Microsoft wprowadził do Windows coś takiego jak WSL (Windows Subsystem for Linux) https://docs.microsoft.com/en-us/windows/wsl/install-win10

Tutorial: shebag na ”windows” 1. PowerShell: Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux 2. Restart systemu 3. Aktualizacje… 4. Microsoft Store: wyszukujemy ”linux” i wybieramy swoją ❤ dystrybucję linuxa 5. Klikamy Pobierz, Zainstaluj, Uruchom… Od 2016 roku Microsoft wprowadził do Windows coś takiego jak WSL (Windows Subsystem for Linux) https://docs.microsoft.com/en-us/windows/wsl/install-win10

Tutorial: shebag na ”windows” 1. PowerShell: Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux 2. Restart systemu 3. Aktualizacje… 4. Microsoft Store: wyszukujemy ”linux” i wybieramy swoją ❤ dystrybucję linuxa 5. Klikamy Pobierz, Zainstaluj, Uruchom… 6. [Ta dam… mamy linux’a] podajemy nową nazwę użytkownika i hasło Od 2016 roku Microsoft wprowadził do Windows coś takiego jak WSL (Windows Subsystem for Linux)

Tutorial: shebag na ”windows” 1. PowerShell: Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux 2. Restart systemu 3. Aktualizacje… 4. Microsoft Store: wyszukujemy ”linux” i wybieramy swoją ❤ dystrybucję linuxa 5. Klikamy Pobierz, Zainstaluj, Uruchom… 6. [Ta dam… mamy linux’a] podajemy nową nazwę użytkownika i hasło 7. bash: sudo apt update && sudo apt upgrade 8. bash: apt-get install default-jdk Od 2016 roku Microsoft wprowadził do Windows coś takiego jak WSL (Windows Subsystem for Linux) https://docs.microsoft.com/en-us/windows/wsl/install-win10

Tutorial: shebag na ”windows” 1. PowerShell: Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux 2. Restart systemu 3. Aktualizacje… 4. Microsoft Store: wyszukujemy ”linux” i wybieramy swoją ❤ dystrybucję linuxa 5. Klikamy Pobierz, Zainstaluj, Uruchom… 6. [Ta dam… mamy linux’a] podajemy nową nazwę użytkownika i hasło 7. bash: sudo apt update && sudo apt upgrade 8. bash: apt-get install default-jdk 8. bash: apt-get install openjdk-11-jdk Od 2016 roku Microsoft wprowadził do Windows coś takiego jak WSL (Windows Subsystem for Linux)

Tutorial: shebag na ”windows” 1. PowerShell: Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux 2. Restart systemu 3. Aktualizacje… 4. Microsoft Store: wyszukujemy ”linux” i wybieramy swoją ❤ dystrybucję linuxa 5. Klikamy Pobierz, Zainstaluj, Uruchom… 6. [Ta dam… mamy linux’a] podajemy nową nazwę użytkownika i hasło 7. bash: sudo apt update && sudo apt upgrade 8. bash: apt-get install default-jdk 8. bash: apt-get install openjdk-11-jdk 8. Instalujemy openjdk-11 manualnie bash: wget https://download.java.net/java/GA/jdk11/13/GPL/openjdk-11.0.1_linux-x64_bin.tar.gz -O /tmp/openjdk-11.0.1_linux-x64_bin.tar.gz bash: sudo tar xfvz /tmp/openjdk-11.0.1_linux-x64_bin.tar.gz --directory /usr/lib/jvm bash: rm -f /tmp/openjdk-11.0.1_linux-x64_bin.tar.gz Od 2016 roku Microsoft wprowadził do Windows coś takiego jak WSL (Windows Subsystem for Linux)

Tutorial: shebag na ”windows” 1. PowerShell: Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux 2. Restart systemu 3. Aktualizacje… 4. Microsoft Store: wyszukujemy ”linux” i wybieramy swoją ❤ dystrybucję linuxa 5. Klikamy Pobierz, Zainstaluj, Uruchom… 6. [Ta dam… mamy linux’a] podajemy nową nazwę użytkownika i hasło 7. bash: sudo apt update && sudo apt upgrade 8. bash: apt-get install default-jdk 8. bash: apt-get install openjdk-11-jdk Od 2016 roku Microsoft wprowadził do Windows coś takiego jak WSL (Windows Subsystem for Linux) 8. Instalujemy openjdk-11 manualnie bash: wget https://download.java.net/java/GA/jdk11/13/GPL/openjdk-11.0.1_linux-x64_bin.tar.gz -O /tmp/openjdk-11.0.1_linux-x64_bin.tar.gz bash: sudo tar xfvz /tmp/openjdk-11.0.1_linux-x64_bin.tar.gz --directory /usr/lib/jvm bash: rm -f /tmp/openjdk-11.0.1_linux-x64_bin.tar.gz 9. Do pliku .profile dodajemy: export PATH=$PATH:/usr/lib/jvm/jdk-11.0.1/bin

JEP 328: Flight Recorder open source

JEP 328: Flight Recorder open source jdk.jfr jdk.management.jfr

JEP 328: Flight Recorder java -XX:StartFlightRecording ... jcmd <pid> JFR.start jcmd <pid> JFR.dump filename=recording.jfr jcmd <pid> JFR.stop

JEP 328: Flight Recorder 1. Dostarcza API do produkowania i konsumpcji danych jako eventów ./Producer.java import jdk.jfr.*;   public class Main { public static void main(String... args) { HelloWorld event = new HelloWorld(); event.message = "hello, world!"; event.commit(); } @Label("Hello World") @Description("Helps the programmer getting started") class HelloWorld extends Event { @Label("Message") String message; java -XX:StartFlightRecording=filename=recording.jfr .\Producer.java

JEP 328: Flight Recorder 1. Dostarcza API do produkowania i konsumpcji danych jako eventów ./Consumer.java import jdk.jfr.consumer.RecordedEvent; import jdk.jfr.consumer.RecordingFile; import java.io.IOException; import java.nio.file.Path; import java.nio.file.Paths;   public class Main { public static void main(String... args) throws IOException { Path p = Paths.get("recording.jfr"); for (RecordedEvent e : RecordingFile.readAllEvents(p)) { if (e.hasField("message")) System.out.println(e.getStartTime() + " : " + e.getValue("message")); } java .\Consumer.java

JEP 328: Flight Recorder

JEP 328: Flight Recorder 1. Dostarcza API do produkowania i konsumpcji danych jako eventów 2. Zapewnia mechanizm buforu oraz binarny format danych 3. Pozwala konfigurować i filtrować „eventy” 4. Zapewnia eventy dla OS, HotSpot JVM i bibliotek JDK

boguslaw.mail@gmail.com