Oracle Java Day 2017

Log of study session participation.

Java 9

Java 9 Features
Module System jigsaw,Suitable for Cloud deployment, Docker, module-info.Defined in java
The Modular JDK
jShell
Encapsulate Internal APIs
jlink tool, Linker can produce custom runtime image(Regular, JVM specific memory images, fast exec)
Ahead of Time (AOT) Compilation statically compile java classes,Static and dynamic compilation integration
G1 Garbage Collector as the Default Divide the heap space into fixed sizes, E, S,Mark O

Modularization method

module com.foo.bar{
  require com.foo.bar
  exports com.foo.bar
}

Modular Development

Modularization is possible in each layer
Modular Application
Modular Link
Modular JDK
Accessibility Java 9 Accessibility
public public to everyone
public but only ...
public only within a module
protected protected
private private

src/module-info.java

module hello.world{

exports com.example.hello; // Externally published packages requires java.base; }

hello.world
com.example.hello public
(No concealed packages)hiding

Migrating from the top down

requires java.base; // added by default requires jackson-core; opens com.myapp.domain to jackson.databind // Behavior only when using reflection

        uses javax.print.PrintServiceLookup
      }

      module printlib{
        provides javax.print.PrintServiceLookup with groovy.backend.CodeEvaluatetionEngineFactory;
      }

Avoiding module circular dependencies

httpClient.java (depends on logging.api) | > loging.apis interface LogSPI < | logging.impl (depends on logging.api) class HTTPLogger implements LogSPI

The future of Java

Java Future The future of Java
uniform model object, Array, value, types, methods
post-threaded Confined/immutable data
Data Layout Codes like a class, works like an int!

Data Layout

class Point {
  final int x;
  final int y;
}

 Point[] pts = |x|y|x|y|x|y|I want to make it an image of

now,|x|y| |x|y| |x|y|Image with a gap like Less efficient with GC

Java EE 8

Java EE 8
JAX-RX2.1
Servlet 4.0 HTTP/2 performance, server push
JSON-B 1.0 JSON <-> Java binding
JSON-P 1.1
CDI 2.0
Bean Validation
JSF 2.3
Security 1.0

Deep Learning

deepleaning4j

Recommended Posts

Oracle Java Day 2017
Oracle Java Day 2017
Java Day 2018
Java learning day 5
Java Day Tokyo 2017
java learning day 2
java learning day 1
Received Oracle Java Bronze
Java Silver Study Day 1
Java Kuche Day memo
Muscle Java Basics Day 1
Oracle Java 8 on Docker Ubuntu
4th day of java learning
Java
Put Oracle Java 8 on CircleCI 2
Java
Java is the 5th day
Muscle Java Object Oriented Day 2 ~ Inheritance ~
Oracle Certified Java Programmer, Gold SE 8
Java9 (based on Oracle JVM) catchup
How to pass Oracle Java Silver
Java learning (0)
Studying Java ―― 3
Java protected
[Java] Annotation
[Java] Module
Java array
Studying Java ―― 9
Java scratch scratch
Java tips, tips
Java methods
Java method
java (constructor)
Java array
[Java] ArrayDeque
java (override)
Java string
java (array)
Java static
Java serialization
java beginner 4
JAVA paid
Studying Java ―― 4
[Java] Get the day of the specific day of the week
Java (set)
java shellsort
[Java] compareTo
Studying Java -5
java (interface)
Java memorandum
Oracle Certified Java Silver SE 8 Passing Experience
☾ Java / Collection
Java array
Studying Java ―― 1
[Java] Array
[Java] Polymorphism
Studying Java # 0
java framework
Java features
[Java] Inheritance
FastScanner Java