Java で提供されている System.currentTimeMillis() メソッドは、現在のコンピュータ時刻を取得するために使用されます。時刻の表現形式は、現在のコンピュータ時刻と GMT 時刻 (グリニッジ標準時) です。1970 年 1 月 1 日 0:00:00ミリ秒単位の違い。
System.currentTimeMillis() メソッドの戻り値の型は long で、現在時刻をミリ秒単位で表します。
開発プロセス中、多くの人は通常、new Date() を使用して現在時刻を取得することに慣れています。 new Date() が行うことは、実際には System.currentTimeMillis() メソッドを呼び出すことです。ミリ秒数のみが必要な場合は、 new Date() の代わりに System.currentTimeMillis() を使用すると、より効率的になります。
[例]String型とStringBuilder型の文字列を連結する際に時間がかかる場合を計算します。
/** * Java使用System.currentTimeMillis()方法计算程序运行时间 * @author pan_junbiao **/ public class CurrentTimeTest { /** * 使用String类型拼接字符串耗时 */ public static void testString() { String s = "Hello"; String s1 = "World"; long start = System.currentTimeMillis(); for(int i=0; i<10000; i++) { s+=s1; } long end = System.currentTimeMillis(); long runTime = (end - start); System.out.println("使用String类型拼接字符串耗时:" + runTime + "毫秒"); } /** * 使用StringBuilder类型拼接字符串耗时 */ public static void testStringBuilder() { StringBuilder s = new StringBuilder("Hello"); String s1 = "World"; long start = System.currentTimeMillis(); for(int i=0; i<10000; i++) { s.append(s1); } long end = System.currentTimeMillis(); long runTime = (end - start); System.out.println("使用StringBuilder类型拼接字符串耗时:" + runTime + "毫秒"); } public static void main(String[] args) { testString(); testStringBuilder(); } }
実行結果:
追加の知識ポイント:
画像より上記の実行結果から、文字列を結合するプロセスで String オブジェクトの代わりに StringBuilder オブジェクトが使用されていることがわかります。これは、String が不変オブジェクトであり、文字列が変更されるたびに新しい String オブジェクトが作成されるのに対し、StringBuilder は String の文字列バッファーと同様に変更可能な文字シーケンスであるためです。したがって、文字列が頻繁に変更される場所では StringBuilder を使用する方が String より効率的です。
この点における実行速度は、StringBuilder > StringBuffer > String です。
スレッド セーフの観点から見ると、StringBuilder はスレッド セーフではありませんが、StringBuffer はスレッド セーフです。
以上がSystem.currentTimeMillis() メソッドを使用して Java でプログラムの実行時間を計算する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。