国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java Runtime類詳解_動力節(jié)點Java學院整理

Java Runtime類詳解_動力節(jié)點Java學院整理

2020-09-12 16:14動力節(jié)點 Java教程

Runtime類封裝了運行時的環(huán)境。每個 Java 應用程序都有一個 Runtime 類實例,使應用程序能夠與其運行的環(huán)境相連接。下面通過本文給大家分享Java Runtime類詳解,需要的朋友參考下吧

一、概述

      Runtime封裝了運行時的環(huán)境。每個 Java 應用程序都有一個 Runtime 類實例,使應用程序能夠與其運行的環(huán)境相連接。一般不能實例化一個Runtime對象,應用程序也不能創(chuàng)建自己的 Runtime 類實例,但可以通過 getRuntime 方法獲取當前Runtime運行時對象的引用。一旦得到了一個當前的Runtime對象的引用,就可以調(diào)用Runtime對象的方法去控制Java虛擬機的狀態(tài)和行為。 當不被信任的代碼調(diào)用任何Runtime方法時,常常會引起SecurityException異常。

二、常見的應用

1、內(nèi)存管理:

Java提供了無用單元自動收集機制。通過totalMemory()和freeMemory()方法可以知道對象的堆內(nèi)存有多大,還剩多少。Java會周期性的回收垃圾對象(未使用的對象),以便釋放內(nèi)存空間。但是如果想先于收集器的下一次指定周期來收集廢棄的對象,可以通過調(diào)用gc()方法來根據(jù)需要運行無用單元收集器。一個很好的試驗方法是先調(diào)用gc()方法,然后調(diào)用freeMemory()方法來查看基本的內(nèi)存使用情況,接著執(zhí)行代碼,然后再次調(diào)用freeMemory()方法看看分配了多少內(nèi)存。下面的程序演示了這個構(gòu)想。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//此實例來自《java核心技術》卷一
 class MemoryDemo{
    public static void main(String args[]){
        Runtime r = Runtime.getRuntime();
        long mem1,mem2;
        Integer someints[] = new Integer[1000];
        System.out.println("Total memory is :" + r.totalMemory());
        mem1 = r.freeMemory();
        System.out.println("Initial free is : " + mem1);
        r.gc();
        mem1 = r.freeMemory();
        System.out.println("Free memory after garbage collection : " + mem1);
        //allocate integers
        for(int i=0; i<1000; i++) someints[i] = new Integer(i); 
        mem2 = r.freeMemory();
        System.out.println("Free memory after allocation : " + mem2);
        System.out.println("Memory used by allocation : " +(mem1-mem2)); 
        //discard Intergers
        for(int i=0; i<1000; i++) someints[i] = null;
        r.gc(); //request garbage collection
        mem2 = r.freeMemory();
        System.out.println("Free memory after collecting " + "discarded integers : " + mem2);
    }
}

編譯后運行結(jié)果如下(不同的機器不同時間運行的結(jié)果也不一定一樣):

?
1
2
3
4
5
6
Total memory is :2031616
Initial free is : 1818488
Free memory after garbage collection : 1888808
Free memory after allocation : 1872224
Memory used by allocation : 16584
Free memory after collecting discarded integers : 1888808

2、執(zhí)行其他程序

在安全的環(huán)境中,可以在多任務操作系統(tǒng)中使用Java去執(zhí)行其他特別大的進程(也就是程序)。ecec()方法有幾種形式命名想要運行的程序和它的輸入?yún)?shù)。ecec()方法返回一個Process對象,可以使用這個對象控制Java程序與新運行的進程進行交互。ecec()方法本質(zhì)是依賴于環(huán)境。

下面的例子是使用ecec()方法啟動windows的記事本notepad。這個例子必須在Windows操作系統(tǒng)上運行。

?
1
2
3
4
5
6
7
8
9
10
11
12
//此實例來自《Java核心技術》卷一
class ExecDemo {
    public static void main(String args[]){
        Runtime r = Runtime.getRuntime();
        Process p = null;
        try{
            p = r.exec("notepad");
        } catch (Exception e) {
            System.out.println("Error executing notepad.");
        }
    }
}

ecec()還有其他幾種形式,例子中演示的是最常用的一種。ecec()方法返回Process對象后,在新程序開始運行后就可以使用Process的方法了。可以用destory()方法殺死子進程,也可以使用waitFor()方法等待程序直到子程序結(jié)束,exitValue()方法返回子進程結(jié)束時返回的值。如果沒有錯誤,將返回0,否則返回非0。下面是關于ecec()方法的例子的改進版本。例子被修改為等待,直到運行的進程退出:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//此實例來自《Java核心技術》卷一
class ExecDemoFini {
  public static void main(String args[]){
    Runtime r = Runtime.getRuntime();
    Process p = null;
    try{
      p = r.exec("notepad");
      p.waitFor();
    } catch (Exception e) {
      System.out.println("Error executing notepad.");
    }
    System.out.println("Notepad returned " + p.exitValue());
  }
}

下面是運行的結(jié)果(當關閉記事本后,會接著運行程序,打印信息):

Notepad returned 0

請按任意鍵繼續(xù). . .

當子進程正在運行時,可以對標準輸入輸出進行讀寫。getOutputStream()方法和getInPutStream()方法返回對子進程的標準輸入和輸出。

以上所述是小編給大家介紹的Java Runtime類詳解_動力節(jié)點Java學院整理,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網(wǎng)站的支持!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: av电影资源 | 日本免费黄色 | 性免费网站 | 久草中文在线 | 中文字幕 日韩有码 | 国产成人精品一区二区三区网站观看 | 亚洲国产精品成人 | 亚洲视频 中文字幕 | 一区二区在线 | 成人av电影网 | 国产欧美日韩在线观看 | 欧美精品久久 | 亚洲视频在线一区 | 一级黄色小视频 | 三区在线 | 成人午夜视频在线 | 91麻豆精品国产91久久久更新时间 | jlzzjlzz国产精品久久 | 精品国产乱码久久久久久蜜柚 | 欧美在线高清 | 国产精品久久一区二区三区 | 亚洲成人一区二区三区在线观看 | 国产黄色91视频 | 国产在线中文字幕 | 人人干天天干 | 天天干在线影院 | 国产探花在线精品一区二区 | 嫩草成人影院 | 中文字幕精品一区二区三区精品 | 精品无码三级在线观看视频 | 国产98色在线 | 日韩 | 久久久久久久久久久精 | 久久99精品久久久久久园产越南 | 亚洲精品久久 | 免费成人在线网站 | 亚洲免费成人 | 欧美人成在线视频 | 亚洲国产日韩一区 | 免费av在线网站 | 亚洲一区二区三区免费 | 久久精品免费 |