六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

一份ASP內存的釋放的實驗報告

[摘要]實驗目的:驗證主動釋放內存變量是否有價值. 實驗原始代碼: <script language=vbscript runat=server> Dim temp1,temp2 'temp1 = space(1024*1024*50) '50MB for i = 0 to 5...

實驗目的:驗證主動釋放內存變量是否有價值.

實驗原始代碼:

<script language=vbscript runat=server>
Dim temp1,temp2

'temp1 = space(1024*1024*50) '50MB

for i = 0 to 5000000 ' 延遲
next


'temp1="" '開關變量

'temp2 = space(1024*1024*50) '50MB

for i = 0 to 5000000 ' 延遲
next

Response.write "<meta http-equiv='refresh' content='4;url=http://localhost/memory_test.ASP'>"
</script>

內存變化截圖1:


截圖解釋:
CPU的波形變化是由頁面自動刷新引起的,不必在意!我們要觀察的只是內存線的變化.這是原始狀態(tài),內存線保持水平無變化.

好,下面實驗正式開始:

第一步:

把原始代碼中的
'temp1 = space(1024*1024*50) '50MB
前面的注釋號 ' 去掉,改成
temp1 = space(1024*1024*50) '50MB

再觀察內存變化一段時間

內存變化截圖2:


結果:
內存開始出現方波.

第二步:

接著也把
'temp2 = space(1024*1024*50) '50MB
前面的注釋號 ' 去掉,改成
temp2 = space(1024*1024*50) '50MB

內存變化截圖3:


結果:

方波比原來高了一層,成了階梯形.



第三步:

接著也把
'temp1="" '開關變量
前面的注釋號 ' 去掉,改成
temp1="" '開關變量

看看是否能釋放第一個變量所占用的內存空間

內存變化截圖4:


結果:
很明顯,第二個波鋒不見了,看來釋放成功了.

第四步:

我們先把代碼恢復成最初的原始代碼,等內存平穩(wěn)下來后,再把前三步快速做一次,以便在同一個截圖里比較內存的變化情況.

內存變化截圖5:


結果:
可以很清楚的看到三種情況的不同.無倫執(zhí)行時間和內存占用,變量主動釋放都比不被動釋放的好.



第五步:

接著第三步的代碼,把
temp1="" '開關變量

temp2 = space(1024*1024*50) '50MB
改成
'temp1="" '開關變量

temp1 = space(1024*1024*50) '50MB

內存變化截圖6:


結果:
再看下步才給結論吧

第六步:


'temp1="" '開關變量

改成
temp1="" '開關變量


看看結果會不會有所不同

內存變化截圖7:


結果:
用同一個變量名,即使再重新賦值,原來的占用過的空間也得不到釋放或替換,而且等程序被動釋放時,使用的時間也比手動的慢.

下面把
temp1="" '開關變量

temp1 = space(1024*1024*50) '50MB

調換一下兩句的位置
temp1 = space(1024*1024*50) '50MB

temp1="" '開關變量

后的截圖8:


結果:
可以看出主動釋放比被動的所需要的時間要少.

實驗結論:
主動來釋放內存是有作用的,不是某些人所說的要等頁面結束才能釋放掉,或者只是呆等程序結束再自動釋放,而是在執(zhí)行過程中也可以人為控制的.特別是程序中需要調用到幾個大體積的變量時,盡快釋放掉已無用的變量,不但可以減輕服務器的負擔,也可以加快程序的運行.
如果發(fā)現此實驗過程或結論有誤,歡迎指正.

最后,關于用"" ,empty 或 null 來釋放,結果基本是一樣,有興趣的可以自己親自動手比較試試.至于說用哪個來釋放變量更正規(guī)或更有效率,我無法在次實驗中判斷出來,希望知道的朋友來指教.



附:另外一個不大相關實驗

<% %>內是否有內容的區(qū)別(包括注釋)

實驗代碼:

<meta http-equiv='refresh' content='4;url=http://localhost/memory_test.ASP'>
<script language=vbscript runat=server>
Dim temp1,temp2

temp1 = space(1024*1024*50) '50MB

for i = 0 to 5000000 ' 延遲
next

'temp1="" '開關變量

'temp2 = space(1024*1024*50) '50MB

for i = 0 to 5000000 ' 延遲
next


</script>
<%
'
%>



實驗結果:

1.<% %>內無內容,內存不變化

2.<% %>只有一個 ' 號,內存開始變化

改變前后對比圖9:



結果:
<% 與 <script language=vbscript runat=server> 的先后位置無關,但似乎只要 <% %> 內有內容,就會執(zhí)行 <script language=vbscript runat=server></script> 內的代碼.但只要把<script language=vbscript runat=server></script> 替換成 <% %>,就會執(zhí)行<% %>內的代碼,所以以后要注意兩者的混用.

還有,在<script language=vbscript>中的這種頁面腳本,除非頁面被關掉,否則所用過的變量不會像ASP一樣自動清除.可以從下面的代碼得到證實:

<script language=vbscript>
Dim temp
temp = space(1024*1024*50) '50MB
'temp = ""
</script>

注意去掉注釋號前后的內存的占用變化,不再截圖說明.
(出處:Viphot)


主站蜘蛛池模板: 四虎在线视频免费观看视频 | 色在线播放| 日本免费在线观看视频 | 正在播放一区二区 | 青青青在线免费 | 天天躁夜夜躁狠狠躁2021a | 中文字幕一区二区在线视频 | 手机看片福利日韩欧美看片 | 日韩欧美在线观看 | 欧美在线观看一区二区三区 | 亚洲福利精品一区二区三区 | 亚洲乱码一区二区三区国产精品 | 在线观看亚洲一区二区 | 伊人网站视频 | 最新在线观看精品国产福利片 | 最近免费观看高清韩国日本大全 | 全国男人的天堂网 | 日韩免费黄色片 | 日本黄大片 在线播放 | 日韩欧美高清在线观看 | 伊人手机在线观看 | 欧美做真爱免费无遮挡 | 性欧美暴力猛交69hd | 婷婷月| 天天干天天碰 | 亚洲国产成人资源在线桃色 | 日夜夜操 | 一级毛片视频 | 午夜久 | 亚洲人成自拍网站在线观看忄 | 特黄大片aaaaa毛片 | 日本动态120秒免费 日本叼嗨 | 五月婷婷久久综合 | 青娱乐最新官网 | 日韩高清在线免费观看 | 青青青国产成人久久111网站 | 人九九精品 | 天天干天天色天天射 | 色婷婷六月丁香在线观看 | 日韩在线一 | 欧美视频日韩视频 |