摘要:第三階段常見對(duì)象的學(xué)習(xí)類類包含一些有用的字段和方法,他不能被實(shí)例化用于垃圾回收終止正在運(yùn)行的虛擬機(jī)。參數(shù)用作狀態(tài)碼,根據(jù)慣例,非表示異常終止返回從年月日到現(xiàn)在時(shí)間的毫秒數(shù)協(xié)調(diào)時(shí)間源數(shù)組。
第三階段 JAVA常見對(duì)象的學(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é)果 Hello9997 Hello9998 Hello9999 共耗時(shí)79毫秒
System.gc() 可用于垃圾回收.當(dāng)使用System.gc() 回收某個(gè)對(duì)象所占用的內(nèi)存之前,通過要求程序調(diào)用適當(dāng)?shù)姆椒▉砬謇碣Y源,在沒有明確指定資源清理的情況下,Java提高了默認(rèn)機(jī)制來清理該對(duì)象的資源,就是調(diào)用object類的finalize()方法,finalize()方法的作用是釋放一個(gè)對(duì)象占用的內(nèi)存空間時(shí)會(huì)被JVM調(diào)用.而子類重寫該方法, 就可以清理對(duì)象占用的資源,該方法沒有鏈?zhǔn)秸{(diào)用, 所以必須手動(dòng)實(shí)現(xiàn)。
從程序結(jié)果上可以發(fā)現(xiàn)執(zhí)行system.gc() 前系統(tǒng)會(huì)自動(dòng)調(diào)用finalize() 方法清除對(duì)象占有的資源。通過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í)行大量的對(duì)象的釋放才調(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; } @Override protected void finalize() throws Throwable { System.out.println("當(dāng)前對(duì)象被回收了" + 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)前對(duì)象被回收了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):理想二旬不止
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/77779.html
摘要:時(shí)間年月日星期日說明本文部分內(nèi)容均來自慕課網(wǎng)。慕課網(wǎng)教學(xué)示例源碼無個(gè)人學(xué)習(xí)源碼第一章課程概述課程介紹課程須知本課程面向所有使用語言進(jìn)行開發(fā)的小伙伴。 時(shí)間:2017年05月21日星期日說明:本文部分內(nèi)容均來自慕課網(wǎng)。@慕課網(wǎng):http://www.imooc.com教學(xué)示例源碼:無個(gè)人學(xué)習(xí)源碼:https://github.com/zccodere/s... 第一章:課程概述 1-1 ...
摘要:最近聽很多面試的小伙伴說,網(wǎng)上往往是一篇一篇的多線程的文章,除了書籍沒有什么學(xué)習(xí)多線程的一系列文章。將此線程標(biāo)記為線程或用戶線程。 最近聽很多面試的小伙伴說,網(wǎng)上往往是一篇一篇的Java多線程的文章,除了書籍沒有什么學(xué)習(xí)多線程的一系列文章。但是僅僅憑借一兩篇文章很難對(duì)多線程有系統(tǒng)的學(xué)習(xí),而且面試的時(shí)候多線程這方面的知識(shí)往往也是考察的重點(diǎn),所以考慮之下決定寫一系列關(guān)于Java多線程的文章...
摘要:返回的是是一個(gè)整數(shù)的最小值。筆記這個(gè)構(gòu)造函數(shù)的結(jié)果可能有些不可預(yù)測。這是因?yàn)椴荒芟窕蛘咦鳛槿魏斡邢揲L度的二進(jìn)制分?jǐn)?shù)精確地表示。當(dāng)必須用作源為,注意,此構(gòu)造提供了一個(gè)精確的轉(zhuǎn)換它不會(huì)將轉(zhuǎn)換為使用方法,然后使用構(gòu)造函數(shù)相同的結(jié)果。 第三階段 JAVA常見對(duì)象的學(xué)習(xí) BigInteger和BigDecimal類 BigInteger類 (一) 構(gòu)造方法: //針對(duì)超過整數(shù)范圍的運(yùn)算(整數(shù)最大...
摘要:如果我們想要多次輸出類中的成員信息,就需要多次書寫方法每用一次就得寫而調(diào)用就簡單多了補(bǔ)充兩者等價(jià)輸出結(jié)果。注一般選擇重寫方法,比較對(duì)象的成員變量值是否相同,不過一般重寫都是自動(dòng)生成。 第三階段 JAVA常見對(duì)象的學(xué)習(xí) 第一章 常見對(duì)象——Object類 引言: 在講解Object類之前,我們不得不簡單的提一下什么是API,先貼一組百度百科的解釋: API(Application Pro...
閱讀 1807·2023-04-26 01:44
閱讀 1221·2021-11-12 10:34
閱讀 1610·2021-09-09 09:33
閱讀 1739·2019-08-30 15:44
閱讀 2903·2019-08-30 13:49
閱讀 2198·2019-08-29 15:26
閱讀 952·2019-08-26 13:30
閱讀 1420·2019-08-23 18:15