應用程式

應用程式

應用程式是電腦軟體的主要分類之一,是指為針對使用者的某種應用目的所撰寫的軟體。應用程式通常又被分為兩部分:圖形使用者介面(GUI)和引擎(Engine)。它與應用軟體的概念不同。應用軟體指使用的目的分類,可以是單一程式或其他從屬元件的集合,例如Microsoft Office、OpenOffice。應用程式指單一可執行檔或單一程式,例如Word、Photoshop。日常中可不將兩者仔細區分。一般視程式為軟體的一個組成部分。

應用程式分類


辦公室軟體
文書處理器、試算表程式、投影片報告、數學程式創建編輯器、繪圖程式、基礎資料庫、檔案管理系統、檔案編輯器
網際網路
即時通訊軟體、電子信件用戶端、網頁流覽器、FTP用戶端、下載工具
多媒體
媒體播放機、圖像編輯軟體、音訊編輯軟體、視訊編輯軟體、電腦輔助設計、電腦遊戲、桌面排版
分析軟體
電腦代數系統、統計軟體、數字計算、電腦輔助工程設計
協作軟體
協作產品開發
商務軟體
會計軟體、企業工作流程分析、顧客關係管理、Back office、企業資源規劃、供應鏈管理、產品生命周期管理
資料庫
資料庫管理系統
其他
教育軟體、DIY軟體

應用軟體分類


內容建立工具
文書處理器、試算表程式、投影片報告、繪圖程式、電腦輔助設計、電腦輔助工程設計、桌面排版
內容檢視、播放、執行和流覽
媒體播放機、圖片檢視器、電腦遊戲、網頁流覽器
內容編輯
圖像編輯軟體、音訊編輯軟體、視訊編輯軟體、數學程式創建編輯器、檔案編輯器
內容傳輸
即時通訊軟體、電子信件用戶端、FTP用戶端、下載工具
內容管理
基礎資料庫、客戶關係管理、資料庫管理系統、供應鏈管理、產品生命周期管理

運行模式


應用程式(Application)運行在使用者 模式,它可以和使用者進行交互,一般具有可視的使用者介面。
對於應用程式需要瞭解的是:每一個應用程式運行於獨立的進程、他們擁有自己獨立的位址空間。不同應用程式的分界線稱為進程邊界。

程式組成


遊戲類的應用程式通常又被分為兩部分:圖形使用者介面(GUI)和引擎(Engine)。
在DOS或Windows系統下其副檔名為*.exe或*.com
mac os x下副檔名一般為*.app

關鍵程式


使用Web應用程式防火牆檢查所有指向或來自最容易受已知或新攻擊的財務應用程式的流量,並修補所有應用程式存在的特定漏洞。
通過檢測惡意軟體,確定被攻擊的設備或被攔截的連接資訊的跡象 - 例如飛速操縱交易詳細資料的MitB攻擊痕迹

分類


它有幾種分類,即:單文檔、多重文檔、基本對話方塊三種。
給你舉例說明一下,單文檔就像是記事本,永遠中有一個文件視窗,多文件視窗就像是word可以同時打開多個文件視窗,這個也是現在運用最多的,對話方塊也就是最簡單的,用於對話方塊的設計。現在單純的基於對話方塊使用的很少了,一般還用來編寫即時通訊的軟體,更多情況是對話方塊和多文件視窗穿插使用的。
六種範圍
大多數伺服器端J2EE 應用程式中有六種常用的範圍類型:
Transaction(事務)
Request(請求)
HTTP session(HTTP 會話)
Application(應用程式)
Global(全域)
None(無)
事務範圍
事務範圍覆蓋一個事務的整個生命周期。這個範圍開始於一個事務的開始。這時會創建一個惟一的範圍鍵。這個範圍結束於提交或回滾事務時。這時,與事務範圍相關聯的所有物件被自動釋放回它們的池。
請求範圍
請求範圍與一個servlet請求的範圍對應;在容器調用servlet來處理請求之後,請求範圍立即開始。同時會創建一個惟一的範圍鍵。在servlet完成處理之前請求範圍結束。這時,與這個範圍相關聯的所有物件被自動釋放回它們的池。
HTTP會話範圍
HTTP會話範圍與一個HTTP會話的生命周期對應。它從創建一個新的HttpSession時開始。這時會創建一個惟一的範圍鍵。它結束於會話被銷毀或過期時。這時,與這個範圍相關聯的所有物件被自動釋放回它們的池。
應用程式範圍
應用程式範圍覆蓋應用程式的整個生命周期。它開始於把一個應用程式部署到應用伺服器時。這時會創建一個惟一的範圍鍵。這個範圍結束於應用程式停止運行或從應用伺服器中刪除時。這時,與這個範圍相關聯的所有物件被自動釋放回它們的池。
全域範圍
全域範圍是最大的範圍。採用這種範圍的物件不會被釋放。
無範圍
無範圍用於不使用物件集區的物件。採用這種範圍的物件每次都通過自己的物件構造函數來創建,並由Java 垃圾收集器釋放。物件封裝程式根本不管理它們。

常見問題


出現這個現象有兩方面的:一是硬體,即記憶體方面有問題;二是軟體,這就有多方面的問題了。

硬體原因

一般來說,電腦硬體是很不容易壞的。記憶體出現問題的可能性並不大(除非你的記憶體真的是雜牌的一塌糊塗),主要方面是:
記憶體條壞了(二手記憶體情況居多)
使用了有品質問題的記憶體
記憶體插在主機板上的金手指部分灰塵太多
使用不同品牌不同容量的記憶體,從而出現不相容的情況
超頻帶來的散熱問題
1.
記憶體條壞了(二手記憶體情況居多)
2.
使用了有品質問題的記憶體
3.
記憶體插在主機板上的金手指部分灰塵太多
4.
使用不同品牌不同容量的記憶體,從而出現不相容的情況
5.
超頻帶來的散熱問題
你可以使用MemTest這個軟體來檢測一下記憶體,它可以徹底地檢測出記憶體的穩定度。

軟體原因

先說原理:記憶體有個存放資料的地方叫緩衝區,當程式把資料放在緩衝區時,需要作業系統提供的「功能函數」來申請應用程式,如果記憶體分配成功,函數就會將所新開闢的記憶體區位址返回給應用程式,應用程式就可以通過這個位址使用這塊記憶體。這就是「動態記憶體分配」,記憶體位址也就是程式設計中的「游標」。記憶體不是永遠都招之即來、用之不盡的,有時候記憶體分配也會失敗。當分配失敗時系統函數會返回一個0值,這時返回值「0」已不表示新啟用的游標,而是系統嚮應用程式發出的一個通知,告知出現了錯誤。
作為應用程式,在每一次申請記憶體後都應該檢查返回值是否為0:如果是,則意味著出現了故障,應該採取一些措施挽救,這就增強了程式的「健壯性」。若應用程式沒有檢查這個錯誤,它就會按照「思維慣性」認為這個值是給它分配的可用游標,繼續在之後的執行中使用這塊記憶體。真正的0位址記憶體區儲存的是電腦系統中最重要的「中斷描述符表」,絕對不允許應用程式使用。在沒有保護機制的作業系統下(如DOS),寫資料到這個位址會導致立即宕機。
而在健壯的作業系統中,如Windows等,這個操作會馬上被系統的保護機制捕獲,其結果就是由作業系統強行關閉出錯的應用程式,以防止其錯誤擴大。這時候,就會出現上述的記憶體不能為「read」錯誤,並指出被引用的記憶體位址為「0x00000000」。記憶體分配失敗故障的原因很多,記憶體不夠、系統函數的版本不匹配等都可能有影響。因此,這種分配失敗多見於作業系統使用很長時間後,安裝了多種應用程式(包括無意中「安裝」的病毒程式),更改了大量的系統參數和系統檔案。
在使用動態分配的應用程式中,有時會有這樣的情況出現:
程式試圖讀寫一塊「應該可用」的記憶體,但不知為什麼,這個預料中可用的游標已經失效了。有可能是「忘記了」向作業系統要求分配,也可能是程式自己在某個時候已經登出了這塊記憶體而「沒有留意」等等。登出了的記憶體被系統回收,其訪問權已經不屬於該應用程式,因此讀寫操作也同樣會觸發系統的保護機制,企圖「違法」的程式唯一的下場就是被操作終止執行,回收全部資源。電腦世界的法律還是要比人類有效和嚴厲得多啊!像這樣的情況都屬於程式自身的BUG,你往往可在特定的操作順序下重現錯誤。無效游標不一定總是0,因此錯誤提示中的記憶體位址也不一定為「0x00000000」,而是其它亂數字。

解決方法

1. 檢查系統中是否有木馬或病毒。這類程式為了控制系統往往不負責任地修改系統,從而導致作業系統異常。平常應加強資訊安全意識,對來源不明的可執行程式絕不好奇。
2. 更新作業系統,讓作業系統的安裝程式重新拷貝正確版本的系統檔案、修正系統參數。有時候作業系統本身也會有BUG,要注意安裝官方發行的升級程式。
3. 盡量使用最新正式版本的應用程式、Beta版、試用版都會有BUG。
4. 刪除然後重新創建Winnt\System32\Wbem\Repository 資料夾中的檔:在桌面上右擊我的電腦,然後按一下管理。在"服務和應用程式"下,按一下服務,然後關閉並停止Windows Management Instrumentation 服務。刪除 Winnt\System32\Wbem\Repository 資料夾中的所有檔。(在刪除前請創建這些檔的備份副本。)打開"服務和應用程式",按一下服務,然後打開並啟動WindowsManagement Instrumentation 服務。當服務重新開機時,將基於以下註冊表項中所提供的資訊重新創建這些檔:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\CIMOM\Autorecover MOFs。

案例分析

例一:IE流覽器出現「0x0a8ba9ef」指令引用的「0x03713644」記憶體,或者「0x70dcf39f」指令引用的。應用程式「0x00000000」記憶體。該記憶體不能為「read」。要終止程式,請按一下「確定」的資訊框,按一下「確定」後,又出現「發生內部錯誤,您正在使用的其中一個視窗即將關閉」的資訊框,關閉該提示資訊後,IE流覽器也被關閉。
例二:有些應用程式錯誤:「0x7cd64998」指令參考的「0x14c96730」記憶體。該記憶體不能為「read」。解決方法:Win XP的「預讀取」技術這種最佳化技術也被用到了應用程式上,系統對每一個應用程式的前幾次啟動情況進行分析,然後新增一個描述套用需求的虛擬「記憶體映射」,並把這些資訊儲存到Windows\Prefetch資料夾。一旦建立了映射,應用軟體的裝入速度大大提高。XP的預讀取資料可以儲存最近8次系統啟動或應用軟體啟動的資訊。建議將虛擬記憶體撤換,刪除Windows\Prefetch目錄下所有*.PF檔,讓windows重新收集程式的物理位址。
例三:在XP下按兩下光碟裡面的「AutoRun.exe」檔,顯示「0x77f745cc」指令引用的「0x00000078」記憶體。該記憶體不能為「written」,要終止程式,請按一下「確定」,而在Windows 98里運行卻正常。解決方法:這可能是系統的相容性問題,winXP的系統,右鍵「AutoRun.exe」檔,屬性,相容性,把「用相容模式運行這個程式」項選擇上,並選擇「Windows 98/Me」。win2000如果打了SP的補丁後,只要開始,運行,輸入:regsvr32c:\winnt\apppatch\slayerui.dll。右鍵,屬性,也會出現相容性的選項。
例四:RealOne Gold關閉時出現錯誤,以前一直使用正常,最近卻在每次關閉時出現「0xffffffff」指令引用的「0xffffffff」記憶體。該記憶體不能為「read」的提示。解決方法:當使用的輸入法為微軟拼音輸入法2003,並且隱藏語言欄時(不隱藏時沒問題)關閉RealOne就會出現這個問題,因此在關閉RealOne 之前可以顯示語言欄或者將任意其他輸入法作為當前輸入法來解決這個問題。
例五:一個朋友發資訊過來,我的電腦便出現了錯誤資訊:「0x772b548f」指令引用的「0x00303033」記憶體,該記憶體不能為「written」,然後QQ自動下線,而再打開QQ,發現了他發過來的十幾條的資訊。解決方法:這是對方利用QQ的BUG,發送特殊的代碼,做QQ出錯,只要打上補丁或升級到最新版本,就沒事了。

發展趨勢


安卓網站顯示,每天超過55萬新設備在全球範圍內被啟動,這個月初的康姆斯科報告稱,安卓已擁有50.1%用戶,佔美國智慧手機市場的一大部分。排在第二位的是蘋果,有30.2%的用戶,之後是RIM(13.4%),微軟(3.9%)和Symbian(1.5%)。
應用說明使用者隨時瞭解新聞事件、捕捉筆記、從事社交、聽音樂、娛樂遊戲,在2011年第三季度,我們在安卓設備上下載了超過240億美元的應用程式。無論我們下載什麼應用程式,它們已經全部由開發者完成,要麼是獨立進行,要麼作為一個更大的業務的一部分。
你們發現沒,28%用StarApp平台的安卓開發者喜歡外出、遠足,或者有健康意識的活動...我不希望那樣。我希望它擁有年輕的勞動力,雖然我看不到資料,但是似乎兩個最大的年齡段是18-25歲和26-32歲,而41歲以上的人很少。
移動應用和發展狀況
什麼是移動應用程式
就是指可以在手機終端運行的軟體。它是3G產業中一個重點發展的項目,具有重要的意義。移動應用程式無需依賴手機媒體、手機應用,可以提供完善、便捷、多樣、高效的移動推廣和行銷。
企業移動應用的發展狀況
隨著3G的蓬勃發展,移動應用已經為赹來赹多的企業帶來更大的市場空間和市場機會。通過手機企業可以將自身的產品和服務更大範圍,更好的展示,也可以更好的跟客戶互動。如今在蘋果應用程式商店裡面已經有50萬移動應用程式為手機使用者提供各種服務,而綜合下載量在今年年初的時候已經突破了100億次。而我們也幫助越來越多的合作夥伴拓展了移動行銷這一新興管道。在該領域我們也通過自身的服務獲得了越來越多的客戶認可。