徽标
联盟百科
通讯
下载应用,请到 Google Play
新! 在您的Android™设备上下载联盟百科!
自由
比浏览器更快的访问!
 

垃圾回收 (計算機科學)

指数 垃圾回收 (計算機科學)

垃圾回收(Garbage Collection),在計算機科學中,縮寫為GC是一種自動的記憶體管理機制。當一個電腦上的動態記憶體不再需要時,就應該予以釋放,以讓出記憶體,這種記憶體資源管理,稱為垃圾回收。垃圾回收器可以讓程式員減輕許多負擔,也減少程式員犯錯的機會。垃圾回收最早起源于LISP语言。目前許多語言如Smalltalk、Java、C#和D语言都支援垃圾回收器。.

47 关系: Android RuntimeAsm.js型別安全变量 (程序设计)受控代碼头等函数弱引用引用计数内存泄漏内联缓存C++/CLIC语言Chakra (JScript引擎)程式語言歷史D語言解構子记录貝姆垃圾收集器运行时库GCGCCGoIdrisInfernoJavaJikes研究虚拟机JMXJRockitLISPLisp机器LuaMac OS X LeopardMemory (C++标准库)ML语言Nix 包管理器OberonObjective-CPythonREALbasicRubyRustSeaMonkeySECD抽象机SingularitySpiderMonkeyWebAssemblyWoW64

Android Runtime

Android Runtime(缩写为ART),是一种在Android操作系统上的运行环境,由Google公司研发,并在2013年作为Android 4.4系统中的一项测试功能正式对外发布,在Android 5.0及后续Android版本中作为正式的运行时库取代了以往的Dalvik虚拟机。ART能够把应用程序的字节码转换为机器码,是Android所使用的一种新的虚拟机。它与Dalvik的主要不同在于:Dalvik采用的是JIT技术,而ART采用(AOT)技术。ART同時也改善了性能、垃圾回收(Garbage Collection)、应用程序除错以及性能分析。 JIT最早在Android 2.2系统中引进到Dalvik虚拟机中,在应用程序启动时,JIT通过进行连续的性能分析来优化程序代码的执行,在程序运行的过程中,Dalvik虚拟机在不断的进行将字节码编译成机器码的工作。与Dalvik虚拟机不同的是,ART引入了AOT这种预编译技术,在应用程序安装的过程中,ART就已经将所有的字节码重新编译成了机器码。应用程序运行过程中无需进行实时的编译工作,只需要进行直接调用。因此,ART极大的提高了应用程序的运行效率,同时也减少了手机的电量消耗,提高了移动设备的续航能力,在垃圾回收等机制上也有了较大的提升。为了保证向下兼容,ART使用了相同的Dalvik字节码文件(dex),即在应用程序目录下保留了dex文件供旧程序调用然而.odex文件则替换成了可执行与可链接格式(ELF)可执行文件。一旦一个程序被ART的dex2oat命令编译,那么这个程序将会指通过ELF可执行文件来运行。因此,相对于Dalvik虚拟机模式,ART模式下Android应用程序的安装需要消耗更多的时间,同时也会占用更大的储存空间(指内部储存,用于储存编译后的代码),但节省了很多Dalvik虚拟机用于实时编译的时间。 Google公司在Android 4.4中带来的ART模式仅仅是ART的一个预览版,系统默认仍然使用的是Dalvik虚拟机,4.4上面提供的预览版ART相对于Android 5.0以后的ART运行时库有较大的不同,尤其体现在兼容性上。.

新!!: 垃圾回收 (計算機科學)和Android Runtime · 查看更多 »

Asm.js

asm.js是一个中間語言,设计目的是使采用C等编程语言编写的计算机软件可运行为网络应用程序,同时性能特征明显优于标准JavaScript。 asm.js包括一个JavaScript的严格子集,其中的代码采用具有手动内存管理的静态类型语言(就像C语言)编写,代码使用一个源代码至源代码编译器(例如基于LLVM的)翻译。通过将语言特性限制在适合和其他性能改进的范围内,性能得到了提高。 Mozilla Firefox是第一个实现针对asm.js优化的浏览器,从Firefox 22开始使用。.

新!!: 垃圾回收 (計算機科學)和Asm.js · 查看更多 »

型別安全

在電腦科學中,一部分程式語言具備型別安全的性質。這個術語在不同的社群中有不同的定義,特別是正規的型別理論上的定義遠遠強過大多數的程式員的理解,但對於使用型別系統的認知,皆旨在避免必然的錯誤形式,和不良的程式行為(稱為型別錯誤)。 类型错误(type error)是错误或不期望的程序行为,由不同数据类型的差别所引起,适用于程序的常量、变量、方法(函数),如把整型(int)当作了浮点型(float)。 --用語習慣稱型別為--;--。 型別安全可以靜態方式實施,及早在編譯時期就捕捉到潛藏的錯誤;或者以動態方式,在執行時期關聯型別的資訊,並在必要時檢測即將發生的錯誤。型別安全是程式語言的性質,而不是程式所自有的。例如,有可能以型別不安全的語言,編寫出型別安全的程式。在此是以程式語言為主,而不討論以個人能力維護的型別安全。 某個行為之所以會被程式語言歸類為型別錯誤,通常是因為試圖對不適當型別的值進行運算。其分類的基本原則是:部分語言設計者和程式員的看法認為,如果所有運算不引起程式瓦解、安全上的瑕疵、或其它明顯故障,即為合理的,而不視之為一個錯誤;其他人則認為所有違背程式員意圖的,就是錯誤的,而且應該標上「不安全」。在靜態型別系統中,型別安全通常包含一個保證,所有運算式最終的值都是合理的靜態型別成員(比子型別和多態性所要求的還要更加精確細微)。 型別安全近似於所謂的記憶體安全(就是限制從記憶體的某處,將任意的位元組合複製到另一處的能力)。例如,某個語言的實作具有若干型別 t,假如存在若干適當長度的位元,且其不為 t 的正統成員。若該語言允許把那些資料複製到 t 型別的變數,那個語言就不是型別安全的,因為這些運算可將非 t 型別的值--給該變數。反過來說,若該語言型別不安全的程度,最高只到允許將任意整數用作為指標,顯然它就不是記憶體安全的。 大部分的靜態型別語言,都提供了一定程度的型別安全,而且其嚴格性更勝於記憶體的安全性。因其型別系統強迫程式員以適當的抽象資料型別定義來使用,即使對記憶體安全或任何可能的災難而言,並不需如此嚴格的要求。.

新!!: 垃圾回收 (計算機科學)和型別安全 · 查看更多 »

变量 (程序设计)

在程序設計中,變數(Variable,scalar)是指一個包含部分已知或未知數值或資訊(即一個值)之儲存位址,以及相對應之符號名稱(識別字)。通常使用變數名稱參照儲存值;將名稱和內容分開能讓被使用的名稱獨立於所表示的精確訊息之外。電腦原始碼中的識別字能在執行期間綁紮一個值,且該變數的值可能在程式執行期間改變。 程序設計中的變數不一定能直接對應到數學中所謂的變數之概念。在程序設計中,變數的值不一定要為方程或數學公式之一部分。程序設計中的變數可使用在一段可重復的程序:在一處賦值,然後使用於另一處,接著在一次賦值,且以相同方式再使用一次(見迭代)。程序設計中的變數通常會給定一個較長的名稱,以描述其用途;數學中的變數通常較為簡潔,只給定一、兩個字母,以方便抄寫及操作。 一個變數的儲存位址可以被不同的識別字所參照,這種情況稱之為別名。使用其中一個識別字為變數賦值,將會改變透過另一個識別字存取的值。 編譯器必須將代表變數的名稱替代成該數據所在的實際位址。變數的名稱、類型及位址通常會維持固定,但該位址所儲存之數據於程式執行期間則可能會改變。.

新!!: 垃圾回收 (計算機科學)和变量 (程序设计) · 查看更多 »

受控代碼

受控代碼(managed code)是來自微軟公司的術語,在中國大陸較多譯為托管代碼。受控代碼以CLI虛擬機執行,如微軟的.NET Framework共通語言執行平台,其他的CLI實作有Mono和DotGNU。.

新!!: 垃圾回收 (計算機科學)和受控代碼 · 查看更多 »

头等函数

头等函数(first-class function)是指在程序设计语言中,函数被当作头等公民。这意味着,函数可以作为别的函数的参数、函数的返回值,赋值给变量或存储在数据结构中。 有人主张应包括支持匿名函数(函数字面量,function literals)。, by Michael Lee Scott, section 11.2 "Functional Programming".

新!!: 垃圾回收 (計算機科學)和头等函数 · 查看更多 »

弱引用

在计算机程序设计中,弱引用与强引用相对,是指不能确保其引用的对象不会被垃圾回收器回收的引用。一个对象若只被弱引用所引用,则被认为是不可访问(或弱可访问)的,并因此可能在任何时刻被回收。一些配有垃圾回收机制的语言,如Java、C#、Python、Perl、Lisp等都在不同程度上支持弱引用。.

新!!: 垃圾回收 (計算機科學)和弱引用 · 查看更多 »

引用计数

引用计数是计算机编程语言中的一种内存管理技术,是指将资源(可以是对象、内存或磁盘空间等等)的被引用次数保存起来,当被引用次数变为零时就将其释放的过程。使用引用计数技术可以实现自动资源管理的目的。同时引用计数还可以指使用引用计数技术回收未使用资源的垃圾回收算法。 当创建一个对象的实例并在堆上申请内存时,对象的引用计数就为1,在其他对象中需要持有这个对象时,就需要把该对象的引用计数加1,需要释放一个对象时,就将该对象的引用计数减1,直至对象的引用计数为0,对象的内存会被立刻释放。 使用这种方式进行内存管理的语言:Objective-C.

新!!: 垃圾回收 (計算機科學)和引用计数 · 查看更多 »

内存泄漏

在计算机科学中,内存泄漏指由于疏忽或错误造成程序未能释放已经不再使用的内存。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,导致在释放该段内存之前就失去了对该段内存的控制,从而造成了内存的浪费。 内存泄漏通常情况下只能由获得程序源代码的程序员才能分析出來。然而,有不少人习惯于把任何不需要的内存使用的增加描述为内存泄漏,即使严格意义上来说这是不准确的。.

新!!: 垃圾回收 (計算機科學)和内存泄漏 · 查看更多 »

内联缓存

内联缓存(Inline caching)是部分编程语言的运行时系统采用的,最早为Smalltalk开发。内联缓存的目标是通过记住以前直接在上方法查询的结果来加快运行时方法绑定的速度。内联缓存对动态类型语言尤为有用,其中大多数(如非全部)方法绑定发生在运行时,因此通常无法使用。.

新!!: 垃圾回收 (計算機科學)和内联缓存 · 查看更多 »

C++/CLI

C++/CLI(CLI: Common Language Infrastructure)在计算机语言中是一门由微软设计,用来代替C++托管扩展(Managed C++,下文使用MC++指代)的语言。这门语言在兼容原有的C++标准的同时,重新简化了托管代码扩展的语法,提供了更好的代码可读性。和微软.NET的其他语言一样,微软向ECMA提交了C++/CLI的标准化请求,并且被ECMA通过成为正式的标准。C++/CLI现在可以被Visual C++ 2005和更高版本的编译器支持。C++/CLI的部分特性已经申请了专利。.

新!!: 垃圾回收 (計算機科學)和C++/CLI · 查看更多 »

C语言

C是一种通用的程式語言,广泛用于系统软件与应用软件的开发。于1969年至1973年間,為了移植與開發UNIX作業系統,由丹尼斯·里奇與肯·汤普逊,以B语言为基础,在贝尔实验室設計、开发出來。 C语言具有高效、灵活、功能丰富、表达力强和較高的可移植性等特点,在程式設計中备受青睐,成为最近25年使用最为广泛的编程语言。目前,C语言編譯器普遍存在於各種不同的操作系统中,例如Microsoft Windows、macOS、Linux、Unix等。C語言的設計影響了众多後來的程式語言,例如C++、Objective-C、Java、C#等。 二十世纪八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標準局為C語言訂定了一套完整的國際標準語法,稱為ANSI C,作為C語言的標準。二十世纪八十年代至今的有关程式開發工具,一般都支持符合ANSI C的語法。.

新!!: 垃圾回收 (計算機科學)和C语言 · 查看更多 »

Chakra (JScript引擎)

Chakra是一个由微软为其Internet Explorer 9和Internet Explorer 10和Internet Explorer 11和等网页浏览器开发的JScript引擎。其特色是,它在一个独立的CPU核心上即时编译脚本,与浏览器并行。.

新!!: 垃圾回收 (計算機科學)和Chakra (JScript引擎) · 查看更多 »

程式語言歷史

這篇文章在探討程式語言在歷史上的主要發展。更詳細的事件發生年表,請參閱程式語言年表。.

新!!: 垃圾回收 (計算機科學)和程式語言歷史 · 查看更多 »

D語言

D語言是一种程式語言,具备多範型,例如物件導向、指令式。由沃尔特·布莱特和安德烈·亞歷山德雷斯庫所開發,起源自C++,深受C++的影響,然而其不是C++的变种,而是重新设计来自C++的部分特性,并受到其它程式語言觀念的影響,如Java、C#以及Eiffel。2007年1月2日釋出1.0穩定版本。版本2.0釋出於2007年1月17日。 Walter Bright本身是Symantec C++ 編譯器的作者;另一名作者Andrei Alexandrescu是Facebook的研究科学家,他与一个团队用D语言重写一些Facebook的重要操作。.

新!!: 垃圾回收 (計算機科學)和D語言 · 查看更多 »

解構子

解構子(Destructordtor)在面向对象程序设计裡是一個方法,當对象的生命週期結束時,它會自動地被呼叫執行。它最主要的目的在於,清空並釋放物件先前建立或是佔用的記憶體資源。解構子的整體使用概念關鍵在於RAII。一個具備垃圾回收機制的程式語言,無法確保解構子是否會被執行,通常這類的程式語言不屬於RAII的範圍內。這類的程式語言,只要經由某個適當的函式,通常會呼叫Dispose()函式,做呼叫的動作,那麼它一定會從現有資源釋放物件。與使用垃圾回收機制的Finalize()相比,建議使用解構子是釋放資源的適當做法。.

新!!: 垃圾回收 (計算機科學)和解構子 · 查看更多 »

记录

在计算机科學中,记录(record)也稱為結構體(structure)或複合資料(compound data)是基本的数据结构,記錄是一些相关欄位的聚集,它们可由不同的資料類型組成,通常是固定的數量和序列。记录中的每个欄位或稱為元素,但可能與集合的元素概念混淆不清。在物件導向編程中,記錄的欄位也另外被稱為成員;依照慣例和具體的編程語言,多元组有可能會被認為是一個記錄,反之亦然。 譬如將日期儲存為一個記錄,則其中包含了數字的年份,以字串表示的月份和數字的日期等欄位。而人事記錄可包含姓名,薪水和職級等欄位。一個圓形的記錄可包含圓中心點和它的半徑-在這種情況下,圓中心點本身可能表示為x和y座標的點記錄。 記錄與陣列的區別在於,它們的欄位數通常是固定的,每個欄位都有一個名稱,而且每個欄位可能有不同的類型。 一個記錄型別是描述其中欄位所具有值和變量的資料類型。大多數現代計算機語言允許開發人員自由定義新的記錄型別。記錄型別的定義將會指定每個欄位的資料類型和存取它的標識符(名稱或標籤)。 記錄可以存在於任何存儲介質中,包括主記憶體和大容量存儲裝置,如磁帶或硬盤。記錄是大多數資料結構的基本組成部分,特別是鏈接的資料結構。 許多計算機檔案是以邏輯記錄的陣列組成的,通常被分組成更大的實體記錄或區塊以提高存取效率。 函數或程序的參數通常當作是一個記錄變量其中的欄位;而在呼叫該函數時,傳遞給它的參數可被視為將欄位的值指派給該記錄變量。此外,通常用於實現程序調用的呼叫堆疊中,每個登錄即是一條啟動記錄或呼叫框頁,包含了程序參數和局部變量,返回位址和其它內部欄位。 物件導向語言中的物件本質上是一個記錄,有如何處理該記錄的專用程序;而物件型別是對記錄類型的詳細描述。實際上在大多數物件導向語言中,記錄只是物件的特殊情況,並且被稱為普通舊資料結構(plain old data structures, PODS),與使用OO特徵的物件形成對比。 計算機的記錄可類比為數學的元組。相同地,記錄型別可看作是兩個或多個數學集合的笛卡爾積,或是以特定語言實作的抽象乘積型別。 在许多计算机语言中,都对结构有所定义:.

新!!: 垃圾回收 (計算機科學)和记录 · 查看更多 »

貝姆垃圾收集器

Boehm-Demers-Weiser garbage collector,也就是著名的Boehm GC,是計算機應用在C/C++語言上的一個保守的垃圾回收器,可應用於許多經由C/C++開發的專案,同時也適用於其它執行環境的各類程式語言,包括了GNU版Java編譯器執行環境,以及Mono的Microsoft.NET移植平台。同時支援許多的作業平台,如各種Unix作業系統,微軟的作業系統(Microsoft Windows),以及麥金塔上的作業系統(Mac OS X),還有更進一步的功能,例如:漸進式收集(incremental collection),平行收集(parallel collection)以及終結語意的變化(variety of finalizer semantics)。.

新!!: 垃圾回收 (計算機科學)和貝姆垃圾收集器 · 查看更多 »

运行时库

运行时库(runtime library,又稱運行期库),在计算机程序设计领域中,是指一种被编译器用来实现编程语言内置函数以提供该语言程序运行时(执行)支持的一种特殊的计算机程序库。这种库一般包括基本的输入输出或是内存管理等支持。它是一群支援正在執行程式的函式,與作業系統合作提供諸如數學運算、輸入輸出等功能,讓程式寫作者不需要“重新發明輪子”,並善用作業系統提供的功能。 运行时库由编译器决定,以面向编程语言,提供其最基本的执行时需要。比如Visual Basic需要复杂的运行时库支持而C的运行时库则相对简单。当然这还是由编译器厂商决定的。运行时库中的函数可能对程序员透明,也可能不透明。这也是由编译器厂商忖度语言执行环境的需求而决定的。 早期的執行期函式庫(例如Fortran)提供了數學運算的能力。其他語言增加了諸如垃圾回收的先進功能,通常用於支援物件資料結構。 許多近代語言設計了更大的執行環境並添加更多功能。很多物件導向語言也包含了分派器與類別讀取器。Java虛擬機(JVM)便是此類的典型執行環境:它也在執行期直譯或編譯具可攜性的二進位Java程式。而.NET架構也是另外一個執行期函式庫的實例。 例外處理(Exception handling)是專門處理執行期錯誤的語言機制,使程式設計師可以完全捕捉非預期錯誤,或沒有適當處理的錯誤結果。 动态链接库或静态链接库与运行时库的分类角度不同,不得相提并论。.

新!!: 垃圾回收 (計算機科學)和运行时库 · 查看更多 »

GC

GC可以指:.

新!!: 垃圾回收 (計算機科學)和GC · 查看更多 »

GCC

GNU编译器套裝(GNU Compiler Collection,縮寫為GCC),指一套编程語言编译器,以GPL及LGPL許可證所發行的自由軟體,也是GNU計畫的关键部分,也是GNU工具链的主要組成部份之一。GCC(特别是其中的C语言编译器)也常被认为是跨平台编译器的事实标准。1985年由理查德·马修·斯托曼開始發展,現在由自由軟體基金會負責維護工作。 原名為GNU C語言編譯器(GNU C Compiler),因為它原本只能處理C語言。GCC在发布后很快地得到擴展,變得可處理C++。之後也變得可處理Fortran、Pascal、Objective-C、Java、Ada,Go與其他語言。 許多操作系統,包括許多类Unix系統,如Linux及BSD家族都採用GCC作為标准编译器。蘋果電腦预装的Mac OS X操作系统也採用這個編譯器。 GCC原本用C開發,後來因為LLVM、Clang的崛起,它更快地將開發語言轉換為C++。許多C的愛好者在對C++一知半解的情況下主觀認定C++的性能一定會輸給C,但是Ian Lance Taylor給出了不同的意見,並表明C++不但性能不輸給C,而且能設計出更好,更容易維護的程式(、)。.

新!!: 垃圾回收 (計算機科學)和GCC · 查看更多 »

Go

Go(又稱Golang)是Google開發的一种静态强类型、編譯型、-zh-hant:並發型;zh-hans:并发型-,并具有垃圾回收功能的编程语言。 ,羅勃·派克(Rob Pike)及肯·汤普逊於2007年9月开始设计Go,,稍後Ian Lance Taylor、Russ Cox加入專案。Go是基於Inferno作業系統所開發的。Go於2009年11月正式宣布推出,成為開放原始碼專案,并在Linux及Mac OS X平台上进行了實現,后来追加了Windows系统下的实现。 目前,Go每半年发布一个二级版本(即从a.x升级到a.y)。.

新!!: 垃圾回收 (計算機科學)和Go · 查看更多 »

Idris

Idris 是一个通用的依赖类型纯函数式编程语言,其类型系统与 Agda 以及 Epigram 相似。 Idris 语言具备堪与 Coq 媲美的交互式定理证明能力,自带 tactics,而其设计目标侧重于通用系统编程更甚于辅助证明。Idris 的其他设计目标还包括“可观的”代码性能,对副作用的控制,以及对于实现嵌入式领域特定语言(Embedded Domain Specific Language,EDSL)的支持。 Idris 通过一个依赖类型的核心语言 TT 生成C语言的中间代码并编译到本地机器码,并利用了一个基于的垃圾收集器实现。Idris亦拥有 JavaScript、Java 和 LLVM 的编译器后端。 Idris 的名字来自于20世纪70年代的英国儿童动画片《》里,一条会唱歌的龙。.

新!!: 垃圾回收 (計算機科學)和Idris · 查看更多 »

Inferno

Inferno是種可以創造並支援分散式服務的作業系統。它主要是基於貝爾實驗室九號計畫的經驗以及貝爾實驗室接下來對於作業系統、語言、即時編譯器、圖形、安全性、網路、移植等的研究而產生的。 Inferno應用程式可以移植到大多數混合的硬體、網路、環境上。它也定義了一套名為Dis的虛擬機器,這個虛擬機器可以在任何實體機器上實做,使用Limbo這種型別安全的語言來編譯成位元碼。Inferno也提供了具備相同介面的虛擬作業系統來讓使用者可以在硬體上原生地執行Inferno或以應用程式的方式托管在其他系統中。 一種名為Styx的通訊協定被用來讓系統內可以採用一致的方式,讓應用程式只要使用標準的檔案操作,如開啟、讀取、寫入,以及關閉,就可以存取近端與遠端的資源。在第四版的Inferno中,Styx跟九號計畫中9P協定的新版本9P2000是一樣的。 作業系統以及相關程式、Vita Nuova Holdings公司的名稱都是源自於但丁·阿利吉耶里的著作,尤其是神曲。.

新!!: 垃圾回收 (計算機科學)和Inferno · 查看更多 »

Java

Java是一種廣泛使用的電腦程式設計語言,擁有跨平台、物件導向、泛型程式設計的特性,广泛应用于企业级Web应用开发和移动应用开发。 任職於昇陽電腦的詹姆斯·高斯林等人于1990年代初开发Java語言的雛形,最初被命名为Oak,目標設定在家用电器等小型系統的程式语言,應用在电视机、电话、闹钟、烤面包机等家用电器的控制和通訊。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代網際網路的发展,Sun公司看見Oak在網際網路上应用的前景,于是改造了Oak,於1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。 Java编程语言的风格十分接近C++语言。继承了C++语言面向对象技术的核心,Java舍弃了C++语言中容易引起错误的-zh-hans:指针; zh-hant:指標;-,改以-zh-hans:引用; zh-hant:參照;-取代,同時移除了C++中的--和多重继承特性,改用接口取代,增加垃圾回收器功能。在Java SE 1.5版本中引入了泛型编程、类型安全的枚举、不定长参数和自动装/拆箱特性。昇陽電腦对Java语言的解释是:「Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言」 Java不同於一般的编译語言或直譯語言。它首先将源代码编译成字节码,然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编写,到处运行”的跨平台特性。在早期JVM中,这在一定程度上降低了Java程序的运行效率。但在J2SE1.4.2发布后,Java的執行速度有了大幅提升。 与传统型態不同,Sun公司在推出Java時就将其作为开放的技术。全球数以万计的Java开发公司被要求所设计的Java软件必须相互兼容。“Java语言靠群体的力量而非公司的力量”是 Sun公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同,此外,微软公司後來推出了与之竞争的.NET平台以及模仿Java的C#语言。後來Sun公司被甲骨文公司併購,Java也隨之成為甲骨文公司的產品。 現時,行動作業系統Android大部分的代碼採用Java 程式設計語言編程。.

新!!: 垃圾回收 (計算機科學)和Java · 查看更多 »

Jikes研究虚拟机

Jikes研究虚拟机(Jikes Research Virtual Machine,简称Jikes RVM)是一种成熟的用于执行Java程序的虚拟机,其早期版本与当前版本分别在(CPL)与Eclipse公共许可证(EPL)下开放代码。与其他以Java编写的虚拟机不同的是,Jikes RVM采用了元循环技术。.

新!!: 垃圾回收 (計算機科學)和Jikes研究虚拟机 · 查看更多 »

JMX

JMX(Java Management Extensions,即Java管理扩展)是Java平台上为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。.

新!!: 垃圾回收 (計算機科學)和JMX · 查看更多 »

JRockit

JRockit是一个专有Java虚拟机(JVM),最初是由开发的,2002年被BEA Systems收购,2007年BEA Systems被Oracle收购,2008年又成为的一部分。 在JavaOne2010大会上,Oracle宣布JRockit的优秀特性将会在OpenJDK上实现。目前,JRockit和HotSpot正在整合,目标是在JDK 8发布之时发布整合后的代码库。 2011年5月,Oracle宣布JRockit免费发布,并确认他们计划在OpenJDK上移植JRockit的特性。.

新!!: 垃圾回收 (計算機科學)和JRockit · 查看更多 »

LISP

LISP是具有悠久歷史的計算機編程語言家族,有獨特和完全括號的前綴符號表示法。起源於西元1958年,是現今第二悠久而仍廣泛使用的高階編程語言。只有FORTRAN編程語言比它更早一年。LISP編程語族已經演變出許多種方言。現代最著名的通用編程語種是Common Lisp和Scheme。 LISP最初創建時受到阿隆佐·邱奇的lambda演算的影響,用來作為計算機程序實用的數學表達。因為是早期的高階編程語言之一,它很快成為人工智能研究中最受歡迎的編程語言。在計算機科學領域,LISP開創了許多先驅概念,包括:.

新!!: 垃圾回收 (計算機科學)和LISP · 查看更多 »

Lisp机器

Lisp机器(Lisp machines)是被设计来高效运行以Lisp语言为主要软件开发语言的通用型计算机(通常通过硬件支持)。在某种意识上,它们是第一个商业的单用户工作站。尽管在数量上表现不如意(在1988年大概只有7000套),Lisp机器在商业上开创了许多现行的技术,包括高效的内存垃圾收集,激光打印,窗口化系统,计算机鼠标,高分辨率的位图,计算机图像解析和网络革新(像CHAOSN)。在上世纪八十年代,几家公司正建造和销售Lisp机器:Symbolics(3600,3640,XL1200,Maclvory和其他模型),Lisp Machines Incorpaorated(LMI Lambda),Texas Instruments(Explorer和MicroExplorer)和Xerox(InterLisp-D workstations)。这些操作系统都是用Lisp Machine Lisp,InterLisp(Xerox)和稍后出现的Common Lisp写的。.

新!!: 垃圾回收 (計算機科學)和Lisp机器 · 查看更多 »

Lua

Lua()程序设计语言是一个简洁、轻量、可扩展的脚本语言,Lua在葡萄牙语中的意思是月亮。.

新!!: 垃圾回收 (計算機科學)和Lua · 查看更多 »

Mac OS X Leopard

Mac OS X 10.5 Leopard是蘋果為 Mac 產品所製作的作業系統Mac OS X的第六個版本,也是前代作業系統Tiger的繼承者。Leopard最早於2007年10月26日發行,以兩種版本:以個人電腦為訴求的桌上型電腦版本,以及伺服器版本——Mac OS X Server。蘋果提供減價升級版或者內含升級版DVD給介於2007年10月1日到2007年12月29日購買新蘋果電腦,且新電腦未預裝Mac OS X v 10.5的用戶。 根據蘋果的說法,Leopard包含了超過300種更新與加強功能,含括核心操作系統元件,以及應用程式與開發工具。Leopard引進了顯著大修過的桌面,包括重新設計的Dock,改進過的Finder,新功能Stacks、半透明選單條,以及內含最初於iTunes使用的Cover Flow。其它主要的特點在包含支援64位元GUI應用程式、可自動備份的時光機(Time Machine)、Spotlight搜尋可橫跨多台機器,以及原來只在一部分Mac機型才有的Front Row與Photo Booth。 蘋果錯過了蘋果執行長史提夫·賈伯斯所公告的Mac OS X 10.5推出時間。當第一次於2005年6月提出,賈伯斯說蘋果將在2006年底或2007年初推出Leopard。 一年後,更改成「2007年春天」,然而在2007年4月12日蘋果公告因iPhone的開發因素,將延後至10月推出。 Leopard在2006年的 WWDC 對軟體設計師做第一次發表,而Leopard已在2007年10月26日上市,以 129 美元、129 歐元,或是 4390 新台幣賣出。 蘋果亦提供199美元的五人授權“家庭版”,116美元的學生版(皆含稅)。 凡於2007年10月1日至12月29日購買Mac可以9.95美元的代價購買升級。.

新!!: 垃圾回收 (計算機科學)和Mac OS X Leopard · 查看更多 »

Memory (C++标准库)

memory 是C++標準程式庫中的一個头文件,定义了C++标准中的智能指针、内存分配器(allocator)、与垃圾回收有关的函数、临时性的申请与释放动态内存的函数、在内存上创建(构造)对象的函数等等。.

新!!: 垃圾回收 (計算機科學)和Memory (C++标准库) · 查看更多 »

ML语言

ML是一个通用的函數式編程语言,它是由爱丁堡大学的Robin Milner及他人在二十世纪七十年代晚期开发的。它的语法是从ISWIM得到的灵感。作为元语言的ML是为了帮助在LCF定理证明机中寻找证明策略而构想出来的。(之前的元语言是pplambda,它联合了一阶逻辑演算和有类型的多态的λ演算)。它使用了Hindley-Milner类型推论算法来推测大多数值的类型,而不需要四处使用注解。 ML一般被归为非纯函数式编程语言,因为它允许副作用和指令式编程。这一点和纯函数式编程语言——例如Haskell——很不一样。 ML特性包括:傳值呼叫(Call by value)的求值策略,一级函数,带有垃圾收集的自动内存管理,参数多态,静态数据类型,类型推论,代数数据类型,模式匹配和异常处理。 不像Haskell,ML使用及早求值,也就是说所有的子表达式总是被求值。导致的一个结果是你不能使用无穷表。然而,惰性求值产生的无穷表可以通过使用匿名函数来模拟。 今天在ML家族中有好几种语言:两种主要的方言是Standard ML和Caml,其他的包括F#-针对Microsoft.NET平台的开放研究项目。ML中的思想影响了众多的语言,例如Haskell,Cyclone和Nemerle。 ML的实力大多被用于语言设计和操作(编译器、分析器、定理证明机),但是它作为通用语言也被用于生化,金融系统,和宗谱数据库,一个P2P的客户/服务器程序等等。.

新!!: 垃圾回收 (計算機科學)和ML语言 · 查看更多 »

Nix 包管理器

Nix 是一个操作系统包管理器。同 RPM、APT 和许多其它的软件包管理系统一样,它可以用来控制软件包的安装,或已命名的,带版本号的文件组,例如软件应用及其相关的配置数据等。.

新!!: 垃圾回收 (計算機科學)和Nix 包管理器 · 查看更多 »

Oberon

Oberon,一種程式語言,由是Pascal之父尼克勞斯·維爾特设计。最初是作为Oberon项目的一部分出现的。在设计了Pascal,Modula,Modula-2之后,Wirth发现程序语言过分复杂精微了,提供了很多很少用或者基本不用的抽象机制,而Oberon是最简化的一次尝试。它设计的非常小,一页纸就能用EBNF写下它的文法。最早的Oberon全编译器才4000多行代码。现在Oberon已经发展到Oberon-2,Oberon-07。Oberon是一个以安全为目标的语言,它包括数组边界检查,垃圾回收以及型別安全检查。 Category:程序设计语言.

新!!: 垃圾回收 (計算機科學)和Oberon · 查看更多 »

Objective-C

Objective-C是一种通用、高级、面向对象的编程语言。它扩展了标准的ANSI C编程语言,将Smalltalk式的消息传递机制加入到ANSI C中。目前主要支持的编译器有GCC和Clang(採用LLVM作為後端)。 Objective-C的商標權屬於蘋果公司,蘋果公司也是這個程式語言的主要開發者。苹果在開發NeXTSTEP操作系統時使用了Objective-C,之后被OS X和iOS继承下來。現在Objective-C与Swift是OS X和iOS操作系统、及与其相关的API、Cocoa和Cocoa Touch的主要编程语言。.

新!!: 垃圾回收 (計算機科學)和Objective-C · 查看更多 »

Python

Python( ),是一种广泛使用的高级编程语言,属于通用型编程语言,由吉多·范罗苏姆创造,第一版发布于1991年。可以視之為一種改良(加入一些其他程式語言的優點,如物件導向)的LISP。作为一种解释型语言,Python的设计哲学强调代码的可读性和简洁的语法(尤其是使用空格缩进划分代码块,而非使用大括号或者关键词)。相比於C++或Java,Python让开发者能够用更少的代码表达想法。不管是小型还是大型程序,该语言都试图让程序的结构清晰明了。 与Scheme、Ruby、Perl、Tcl等动态类型编程语言一样,Python拥有动态类型系统和垃圾回收功能,能够自动管理内存使用,并且支持多种编程范式,包括面向对象、命令式、函数式和过程式编程。其本身拥有一个巨大而广泛的标准库。 Python 解释器本身几乎可以在所有的操作系统中运行。Python的正式直譯器CPython是用C语言编写的、是一個由社群驱动的自由软件,目前由Python软件基金会管理。.

新!!: 垃圾回收 (計算機科學)和Python · 查看更多 »

REALbasic

REALbasic又名Real Studio是一個基於BASIC語言的編程語言及跨平臺開發工具,由REAL Software, Inc.的Andrew Barry于1997年6月12日于官方網站公佈,原名「CrossBASIC」。REALbasic能够在Windows、Mac及Linux這三种操作系統上运行,并能生成本机代码,即原生的应用程序。此外,还能生成Web程序,并将支持iOS等移动平台。由于除了兼容部分BASIC语言的语法之外,这款开发工具已经与过气的老式BASIC语言渐行渐远,因此于2013年的第一个发行版开始产品名称、企业名称均更名为Xojo(音近"啁啾")。.

新!!: 垃圾回收 (計算機科學)和REALbasic · 查看更多 »

Ruby

Ruby 是一种面向对象、命令式、函数式、动态的通用编程语言。在20世纪90年代中期由日本電腦科學家松本行弘(Matz)设计并开发。 遵守BSD许可证和Ruby License。它的灵感与特性来自于Perl、Smalltalk、Eiffel、Ada以及Lisp语言。由Ruby语言本身还发展出了JRuby(Java平台)、IronRuby(.NET平台)等其他平台的Ruby语言替代品。.

新!!: 垃圾回收 (計算機科學)和Ruby · 查看更多 »

Rust

Rust是一个由Mozilla主导开发的通用、编译型编程语言。它的设计准则为“安全,并发,实用”,支持函数式,并发式,程序式以及面向对象的编程风格。 Rust 語言原本是 Mozilla 員工 Graydon Hoare 的私人計畫,而 Mozilla 於 2009 年開始贊助這個計畫,並且在 2010 年首次揭露了它的存在。也在同一年,它的編譯器原始碼開始由原本的 OCaml 語言轉移到用 Rust 語言,進行 bootstrapping 工作,稱做 rustc,並於 2011 年實際完成.

新!!: 垃圾回收 (計算機科學)和Rust · 查看更多 »

SeaMonkey

SeaMonkey是一個自由的開放原始碼以及跨平台的網路套裝軟體 ,並且由Mozilla基金會建構,之後轉由旗下的SeaMonkey專案領導團體開發。 此軟體是以Mozilla Suite為基礎建構之軟體,是Mozilla基金會旗下軟體Mozilla Suite 1.7版本的延伸。 SeaMonkey在英文中指的是“豐年蝦”,所以圖示由海水和豐年蝦組成。多使用直譯的方法譯為“海猴子”,這是豐年蝦的俗名。因為該名詞很少有人知道其真正所指,經常會被誤認為“海裡的猴子”,譯作“海底猿人”則是為了紀念遠古時代生活在海底的祖先。.

新!!: 垃圾回收 (計算機科學)和SeaMonkey · 查看更多 »

SECD抽象机

SECD 机是非常有影响的意图作为函数式编程语言编译器目标的虚拟机。SECD 分别是这个机器的内部寄存器的名字的首字母:Stack, Environment, Code, Dump。这些寄存器指向在内存中链表。 这种机器最初明确设计用来计算 lambda 演算表达式。最初 Peter J. Landin 在1963年把它作为他的 ISWIM编程语言定义的一部分描述。Landin 出版的描述非常抽象,(象一种操作语义那样)留下很多实现选择开放着。所以 SECD 机经常以更具体的形式出现,比如 Peter Henderson 的 Lispkit Lisp 编译器,它自1980年开始发行。此后它已经被用做多个其他实验编译器的目标。 在1989年在卡尔加里大学的研究者制作了这种机器的一个硬件实现。.

新!!: 垃圾回收 (計算機科學)和SECD抽象机 · 查看更多 »

Singularity

Singularity,一種實驗性操作系统,在2003年至2010年間由微软研究院設計、發展出來。该操作系统的核心、驅動程式以及应用程序都以「受控代碼」写成。系统“Singularity”在设计上完全改头换面,不再以其性能為標準,而以系統稳定性作为首要标准。 Singularity操作系统會在系统构建、編寫程式等应用微软最先进的技术,例如Singularity的核心技术之一:软件独立进程(Software Isolated Processes,SIP)将采用“Type-safe”编程语言以及精简的指令完成,保证系统運作之间的高度独立性。SIP保证每个程序、驅動程式以及系统扩展组件都在獨立的SIP内运行,並不允许互相共享内存或修改自身代码,能夠使系统的稳定性增強。 微软将會在近期公布更多Singularity的详细技术资料。 Singularity的低级x86中断以汇编语言和C语言写成。一旦这些代码完成工作,它将调用核心,核心的运行时代码和垃圾收集器用C♯语言写成并在非安全模式下运行。Singularity的硬件抽象层用C++语言写成并运行在安全模式下。并且也有部分C代码负责调试工作。计算机的BIOS只在16位元真實模式自举阶段被调用;一旦系统进入32位元模式,Singularity将永远不再调用BIOS,而改以调用以Sing♯写出的设备驱动代码。当安装时,CIL形态的将藉由编译为x86形态的opcode。Bartok是一种以C#写成的早期优化编译器。 源代码和/或磁盘镜像将在工程完成时可用。.

新!!: 垃圾回收 (計算機科學)和Singularity · 查看更多 »

SpiderMonkey

SpiderMonkey是世界上第一款JavaScript引擎,由前网景公司的布兰登·艾克設計,後期由Mozilla基金会維護,以開放原始碼發佈。目前為Mozilla Firefox網頁瀏覽器所使用的JavaScript引擎,並也被嵌入到其他許多環境,例如GNOME 3桌面。.

新!!: 垃圾回收 (計算機科學)和SpiderMonkey · 查看更多 »

WebAssembly

WebAssembly或稱wasm是一個實驗性的低階程式語言,應用於瀏覽器內的客戶端。WebAssembly是可攜式的抽象語法樹,被設計來提供比JavaScript更快速的編譯及執行。WebAssembly將讓開發者能運用自己熟悉的程式語言(最初以C/C++作為實作目標)編譯,再藉虛擬機器引擎在瀏覽器內執行。WebAssembly的開發團隊分別來自Mozilla、Google、Microsoft、Apple,代表著四大網路瀏覽器Firefox、Chrome、Microsoft Edge、Safari。2017年11月,所有以上四個瀏覽器都開始實驗性的支援WebAssembly。.

新!!: 垃圾回收 (計算機科學)和WebAssembly · 查看更多 »

WoW64

WoW64(Windows 32-bit on Windows 64-bit)是Microsoft Windows操作系统的一个子系统,它提供在所有Windows 64位系统上运行32位元应用程序的能力——这包括Windows XP Professional x64 Edition、IA-64和Windows Server 2003的64位版本,以及Windows Vista、Windows Server 2008、Windows 7、Windows 8、Windows Server 2012、Windows 8.1和Windows 10的64位版本。在Windows Server 2008 R2 Server Core中它成为了可选组件,并在Nano Server中不再提供。WoW64旨在解决32位与64位Windows中的许多差异,特别是涉及到Windows本身的结构变化。.

新!!: 垃圾回收 (計算機科學)和WoW64 · 查看更多 »

重定向到这里:

垃圾回收器垃圾收集 (计算机科学)垃圾收集器 (计算机科学)

传出传入
嘿!我们在Facebook上吧! »