質問編集履歴
2
新たに気づいた点を追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -52,6 +52,36 @@
|
|
52
52
|
ということが今一つわからないため、この程度しか書けないのですが、
|
53
53
|
回答にはこのような情報が必要、ということがあれば教えてください。)
|
54
54
|
|
55
|
+
### Javaコマンドのオプションによる結果の違い(追記)
|
56
|
+
環境により結果が変わると思っていたのですが、
|
57
|
+
同じ環境でもjavaコマンドのオプションで-Xms32g -Xmx64gをつけるかどうかで、
|
58
|
+
結果が変わるということがわかりました。
|
59
|
+
具体的には環境Bでつけていた場合は
|
60
|
+
```
|
61
|
+
>java -jar -Xms32g -Xmx64g *****.jar
|
62
|
+
str1 = "abcdefghij" size(byte) -> 80
|
63
|
+
str2 = "山田太郎" size(byte) -> 64
|
64
|
+
```
|
65
|
+
となるのですが、
|
66
|
+
環境Bでもつけていない場合、
|
67
|
+
```
|
68
|
+
>java -jar *****.jar
|
69
|
+
```
|
70
|
+
や
|
71
|
+
```
|
72
|
+
>java -jar -Xms4g -Xmx8g *****.jar
|
73
|
+
```
|
74
|
+
では、
|
75
|
+
```
|
76
|
+
str1 = "abcdefghij" size(byte) -> 64
|
77
|
+
str2 = "山田太郎" size(byte) -> 48
|
78
|
+
```
|
79
|
+
となり、環境Aと同じになりました。
|
80
|
+
なので、もしかしたら環境の違いではなく、こちらが本質なのかもしれません。
|
81
|
+
逆に環境Aで-Xms32g -Xmx64gを指定したらどうなるのかは、
|
82
|
+
そんなにメモリを搭載していないため、確認できていません。
|
83
|
+
|
84
|
+
|
55
85
|
### メモリ使用量測定に使用したライブラリ(pom.xmlの記載)
|
56
86
|
|
57
87
|
```
|
1
情報追加依頼により、System.out.println(System.getProperty("os.arch"))の出力結果を追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -70,6 +70,11 @@
|
|
70
70
|
```
|
71
71
|
(上記のコード例ではjava-sizeofの方を記載しましたが、jol-coreを使用した場合も結果は同じ値になりました。)
|
72
72
|
|
73
|
+
### System.out.println(System.getProperty("os.arch"))の出力結果
|
74
|
+
(情報追加依頼により追記)
|
75
|
+
System.out.println(System.getProperty("os.arch"));
|
76
|
+
の出力結果は環境A、Bともに同じで、"amd64"でした。
|
77
|
+
|
73
78
|
### 知りたいこと
|
74
79
|
1.環境により同じデータのインスタンスであっても異なるメモリ使用量となるのは「普通のこと」なのか?それとも、「本来は同じになるはず」…だが、自分の何らかのミス、勘違いにより異なっているのか?
|
75
80
|
|