めも

技術メモとその他

java 浮動小数点型の暗黙の型変換

doubleなどレガシーな型における暗黙の型変換とその優先順位のメモ

(1) どちらかの値が double 型の場合は他の値を double 型に変換する
(2) どちらかの値が float 型の場合は他の値を float 型に変換する
(3) どちらかの値が long 型の場合は他の値を long 型に変換する
(4) (1)から(3)に該当しない場合は両方の値を int 型に変換する

詳しくは下記に説明されています。

 

www.javadrive.jp

jvmパラメータ

java8以降、パラメータ変更あるのでそのメモ

従来のPermanent領域はMetaspace領域として定義される

 

参考にさせてもらいました。

 

【Java入門】javaコマンド引数のオプション設定一覧(JVMのarguments) | 侍エンジニアブログ

【postgres】group by 〜 first row 集計して最初の行をとる

 

select * from detail;

 

 product_id | item |    value     

------------+------+--------------

 000001     | 01   | 1111-1111-11

 000001     | 02   | 100000

 000001     | 03   | 100000

 000001     | 04   | in

 000001     | 05   | 100000

 000002     | 01   | 2222-1111-11

 000002     | 02   | 100000

 000002     | 03   | 100000

 000002     | 04   | out

 000002     | 05   | 100000

 000003     | 01   | 3333-1111-11

 000003     | 02   | 100000

 000003     | 03   | 100000

 000003     | 04   | in

 000003     | 05   | 100000

(15 rows)

 

select *,rank() over (partition by product_id 

order by item desc ) as rank 

from detail;

 

 product_id | item |    value     | rank 

------------+------+--------------+------

 000001     | 05   | 100000       |    1

 000001     | 04   | in           |    2

 000001     | 03   | 100000       |    3

 000001     | 02   | 100000       |    4

 000001     | 01   | 1111-1111-11 |    5

 000002     | 05   | 100000       |    1

 000002     | 04   | out          |    2

 000002     | 03   | 100000       |    3

 000002     | 02   | 100000       |    4

 000002     | 01   | 2222-1111-11 |    5

 000003     | 05   | 100000       |    1

 000003     | 04   | in           |    2

 000003     | 03   | 100000       |    3

 000003     | 02   | 100000       |    4

 000003     | 01   | 3333-1111-11 |    5

(15 rows)

 

あとはrank=1のものに条件を絞ればOK