![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
当方、メモリリークについてほとんど意識したことないため、次の場合って
メモリリークおこすのですか?
自分の予想だと、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.3
- 回答日時:
言語仕様としては起こりません。
ただし、小さなNew領域、大きなOld領域、重いガーベッジコレクションアルゴリズム、小さなガーベッジコレクションによるストップタイムといった組み合わせにすると、メモリリークが起こります。
#要するに、メモリ割り当てにガーベッジコレクションが追い付いていない状態
ただ、ループ回数も大したことがありませんし、加えてたった3文字程度の小さくて単純なStringオブジェクトを生成した程度でそのような状態になるには相当特殊な状況であり想定する方が難しいと思います。
#相当非力な組み込み用ARMとかでやったら起こせるかも…?そんな感じです。
No.2
- 回答日時:
質問のコードではメモリーリークは起きません。
またJavaは従来的な意味でのメモリーリークは原理的に起こりません。
Javaでいうところのメモリーリークとはオブジェクトの置き忘れの
ことです。オブジェクトをマップやリストに登録したまま忘れる
というパターンが多いですね。
お探しの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ランキング
-
TextFieldの文字の折り返し
-
VBA 同じ名前のオブジェクトを...
-
オブジェクトレベルとメタレベル
-
LISTBOXの内容が更新されま...
-
CException についてVC6とVC200...
-
Excelで =EMBED("Acrobat Docu...
-
CoCreateInstanceでエラーになる。
-
JAVAからHTMLへ値を返す方法
-
パワーポイントのVBAでテキスト...
-
マルチプルインスタンスのメリット
-
ワードで画像をドロップすると...
-
VBSでのステートメントの末尾が...
-
VBAのWindowオブジェクトとWork...
-
Vidual C++ のクラスウィザード...
-
bmp画像をjpegやpng画像に圧縮...
-
Visual Studioでのbmpファイル...
-
オブジェクトとは、わかりやす...
-
プログラムで、classはオブジェ...
-
ブラウザ上でEXCELの印刷...
-
ワイルドカード<?>と型パラメー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
0 == False はいいけど
-
パワーポイントのVBAでテキスト...
-
C#でフォームのオブジェクト名...
-
Excelで =EMBED("Acrobat Docu...
-
VBAのWindowオブジェクトとWork...
-
JAVAからHTMLへ値を返す方法
-
EXCEL VBAにて動的にCheckBOXを...
-
ワイルドカード<?>と型パラメー...
-
COMコンポーネントって何?
-
VBA 同じ名前のオブジェクトを...
-
Object型からDouble型へのキャスト
-
ビジュアルC++でボタンの有...
-
error C2712: オブジェクト ア...
-
bmp画像をjpegやpng画像に圧縮...
-
オブジェクト名をforループ内で...
-
戻り値がクラスオブジェクト
-
Vbで通常使用するプリンターを...
-
時間帯判定をする。
-
LISTBOXの内容が更新されま...
-
Webアプリケーションのエラーメ...
おすすめ情報