System類入門學習

第三階段 JAVA常見對象的學習

System類

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

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

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));//運行結果
[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) {//統計這段程序運行時間long start = System.currentTimeMillis();for (int x = 0; x < 10000; x++){System.out.println("Hello" + x);}long end = System.currentTimeMillis();System.out.println("共耗時" + (end - start) + "毫秒");}
}//運行結果
Hello9997
Hello9998
Hello9999
共耗時79毫秒

System.gc() 可用于垃圾回收.當使用System.gc() 回收某個對象所占用的內存之前,通過要求程序調用適當的方法來清理資源,在沒有明確指定資源清理的情況下,Java提高了默認機制來清理該對象的資源,就是調用object類的finalize()方法,finalize()方法的作用是釋放一個對象占用的內存空間時會被JVM調用.而子類重寫該方法, 就可以清理對象占用的資源,該方法沒有鏈式調用, 所以必須手動實現。

從程序結果上可以發現執行system.gc() 前系統會自動調用finalize() 方法清除對象占有的資源。通過super.finalize()可以實現從下到上的方法調用,即先釋放自己的資源,再釋放父類的資源。

但是不要在程序中頻繁的調用垃圾回收,因為每一次執行垃圾回收jvm都會強制啟動垃圾回收器運行,就會耗費更多的系統資源會與正常的Java程序運行爭搶資源,只有在執行大量的對象的釋放才調用垃圾回收最好。

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("當前對象被回收了" + 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不再指定堆內存,成為了垃圾s = null;System.gc();}
}//運行結果
cn.bwh_01_gc.Student@1b6d3586
當前對象被回收了cn.bwh_01_gc.Student@1b6d3586

結尾:

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

如果能幫到你的話,那就來關注我吧!(系列文章均會在公眾號第一時間更新)

在這里的我們素不相識,卻都在為了自己的夢而努力 ?

一個堅持推送原創Java技術的公眾號:理想二旬不止

img

轉載于:https://www.cnblogs.com/ideal-20/p/11050221.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/393153.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/393153.shtml
英文地址,請注明出處:http://en.pswp.cn/news/393153.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

gulpfile php,Laravel利用gulp如何構建前端資源詳解

什么是gulp&#xff1f;gulp是新一代的前端項目構建工具&#xff0c;你可以使用gulp及其插件對你的項目代碼(less,sass)進行編譯&#xff0c;還可以壓縮你的js和css代碼&#xff0c;甚至壓縮你的圖片&#xff0c;gulp僅有少量的API&#xff0c;所以非常容易學習。 gulp 使用 st…

ios jenkins_如何使用Jenkins和Fastlane制作iOS點播構建系統

ios jenkinsby Agam Mahajan通過Agam Mahajan 如何使用Jenkins和Fastlane制作iOS點播構建系統 (How to make an iOS on-demand build system with Jenkins and Fastlane) This article is about creating iOS builds through Jenkins BOT, remotely, without the need of a de…

菜鳥也學hadoop(1)_搭建單節點的hadoop

其實跟官方的教程一樣 只是 我想寫下來 避免自己搞忘記了&#xff0c;&#xff0c;&#xff0c;&#xff0c;好記性不如爛筆頭 首先確認自己是否安裝了 java&#xff0c; ssh 以及 rsync 沒有裝的直接就 apt-get install 了嘛&#xff0c;&#xff0c;&#xff0c;java的不一定…

SP703 SERVICE - Mobile Service[DP]

題意翻譯 Description   一個公司有三個移動服務員。如果某個地方有一個請求&#xff0c;某個員工必須趕到那個地方去&#xff08;那個地方沒有其他員工&#xff09;&#xff0c;某一時刻只有一個員工能移動。只有被請求后&#xff0c;他才能移動&#xff0c;不允許在同樣的位…

CF758 D. Ability To Convert 細節處理字符串

link 題意&#xff1a;給定進制數n及一串數字,問在此進制下這串數能看成最小的數&#xff08;10進制&#xff09;是多少&#xff08;如HEX下 1|13|11 475&#xff09; 思路&#xff1a;此題要仔細思考細節。首先要想使數最小那么必定有個想法是使低位的數盡可能大即位數盡可能…

java 可能尚未初始化變量,java - 局部變量“變量”可能尚未初始化-Java - 堆棧內存溢出...

我得到這個錯誤。線程“主”中的異常java.lang.Error&#xff1a;未解決的編譯問題&#xff1a;rgb2無法解析為變量它總是導致錯誤的rgb2數組。 如何解決這個問題呢&#xff1f;BufferedImage img1 ImageIO.read(file1);BufferedImage img2 ImageIO.read(file2);int w img1.…

leetcode1249. 移除無效的括號(棧)

給你一個由 ‘(’、’)’ 和小寫字母組成的字符串 s。 你需要從字符串中刪除最少數目的 ‘(’ 或者 ‘)’ &#xff08;可以刪除任意位置的括號)&#xff0c;使得剩下的「括號字符串」有效。 請返回任意一個合法字符串。 有效「括號字符串」應當符合以下 任意一條 要求&…

軟件工程——個人課程總結

軟件工程&#xff0c;我就是沖著軟件這兩個字來的&#xff0c;開始我覺得我們大多數人也是這樣的&#xff0c;能開發一款屬于自己的軟件應該是我們人生中的第一個小目標八&#xff0c;在上學期學完java語言后&#xff0c;我們自認為自己已經具備了開發一款小軟件的能力&#xf…

規則網絡_實用的網絡可訪問性規則

規則網絡by Tiago Romero Garcia蒂亞戈羅梅羅加西亞(Tiago Romero Garcia) 實用的網絡可訪問性規則 (Pragmatic rules of web accessibility that will stick to your mind) I first started to work with web accessibility back in 2015, at an American retail giant. It h…

8-python自動化-day08-進程、線程、協程篇

本節內容 主機管理之paramiko模塊學習 進程、與線程區別python GIL全局解釋器鎖線程語法join線程鎖之Lock\Rlock\信號量將線程變為守護進程Event事件 queue隊列生產者消費者模型Queue隊列開發一個線程池進程語法進程間通訊進程池 轉載&#xff1a;  http://www.cnblogs.co…

部署HDFS HA的環境

> 環境架構部署規劃&#xff1a; bigdata1 NameNode ResourceManager Zookeeper JournalNode failOverController bigdata2 NameNode ResourceManager Zookeeper JournalNode failOverController bigdata3 DataNode NodeManager Zookeeper bigdata4 DataNode NodeManager &g…

php layui 框架,Thinkphp5+Layui高顏值內容管理框架

Thinkphp5Layui高顏值內容管理框架TP5Layui高顏值內容管理框架&#xff0c;新增API模塊Thinkphp5Layui響應式后臺權限管理系統專注打造好用的框架&#xff0c;極速開發&#xff0c;高效靈活&#xff0c;從架構上兼顧系統復雜度的迭代與需求多變。代碼結構清晰&#xff0c;接口開…

leetcode657. 機器人能否返回原點

在二維平面上&#xff0c;有一個機器人從原點 (0, 0) 開始。給出它的移動順序&#xff0c;判斷這個機器人在完成移動后是否在 (0, 0) 處結束。 移動順序由字符串表示。字符 move[i] 表示其第 i 次移動。機器人的有效動作有 R&#xff08;右&#xff09;&#xff0c;L&#xff…

在Angular專家Dan Wahlin的免費33部分課程中學習Angular

According to the Stack Overflow developer survey 2018, Angular is one of the most popular frameworks/libraries among professional developers. So learning it increases your chances of getting a job as a web developer significantly.根據2018年Stack Overflow開…

select查詢語句執行順序

查詢中用到的關鍵詞主要包含六個&#xff0c;并且他們的順序依次為 select--from--where--group by--having--order by 其中select和from是必須的&#xff0c;其他關鍵詞是可選的&#xff0c;這六個關鍵詞的執行順序 與sql語句的書寫順序并不是一樣的&#xff0c;而是按照下面的…

Python的Virtualenv(虛擬環境)的使用(Windows篇)2

Python的Virtualenv(虛擬環境)的使用&#xff08;Windows篇&#xff09; 2018年04月13日 11:35:01 D_FallMoon 閱讀數 771 版權聲明&#xff1a;版權所有 裝載請注明 …

Loadrunner常用15種的分析點

1.Vusers&#xff1a;提供了生產負載的虛擬用戶運行狀態的相關信息&#xff0c;可以幫助我們了解負載生成的結果。 2.Rendezvous&#xff08;負載過程中集合點下的虛擬用戶&#xff09;&#xff1a;當設置集合點后會生成相關數據&#xff0c;反映了隨著時間的推移各個時間點上并…

leetcode1442. 形成兩個異或相等數組的三元組數目

給你一個整數數組 arr 。 現需要從數組中取三個下標 i、j 和 k &#xff0c;其中 (0 < i < j < k < arr.length) 。 a 和 b 定義如下&#xff1a; a arr[i] ^ arr[i 1] ^ … ^ arr[j - 1] b arr[j] ^ arr[j 1] ^ … ^ arr[k] 注意&#xff1a;^ 表示 按位異…

matlab的獨立樣本t檢驗,獨立雙樣本檢驗的Matlab實現

Independent two-samples test in MatlabYang Runhuai1楊潤懷(1987-)&#xff0c;男&#xff0c;講師&#xff0c;生物3D打印Zhang Zhen1Yang Siqiao1Liang Zhen1梁振(1981-)&#xff0c;男&#xff0c;副教授&#xff0c;臨床工程1、Life Science School, Anhui medical unive…

bi可視化工具_適用于您的BI解決方案的最佳數據可視化和Web報告工具

bi可視化工具通過智能數據分析使復雜變得簡單 (Making the complex simple with smart data analysis) It is hard to overestimate the value of insightful analytics nowadays. All business processes have become data-driven: marketing, accounting, human resources, c…