読書会(Java 11 and 12 - New Features)第4回議事録

[ 戻る ]


==========================================================================================
Java読書会BOF 「Java 11 and 12 - New Features」を読む会 第4回
==========================================================================================

"日時","2019年9月14日 10:00 - 17:00"
"場所","川崎市教育文化会館 第3会議室"
"出席者(敬称略)","高橋(徹)、高橋(智)、遠藤、岩室、大部(書記)"

    Enhancing CDS
----------------------------------------------
  Abortable mixed collections for G1
----------------------------------------------
  Promptly return inused committed memory from G1
----------------------------------------------
 - OSにメモリを返せる
 - 宿題: JDK 12でやってみてVMメモリを見るとわかるかもしれない

  Summary
----------------------------------------------

Section 4: Project Amber
======================================================================

Chapter 13: Enhanced Enums in Project Amber
======================================================================
  A quick background
----------------------------------------------
    An example
----------------------------------------------
 - Color.red
 - 大文字は1.4導入
 - 小文字は古いAPI JDK 1.0

    Decompiled enum - behind the scenes
----------------------------------------------
 - 誤植: Enum.valueOf(Size, s) -> Size.class, s   いらない jadoの問題?
 - 宿題: Enumクラスをデコンパイルする

  The state and behavior of enum constants
----------------------------------------------
    Adding states and behaviors to enum constants
----------------------------------------------
 - 誤植: p161: 文章2行目: breadth -> width
 - 誤植: p161: 文章3行目: getWidth -> getWidth()
 - 誤植: p161: 下から8行目: // toString -> toText() 

    Accessing the state and behavior of enum constants
----------------------------------------------
 - goshは神
 - 誤植: p162: 絵の中: SMALL -> MEDIUM

      Workarounds to access enum constants
----------------------------------------------
 - 宿題: Enumを継承したクラスを作れることを言語仕様で確認する

    Using inheritance with enum constants
----------------------------------------------
    Adding generics to enums
----------------------------------------------
    Sharper typing of enum constants
----------------------------------------------
  Summary
----------------------------------------------
Chapter 14: Data Classes and Their Usage
======================================================================
  An introduction to data classes
----------------------------------------------
    What is a data class?
----------------------------------------------
 - 誤植: p170: public void setName() -> public void setName(String name)
 - 誤植: p170: public void setAge() -> public void setAge(int age)

    The need to add data classes to the language
----------------------------------------------
  Diving into data classes
----------------------------------------------
    Example of syntax and semantics
----------------------------------------------
 - 誤植: p174: //のコメントの改行がおかしい
 - 誤植: p175: 絵の中: java.long -> java.lang

    The aggregate and exploded forms of data classes
----------------------------------------------
    Limitations
----------------------------------------------
    Examples from the past - changes to difine enums
----------------------------------------------
    Pattern matching with data classes
----------------------------------------------
    Encapsulating the state
----------------------------------------------
 - get,setが提供される?

    Abstract and non-abstract data classes
----------------------------------------------
    Data classes and inheritance
----------------------------------------------
    Extending an abstract data class
----------------------------------------------
    Implementing interfaces
----------------------------------------------
 - 誤植: p180: abstract void conferenceTalk();のabstractはなくていい。
 - 誤植: p180: 一番下のコードブロックの};のセミコロンはなくてもいい

    Additional variables
----------------------------------------------
    Overriding implicit behaviors
----------------------------------------------
    Additional methods and constructors
----------------------------------------------
    Mutability
----------------------------------------------
  Summary

Chapter 15: Raw String Literals
======================================================================
  Technical requirements
----------------------------------------------
  A quick example
----------------------------------------------
  Issue with existing multilie string values
----------------------------------------------
    A simple task
----------------------------------------------
    Escape sequence hell with traditional string literals
----------------------------------------------
    Contatenation hell with traditional string literals
----------------------------------------------
    Including escape sequences as part of string values
----------------------------------------------
    Strings and regex patterns, another hell
----------------------------------------------
 - 誤植: p189: (\w)(\s+))[\.] -> (\w)(\s+)[\.]

  Welcoming raw string literals
----------------------------------------------
    Rewriting using raw strings
----------------------------------------------
    The delimiter (backtick)
----------------------------------------------
    Treating escape values
----------------------------------------------
 - 誤植: p192: (that is, \u0060 in) のinは不要

    Raw string literals versus traditional string literals
----------------------------------------------
    Interpreting escape sequences 
----------------------------------------------
    The unescape() method
----------------------------------------------
    The escape() method
----------------------------------------------
  Managing margins
----------------------------------------------
    The align() method
----------------------------------------------
    The indent(int) method
----------------------------------------------
    The overloaded align(int) method
----------------------------------------------
    The detab(int) and entab methods
----------------------------------------------
    The transform() method
----------------------------------------------
  Common examples
----------------------------------------------
    JSON data
----------------------------------------------
    XML data
----------------------------------------------
    File paths
----------------------------------------------
    Database queries
----------------------------------------------
  Summary

Chapter 16: Lambda Letfovers
======================================================================
  Technical requirements
----------------------------------------------
  Marking unused parameters with underscores
----------------------------------------------
    An example of lambda parameters
----------------------------------------------
    The journey of getting there
----------------------------------------------
  Shadowing of lambda parameters
----------------------------------------------
    The existing case of lambda parameters
----------------------------------------------
 - 誤植: p206: 2か所とも同じ誤植: .forEach(System.out::prinltn); -> .forEach(System.out::println);

    Why should lambda parameters overshadow enclosing variables?
----------------------------------------------
    A few of the known issues
----------------------------------------------
 - 誤植: p207: .forEach(System.out::prinltn); -> .forEach(System.out::println);

  Disambiguation of functional expressions
----------------------------------------------
    Issues with resolving overloaded methods - passing lambdas
----------------------------------------------
    Issues with resolving overloaded methods - passing method references
----------------------------------------------
    The proposed solution
----------------------------------------------
  Summary

Chapter 17: Pattern Matching
======================================================================
  Technical requirements
----------------------------------------------
  Pattern matching
----------------------------------------------
  Existing issues with type testing
----------------------------------------------
  Type test patterns
----------------------------------------------
  Using pattern matching with switch constructs
----------------------------------------------
  Summary


(以上)


[ 戻る ]