読書会(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
(以上)
[ 戻る ]