当方、メモリリークについてほとんど意識したことないため、次の場合って
メモリリークおこすのですか?
自分の予想だと、strはfor内のローカル変数であり、次のループでStringのインスタンスは
参照されなくなるので、メモリリークは起こさないと思います。
クラス名:MemTyosa
public class MemTyosa {
public static void main(String args[]){
for(int i = 0; i < 10000; i++) {
String str = new String(Factory.factroyStr);
}
}
}
クラス名:Factory
public class Factory {
static public String factroyStr = "abc";
}
メモリリークはどのようなコードだと起こすのでしょうか?
以上、よろしくお願いします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
質問のコードではメモリーリークは起きません。
またJavaは従来的な意味でのメモリーリークは原理的に起こりません。
Javaでいうところのメモリーリークとはオブジェクトの置き忘れの
ことです。オブジェクトをマップやリストに登録したまま忘れる
というパターンが多いですね。
No.3
- 回答日時:
言語仕様としては起こりません。
ただし、小さなNew領域、大きなOld領域、重いガーベッジコレクションアルゴリズム、小さなガーベッジコレクションによるストップタイムといった組み合わせにすると、メモリリークが起こります。
#要するに、メモリ割り当てにガーベッジコレクションが追い付いていない状態
ただ、ループ回数も大したことがありませんし、加えてたった3文字程度の小さくて単純なStringオブジェクトを生成した程度でそのような状態になるには相当特殊な状況であり想定する方が難しいと思います。
#相当非力な組み込み用ARMとかでやったら起こせるかも…?そんな感じです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Java java final 1 2022/06/10 22:49
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- Java 直し方について教えて頂きたいです。 4 2022/08/13 02:11
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
- Java eclipse実行ができない 2 2022/07/27 04:47
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- Java javaのクラスの分け方について質問です。 APIの内部用と外部用でクラスを分けたいのですがインター 2 2022/04/26 16:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
多人数のじゃんけんプログラム
-
COMコンポーネントって何?
-
VBA 同じ名前のオブジェクトを...
-
ワイルドカード<?>と型パラメー...
-
VBAのWindowオブジェクトとWork...
-
文字列でクラス型名を取得したい
-
Listに格納されているオブジェ...
-
オブジェクト名をforループ内で...
-
ArrayLsitのデータ取得
-
LISTBOXの内容が更新されま...
-
Visual Studioでのbmpファイル...
-
パワーポイントのVBAでテキスト...
-
.getElementById()のエラーにつ...
-
C#でフォームのオブジェクト名...
-
Listに格納されたオブジェクト...
-
Vbで通常使用するプリンターを...
-
Excelで =EMBED("Acrobat Docu...
-
VBAからノーツを起動
-
Java認定試験3級の問題です。 ...
-
BufferedWriterのcloseメソッド
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パワーポイントのVBAでテキスト...
-
Excelで =EMBED("Acrobat Docu...
-
EXCEL VBAにて動的にCheckBOXを...
-
ワイルドカード<?>と型パラメー...
-
C#でフォームのオブジェクト名...
-
VBAのWindowオブジェクトとWork...
-
vb.net オブジェクト指向につい...
-
COMコンポーネントって何?
-
オブジェクトレベルとメタレベル
-
ビジュアルC++でボタンの有...
-
時間帯判定をする。
-
LISTBOXの内容が更新されま...
-
VBA 同じ名前のオブジェクトを...
-
オブジェクト名をforループ内で...
-
Object型からDouble型へのキャスト
-
ADO オブジェクトの渡し方
-
bmp画像をjpegやpng画像に圧縮...
-
Vbで通常使用するプリンターを...
-
戻り値がクラスオブジェクト
-
VBAでvlookup関数から、別シー...
おすすめ情報