日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

system类的 静态方法可以启动垃圾回收器。_Java—System类入门学习

發(fā)布時(shí)間:2024/9/19 java 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 system类的 静态方法可以启动垃圾回收器。_Java—System类入门学习 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

第三階段 JAVA常見對象的學(xué)習(xí)

System類

System類包含一些有用的字段和方法,他不能被實(shí)例化

//用于垃圾回收public static void gc()?//終止正在運(yùn)行的java虛擬機(jī)。參數(shù)用作狀態(tài)碼,根據(jù)慣例,非0表示異常終止public static void exit(int status)?//System.out.println(System.currentTimeMillis());//返回從1970年1月1日到現(xiàn)在時(shí)間的毫秒數(shù)(協(xié)調(diào)時(shí)間)public static currentTimeMills()?public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)//src - 源數(shù)組。 //srcPos - 源數(shù)組中的起始位置。 //dest - 目標(biāo)數(shù)組。 //destPos - 目的地?cái)?shù)據(jù)中的起始位置。 //length - 要復(fù)制的數(shù)組元素的數(shù)量。

arraycopy方法的使用案例

int[] arr = {11, 22, 33, 44, 55};int[] arr2 = {6, 7, 8, ,9 ,10};System.arraycopy(arr, 1, arr2, 2, 2);System.out.println(Arrays.toString(arr));System.out.println(Arrays.toString(arr2));?//運(yùn)行結(jié)果[11, 22, 33, 44, 55][6, 7, 22, 33, 10]

currentTimeMills()使用案例

package cn.bwh_02_currenTimeMillis;?public class SystemDemo {public static void main(String[] args) {//統(tǒng)計(jì)這段程序運(yùn)行時(shí)間long start = System.currentTimeMillis();for (int x = 0; x < 10000; x++){System.out.println("Hello" + x);}long end = System.currentTimeMillis();System.out.println("共耗時(shí)" + (end - start) + "毫秒");}}?//運(yùn)行結(jié)果Hello9997Hello9998Hello9999共耗時(shí)79毫秒

System.gc() 可用于垃圾回收.當(dāng)使用System.gc() 回收某個(gè)對象所占用的內(nèi)存之前,通過要求程序調(diào)用適當(dāng)?shù)姆椒▉砬謇碣Y源,在沒有明確指定資源清理的情況下,Java提高了默認(rèn)機(jī)制來清理該對象的資源,就是調(diào)用object類的finalize()方法,finalize()方法的作用是釋放一個(gè)對象占用的內(nèi)存空間時(shí)會(huì)被JVM調(diào)用.而子類重寫該方法, 就可以清理對象占用的資源,該方法沒有鏈?zhǔn)秸{(diào)用, 所以必須手動(dòng)實(shí)現(xiàn)。

從程序結(jié)果上可以發(fā)現(xiàn)執(zhí)行system.gc() 前系統(tǒng)會(huì)自動(dòng)調(diào)用finalize() 方法清除對象占有的資源。通過super.finalize()可以實(shí)現(xiàn)從下到上的方法調(diào)用,即先釋放自己的資源,再釋放父類的資源。

但是不要在程序中頻繁的調(diào)用垃圾回收,因?yàn)槊恳淮螆?zhí)行垃圾回收jvm都會(huì)強(qiáng)制啟動(dòng)垃圾回收器運(yùn)行,就會(huì)耗費(fèi)更多的系統(tǒng)資源會(huì)與正常的Java程序運(yùn)行爭搶資源,只有在執(zhí)行大量的對象的釋放才調(diào)用垃圾回收最好。

package cn.bwh_01_gc;?public class Student {private String name;private int age;?public Student() {}?public Student(String name, int age) {this.name = name;this.age = age;}?@Overrideprotected void finalize() throws Throwable {System.out.println("當(dāng)前對象被回收了" + this);super.finalize();}}package cn.bwh_01_gc;?public class GcDemo {public static void main(String[] args) {Student s = new Student("admin", 20);System.out.println(s);?//讓s不再指定堆內(nèi)存,成為了垃圾s = null;System.gc();}}?//運(yùn)行結(jié)果cn.bwh_01_gc.Student@1b6d3586當(dāng)前對象被回收了cn.bwh_01_gc.Student@1b6d3586

結(jié)尾:

如果內(nèi)容中有什么不足,或者錯(cuò)誤的地方,歡迎大家給我留言提出意見, 蟹蟹大家 !^_^

如果能幫到你的話,那就來關(guān)注我吧!(系列文章均會(huì)在公眾號(hào)第一時(shí)間更新)

在這里的我們素不相識(shí),卻都在為了自己的夢而努力 ?
一個(gè)堅(jiān)持推送原創(chuàng)Java技術(shù)的公眾號(hào):理想二旬不止

總結(jié)

以上是生活随笔為你收集整理的system类的 静态方法可以启动垃圾回收器。_Java—System类入门学习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。