java重復代碼的危害 java去重復代碼

JAVA重復 new 會怎么樣

一次new就會為相應的對象開辟一個空間

目前創(chuàng)新互聯(lián)已為成百上千家的企業(yè)提供了網站建設、域名、雅安服務器托管、網站托管、服務器租用、企業(yè)網站設計、巫山網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

連續(xù)new,值是改變a1的指向,之前對象由于沒有引用指向,將會變?yōu)椤袄薄?/p>

java的垃圾回收機制,會在適當的時機,回收這塊內存。

代碼的危害

解析惡意代碼的危害機制與防范

摘要:在當今互聯(lián)網時代,很多人還在受著網頁惡意代碼的困擾,在網站代碼編輯過程中,更會因為惡意代碼的轉載使用導致整個網頁的癱瘓。本文就“惡意代碼”的危害和防范來進行深入解析,以激發(fā)我們的安全防范意識,積極應對來自網絡的安全威脅。

關鍵詞:惡意代碼Java Applet JavaScript ActiveX

一、惡意代碼綜述

惡意代碼主要包括計算機病毒(Virus)、蠕蟲(Worm)、木馬程序(Trojan Horse)、后門程序(Backdoor)、邏輯炸彈(Logic Bomb)等等。它使用SCRIPT語言編寫的一些惡意代碼利用IE的漏洞來實現病毒植入。當用戶登錄某些含有網頁病毒的網站時,網頁病毒便被悄悄激活,這些病毒一旦激活,可以利用系統(tǒng)的一些資源進行破壞。

隨著互聯(lián)網信息技術的不斷發(fā)展,代碼的“惡意”性質及其給用戶造成的危害已經引起普遍的關注,因此我們有必要對惡意代碼進行一番了解,讓其危害降低至最低程度。

二、惡意代碼的表現形式

(一)網頁病毒類惡意代碼

網頁病毒類惡意代碼,顧名思義就是利用軟件或系統(tǒng)操作平臺的安全漏洞,通過嵌入在網頁上HTML標記語言內的Java Applet 應用程序、JavaScript 腳本程序、ActiveX 網絡交互支持自動執(zhí)行,強行修改用戶注冊表及系統(tǒng)配置,或非法控制用戶系統(tǒng)資源、盜取用戶文件、惡意刪除文件,甚至格式化硬盤的非法惡意程序。

根據目前較流行的常見網頁病毒的作用對象及表現特征,網頁病毒可以歸納為以下兩大種類:

(1)通過Java Script、Applet、ActiveX 編輯的腳本程序修改IE 瀏覽器,表現為:

A 默認主頁(首頁)被修改;B 主頁設置被屏蔽鎖定,且設置選項無效不可修改;C 默認的IE 搜索引擎被修改;D 鼠標右鍵菜單被添加非法網站廣告鏈接等。

(2)通過Java Script、Applet、ActiveX 編輯的腳本程序修改用戶操作系統(tǒng),表現為:

A 開機出現對話框(通常都是用戶不知所云的內容);B 系統(tǒng)正常啟動后,但IE 被鎖定網址自動調用打開;C 格式化硬盤;D 非法讀取或盜取用戶文件;E 鎖定禁用注冊表,編輯reg,轉自[星論文網] 注冊表文件格式時出現打開方式錯誤。

(二)腳本類惡意代碼

腳本實際上就是程序,一般都是由應用程序提供的編輯語言。應用程序包括Java Script、VBScript、應用程序的宏和操作系統(tǒng)的批處理語言等。腳本在每一種應用程序中所起的作用都是不相同的,比如在網頁中可實現各種動態(tài)效果,在OFFICE 中通常是以“宏”來執(zhí)行一系列命令和指令,可以實現任務執(zhí)行的自動化,以提供效率,或者制造宏病毒。

(三)漏洞攻擊類代碼

是利用軟件或者操作系統(tǒng)的漏洞而編寫的程序,對用戶系統(tǒng)或者網絡服務器進行攻擊。比如黑客利用微軟IE 瀏覽器漏洞,編寫漏洞攻擊代碼對用戶進行攻擊。

三、惡意代碼的實現機制

惡意代碼的行為表現各異,破壞程序千差萬別,但基本作用機制大體相同,其整個作用過程分為6個部分:

①侵入系統(tǒng)。侵入系統(tǒng)是惡意代碼實現其惡意目的的必要條件。惡意代碼入侵的途徑很多,如:從互聯(lián)網下載的程序本身就可能含有惡意代碼;接受已經感染惡意代碼的電子郵件;從光盤或U盤往系統(tǒng)上安裝未經審查的軟件;黑客或者攻擊者故意將惡意代碼植入系統(tǒng)等。

②維持或提升現有特權。惡意代碼的傳播與破壞必須盜用用戶或者進程的合法權限才能完成。

③隱蔽策略。為了不讓系統(tǒng)發(fā)現惡意代碼已經侵入系統(tǒng),惡意代碼可能會改名、刪除源文件或者修改系統(tǒng)的安全策略來隱藏自己。

④潛伏。惡意代碼侵入系統(tǒng)后,等待一定的條件,病毒具有足夠的權限時,就發(fā)作進行破壞活動。

⑤破壞。惡意代碼的本質具有破壞性,其目的是造成信息丟失、泄密,破壞系統(tǒng)完整性等。

⑥重復1至5對新的目標實施攻擊過程。

四、惡意代碼的防范方法

目前,惡意代碼防范方法主要分為兩方面:基于主機的惡意代碼防范方法和基于網絡的惡意代碼防范方法。

(一)基于主機的惡意代碼防范方法

①基于特征的掃描技術:基于主機的惡意代碼防范方法是目前檢測惡意代碼最常用的技術。掃描程序工作之前,必須先建立惡意代碼的特征文件,根據特征文件中的特征串,在掃描文件中進行匹配查找。用戶通過更新特征文件更新掃描軟件,查找最新的惡意代碼版本。這種技術廣泛地應用于目前的反病毒引擎中。

②校驗和:校驗和是一種保護信息資源完整性的控制技術,例如Hash 值和循環(huán)冗余碼等。只要文件內部有一個比特發(fā)生了變化,校驗和值就會改變。未被惡意代碼感染的系統(tǒng)首先會生成檢測數據,然后周期性地使用校驗和法檢測文件的改變情況。

③安全操作系統(tǒng)對惡意代碼的防范:惡意代碼成功入侵的重要一環(huán)是,獲得系統(tǒng)的控制權,使操作系統(tǒng)為它分配系統(tǒng)資源。無論哪種惡意代碼,無論要達到何種惡意目的,都必須具有相應的權限。否則它將不能實現其預定的惡意目標,或者僅能夠實現其部分惡意目標。

(二)基于網絡的惡意代碼防范方法

由于惡意代碼具有相當的復雜性和行為不確定性,惡意代碼的防范需要多種技術綜合應用,包括惡意代碼監(jiān)測與預警、惡意代碼傳播抑制、惡意代碼漏洞自動修復、惡意代碼阻斷等。基于網絡的惡意代碼防范方法包括:惡意代碼檢測防御和惡意代碼預警。

這些主要是網頁惡意代碼,也就是網頁病毒造成的危害。而用腳本編寫的蠕蟲病毒的危害就更大了,它不再是針對一臺計算機,而是迅速傳播,對網絡上所有計算機造成危害,直至網絡被拖垮最后崩潰。

五、結語

在互聯(lián)網信息化高速發(fā)展的今天,任何軟件在編寫時或多或少都有自己的漏洞,為此我們應該做到:

1)安全設置。我們上網瀏覽時不能抱有僥幸心理,不關心安全設置,認為惡意代碼與我無緣,對最基本的瀏覽器安全設置問題也不關心,從而降低了系統(tǒng)抵御惡意代碼的免疫能力,致使系統(tǒng)在遭遇惡意代碼時不能幸免于難。

2)不瀏覽來歷不明的網站。不要輕易去瀏覽一些來歷不明的網站和下載相關內容。

3)軟件升級,安裝系統(tǒng)補丁。軟件要及時更新版本,尤其是操作系統(tǒng),一定要常“打”補丁常升級。

4)安裝殺毒軟件(防火墻)。安裝并及時將殺毒軟件(防火墻)升級至最新版本,同時開啟實時監(jiān)控功能并不定期殺毒,最大限度地把惡意代碼拒之門外。 本文出自: http://,轉自[星論文網]

避免重復代碼:重復代碼如何處理(僅供參考)

對于每個編碼人員來說,避免重復代碼可能是大家都想做的。對于有一定經驗(對基本的OO原則有一定經驗)的開發(fā)人員來說,大部分情況下都能比較自然地避免重復代碼的問題,寫代碼的時候,感覺有邏輯重復的情況,會很自然的憑感覺經驗做相應的處理和復用。以下是個人經驗,供新手參考。 既然我們在用Java之類的面向對象的語言編碼,那么重復代碼可以大致分為如下兩種情況: 1、類型體系之內(父類型和子類型、子類型之間)存在重復邏輯代碼 2、類型體系之外的重復代碼 【類型體系內的重復代碼處理】 1、如果重復代碼屬于類型本身操作(即應該是以實例方法存在),則很自然的應用重構技巧,公共代碼往上走。如果Sub Type之間有這種重復代碼,把重復代碼遷移到DefaultAdatper中。 2、如果重復代碼不屬于類型本身操作(即應該是以靜態(tài)方法存在),則需要判斷一下這種靜態(tài)代碼的功能使用范圍: A、如果是非常全局性的,例如有關java流的輔助操作,則應該果斷的抽取出來,封裝到一個Utility工具類中,例如可以叫做IOUtil。把這個Utility類放置到非常底層模塊中,這樣上層很多功能模塊中都可以使用,否則可能會導致上層多個模塊中都有類似IOUtil的類,又是重復代碼。1publicclassIOUtil{2/**3 *工具類,不需要產生實例。但是也不需要應用單態(tài)!??!4*/5privateIOUtil(){}67publicstaticInputStreambuildInputSteam(Filefile){//}89//其他公共靜態(tài)操作10} B、如果這種靜態(tài)操作只對本類型體系有意義,則有兩種常用的處理方法:第一種是把這種靜態(tài)方法遷移到基類DefaultAdapter中,但是不要在DefaultAdapter中放置過多的類似靜態(tài)方法;第二種是把這種靜態(tài)方法封裝到一個helper助手類中,例如MyTypeHelper,其中放置了MyType類型體系中需要使用的一些靜態(tài)方法。如果第一種DefaultAdapter中堆放了較多的靜態(tài)方法,則可以用helper助手類的方式。1publicclassMyTypeHelper{2/**3 *助手類,不需要產生實例。但是也不需要應用單態(tài)!?。?*/5privateMyTypeHelper(){}67publicstaticbooleanvalidateParamer(Objectparamer){//}89//其他公共靜態(tài)操作10} 這個helper一般需要和接口、默認適配類一起暴露,便于擴展子類型使用。示意圖如下: 【類型體系之外的重復代碼處理】 類型體系之外的重復代碼處理相對就很簡單了,根據重復代碼功能適用范圍,封裝到對應的Util類或者Helper類中。這里就不細講了~_~ 【有關公用代碼的幾個概念】 個人意見,僅供參考。 助手類(Helper class) :我覺得首先這個類產生的目的是為特定模塊或者特定功能服務的(助手嗎~_~),不是全局的。而且完全可以隱藏在特定模塊內部,很多時候不需要暴露。Helper類的命名要有針對性,不能搞成一個麻辣燙,里面的靜態(tài)操作既為這種功能服務,又為那種功能服務,盡量做個忠臣,不要同時當多個主子的助手。 工具類(Utility class) :一般是全局的,往往有一定普世價值,也就是說往往是全局通用的。 例如你在做一個模塊,這個模塊功能是處理表單,則關于處理表單的一些公用靜態(tài)操作就應該放置到該模塊的一個助手類中,名稱類似于FormProcesserHelper。再有一個導出報表的功能,則對應的助手類可以稱之為ExportReportHelper,建議這兩個helper不要混在一起。有人可能會說,這樣會不會導致大量的助手類呢?這邊有個粒度把握的問題(經驗會發(fā)生作用~_~),但是只要是助手類命名規(guī)范,則一個助手類的名字就基本上可以告訴用戶你提供什么樣的服務了。 假如你現在處理的是有關IO操作的重復代碼,則需要遷移到全局的工具類中,因為這樣的操作往往適應于全局的。 Facade class(門面類) :這個乍看起來和助手類有點像,往往是綁定于特定模塊。但是,要搞清楚,門面類是用來封裝子系統(tǒng)的,代理對模塊常用核心功能的訪問的,針對用戶需要的常用場景提供一些輔助操作,幫助用戶更好的使用此模塊的主要功能。 面向客戶端或者其他子系統(tǒng)或模塊的,不是用來處理對應模塊中重復代碼的 ?。?!有關詳細信息,請參加Facade設計模式的文檔。 【注意】Helper class、Utility class、Facade class一般都不需要生實例,暴露的都是靜態(tài)操作,更不需要誤寫成單態(tài),別濫用單態(tài)!??!后記:: 關于重復代碼的處理,個人以為既需要技巧(別人總結出來的技巧),更需要經驗(經驗往往給你感覺,跟著感覺走一般就不會太離譜~_~)。 希望對開發(fā)新手有作用~_~

重復代碼的危害運行二進制代碼膨脹

重復代碼很容易產生,主要是因為開發(fā)的本質就是復制粘貼,找一段類似的邏輯做一個簡單的額修改就上線了。這樣做在開發(fā)的時候可能沒啥問題,但是一旦重復代碼變多,面對一個簡單的修改修改就要在整個項目中不斷地找,一個個修改,這樣速度和效率不能保證,而且很容易出錯。因而,使用能放棄死代碼的編譯器可以使模板代碼產生更小的二進制

分享標題:java重復代碼的危害 java去重復代碼
URL分享:http://muchs.cn/article28/hhesjp.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、外貿網站建設、自適應網站搜索引擎優(yōu)化、網站制作、用戶體驗

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

h5響應式網站建設