2011-03-21 152 views
13

我聽到的幾件事情,引述維基百科:「運行環境」和「軟件框架」的含義?

  1. "Java Runtime Environment",

    一個JVM與標準類庫一組 是 實現Java應用 程序編程接口(以及分佈式API)。 捆綁在一起的適當API形成 Java運行時環境(JRE)。

  2. "Adobe Integrated Runtime"

    Adob​​e集成運行,又稱 如Adobe AIR,是構建富互聯網使用Adobe Flash 應用程序(RIA)由Adobe Systems開發的跨平臺 運行環境, 可以將 作爲桌面應用程序運行Adobe Flex,HTML和Ajax。

  3. ".NET Framework"

    .NET框架(讀點 網)是 Microsoft Windows操作系統軟件框架。 它包含一個大型庫,它支持幾種編程語言 ,它允許語言互操作性 (每種語言都可以使用其他語言編寫的代碼 )。 .NET庫是 可用於.NET支持的所有編程 語言。

如上所述,如果我理解正確的話,前兩個似乎與「運行環境」,但目前還沒有相關的百科解釋什麼是「運行環境」是。

第三被說成是一個「軟件框架」,其具有a Wikipedia article爲:

軟件框架是一種抽象 ,其中提供通用 功能共同代碼可以選擇性 重寫或由專門用戶 代碼,從而提供具體的 功能。框架是在 軟件庫的 特殊情況下,他們是 代碼包裹在一個定義良好的 應用程序編程接口 (API)可重複使用的抽象,但它們含有正常庫的獨立 他們一些關鍵 特色。

所以我的問題是:

  1. 是 「運行環境」 和 「軟件架構」 一樣 的事情嗎?如果不是,他們又有什麼不同, 和他們屬於一些共同的 類別?
  2. 他們是否都在編程 庫/ API可供 程序員使用來開發自己的 軟件?
  3. 這三個例子通常是 在安裝某些 軟件時需要的。它們是否屬於virtual machine的 概念?如果 不是,它們屬於哪個類別 ?那個類別與虛擬機有什麼不同 ?

感謝和問候!

PS:我不知道,如果這個職位更適合超級用戶或計算器,由於安裝了一些軟件時的三個例子,通常需要,他們似乎也爲軟件開發者提供可以API。

+1

這是非常適合的stackoverflow。 – 2011-03-21 01:11:20

回答

10
  1. 不。運行環境基本上是在機器上運行的虛擬機 - 提供機器抽象。它通常比圖書館低。框架可以包含運行時環境,但通常與庫相關聯。

    Java,AIR和.NET(在本例中爲公共語言運行時)每個運行時都有一個特定的字節代碼,運行在操作系統之上。它允許代碼非常輕便,無需重新編譯就可以這樣做。

  2. 庫和API用於製作新程序。運行時環境是程序運行的地方。

  3. 運行時環境確實與虛擬機的概念一致,儘管不像VMWare那樣複雜。他們都將抽象底層系統的目標分享到其他軟件可以運行的目標。

+1

「JRE是容器,JVM是內容,JRE爲JVM提供環境,以便它可以在任何平臺上運行。」 from http://programmingbulls.com/difference-between-jre-and-jvm 所以運行時環境不一定是虛擬機,正如文章中所說,在Java中,JRE包含JVM,它們不是同一個東西。 – 2016-05-31 09:12:31

7

是 「運行環境」 和 「軟件架構」 是一回事嗎?如果不是,它們又有什麼不同,它們屬於某個共同的類別?

不,不是真的。 「運行時環境」通常指的是實際執行代碼本身的核心技術。在Java中,這將是JVM - .NET中的CLR。 「框架」通常是指默認分發的一系列庫。

他們都是編程程序員可以用來開發他們自己的軟件的庫/ API嗎?

這是更多的「框架」 - 「框架」提供了默認情況下可用的API。

安裝某些軟件時通常需要三個示例。他們屬於虛擬機的概念嗎?如果不是,他們屬於什麼類別?這個類別與虛擬機有什麼不同?

虛擬機是「運行時環境」的一種形式 - 這是Java和C#用於其運行時環境的內容。

由於您通常將兩者都安裝在一起,因爲運行時環境在沒有一些基本庫(框架)的情況下幾乎沒有用處,並且沒有運行時環境,框架就什麼也不做(因爲後者需要執行代碼基於框架)。

+0

謝謝!我剛剛將我的問題的第3部分添加到了我的帖子中。感謝您檢查。 – Tim 2011-03-21 01:15:14

+0

@Tim:編輯解釋第3部分... – 2011-03-21 01:18:38