解決myeclipse building workspace 緩慢的終極方法
今天上午myeclipse8.5突然出現building workspace 緩慢,每次保存都出現,每次等待一分鐘左右,都崩潰了。。在網上搜索了很多辦法試,都沒有達到想要的效果。最后myeclipse新建一個工作空間,只存放這個項目,運行啟動后正常了。
posted @ 2013-11-06 15:24 一堣而安 閱讀(450) | 評論 (0) | 編輯 收藏
posted @ 2013-11-06 15:24 一堣而安 閱讀(450) | 評論 (0) | 編輯 收藏
buiding workspace 加載卡的我都不行了, 郁悶啊!!! 網上許多的朋友 都說優化下
myeclipse 就行了!
是的優化了之后 速度是加快了不少 ,可是還是沒有找到解決問題的根本辦法,
有的朋友說 關閉 Progect 中的 Build auto…… 勾去掉就行了! 是的去掉之后又會出現一
些問題,
什么呢? 所有更新的代碼都不能及時的編譯; 每次都需要手動的去編譯(這樣更麻煩了)。
其實 buiding workspace 就是將我們所寫的代碼及時的進行編譯;
說了這么多的廢話: 看看如何做吧 ---希望對困擾的 童鞋們 有所幫助
1: 選擇菜單欄中的progect里的properties(如果properties不顯示就是為灰色,首先 buildall或buildprogect )
2: 1完成之后再去properties 將validation和javascriptValidator 去掉就行了!
3:有時候我們的項目過多也會增大buiding workspace的時間, 關閉不必要的項目;
4:progect 中cliean 中選擇 Clean progects selected below 指定項目;
這種辦法多我來說沒有什么問題 ---!對你!! 如果不行的話 --建議再到網上找找
有關有關問題補充
有時候可能buildall 可能也很慢
可以先選取一個項目--然后在進行 progect 中的屬性值;
posted @ 2013-11-06 14:09 一堣而安 閱讀(277) | 評論 (0) | 編輯 收藏
1.丟棄小數部分,保留整數部分
js:parseInt(7/2)
2.向上取整,有小數就整數部分加1
js: Math.ceil(7/2)
3,四舍五入.
js: Math.round(7/2)
4,向下取整
js: Math.floor(7/2)
詳細出處參考:http://www.jb51.net/article/23398.htm
posted @ 2013-10-30 14:29 一堣而安 閱讀(214) | 評論 (0) | 編輯 收藏
posted @ 2013-10-30 14:26 一堣而安 閱讀(185) | 評論 (0) | 編輯 收藏
通過for...in...遍歷一個對象實例的所有屬性,只有基本類型的屬性值會顯示出來,如果一個對象的屬性是object則提示的是此屬性的類型,可以使用嵌套的for...in...語句實現完全遍歷。
posted @ 2013-10-29 11:36 一堣而安 閱讀(220) | 評論 (0) | 編輯 收藏
原文:
http://fuleonardo.iteye.com/blog/339749
第一次發現JavaScript中replace() 方法如果直接用str.replace("-","!") 只會替換第一個匹配的字符.
而str.replace(/\-/g,"!")則可以全部替換掉匹配的字符(g為全局標志)。
replace()
The replace() method returns the string that results when you replace text matching its first argument
(a regular expression) with the text of the second argument (a string).
If the g (global) flag is not set in the regular expression declaration, this method replaces only the first
occurrence of the pattern. For example,
var s = "Hello. Regexps are fun.";s = s.replace(/\./, "!"); // replace first period with an exclamation pointalert(s);
produces the string “Hello! Regexps are fun.” Including the g flag will cause the interpreter to
perform a global replace, finding and replacing every matching substring. For example,
var s = "Hello. Regexps are fun.";s = s.replace(/\./g, "!"); // replace all periods with exclamation pointsalert(s);
yields this result: “Hello! Regexps are fun!”
所以可以用以下幾種方式.:
string.replace(/reallyDo/g, replaceWith);
string.replace(new RegExp(reallyDo, 'g'), replaceWith);
string:字符串表達式包含要替代的子字符串。
reallyDo:被搜索的子字符串。
replaceWith:用于替換的子字符串。
posted @ 2013-10-11 19:55 一堣而安 閱讀(1621) | 評論 (0) | 編輯 收藏
程序員天生都是內聚的高手,違反高內聚的反而是那些有一定水平的程序員,可能是誤用了設計模式,可能是考慮問題過分全面,把一個功能單一的類分割成多個類。這里重點說低耦合,耦合就是類之間的互相調用關系,如果耦合很強,互相牽扯調用很多,那么會牽一發而動全身,不利于維護和擴展。什么方法、數據、不加分析地往一個類里整,甚至時一個類的所有數據成員設成public,方便在其它類里直接修改數據。生活中很多“低耦合”的例子,如床與床單,如果是緊耦合的話,換床單時,也要換床。再如桌子與抽屜。
圖中的上半部分中,把一個軟件模塊抽象成線條,軟件模塊互相依賴,這是一種面向過程的開發方式,如果軟件是不改變的,那么這種高耦合度的結構也無可厚非,有時象底層軟件如操作系統等,一切以執行效率優先,而且需求并不改變頻繁的情況下,是適用的。但在實際開發過程中,軟件需求的變化是導致這種模式被否定的真正原因。一旦有一個模塊改變,那么需要改動到其它好幾個模塊,而且更要命的時,被影響的模塊又會影響其它模塊,或者干脆又把影響力傳遞給當初最先改動的模塊。
下圖中的模塊結構通過梳理,使他們依附于一條粗線條,它是主邏輯模塊,是相對穩定的高層的、抽象的模塊。而其它通過一個小空心圓點(表示接口)與粗線條進行連接的小短線條代表次模塊,它被分成兩個部分,接口和實現接口的子類對象,它們通過接口與主邏輯模塊形成依賴。相對來說,次模塊變化較快,而主模塊變化較慢。剛才提到的生活例子中,床相對于床單來說是主要的,核心的,成本較高的,它的使用年限是10年,而床單使用年限是2年,就是說床的模塊變化速度慢于床單的變化速度,如果床2個月變一次,那么邏輯結構就混亂了。床為床單提供了一個尺寸接口,床單只要符合這個接口,就可以組合使用。那么這個接口就必須是相對穩定的。
設計模式做為軟件開發過程中一種創造性的總結思維,使軟件開發人員,在開發軟件產品時,有了更加明確的軟件解耦的思路,設計模式來源于生活,卻指導于軟件。事實上,短期來看,要求低耦合并沒有很明顯的好處,因為利用設計模式來解決問題是需要軟件開發的智力和時間成本的。況且引入了誤用設計模式的風險,所以短期內使用設計模式來解耦反而會影響系統的開發進度。低耦合的好處是長期回報的,體現在系統持續發展的過程中,系統具有更好的重用性,維護性,擴展性,持續的支持業務的發展,而不會成為業務發展的障礙。
posted @ 2013-10-09 09:16 一堣而安 閱讀(277) | 評論 (0) | 編輯 收藏
left join的困惑:一旦加上where條件,則顯示的結果等于inner join
將where 換成 and
用where 是先連接然后再篩選
用and 是先篩選再連接
數據庫在通過連接兩張或多張表來返回記錄時,都會生成一張中間的臨時表,然后再將這張臨時表返回給用戶。
在使用left jion時,on和where條件的區別如下:
1、 on條件是在生成臨時表時使用的條件,它不管on中的條件是否為真,都會返回左邊表中的記錄。
2、where條件是在臨時表生成好后,再對臨時表進行過濾的條件。這時已經沒有left
join的含義(必須返回左邊表的記錄)了,條件不為真的就全部過濾掉。
假設有兩張表:
表1 tab1:
id size
1 10
2 20
3 30
表2 tab2:
size name
10 AAA
20 BBB
20 CCC
兩條SQL:
1、select * form tab1 left join tab2 on (tab1.size = tab2.size)
where tab2.name=’AAA’
2、select * form tab1 left join tab2 on (tab1.size =
tab2.size and tab2.name=’AAA’)
第一條SQL的過程:
1、中間表
on條件:
tab1.size = tab2.size
tab1.id tab1.size tab2.size tab2.name
1 10 10 AAA
2 20 20 BBB
2 20 20 CCC
3 30 (null) (null)
2、再對中間表過濾
where 條件:
tab2.name=’AAA’
tab1.id tab1.size tab2.size tab2.name
1 10 10 AAA
第二條SQL的過程:
1、中間表
on條件:
tab1.size = tab2.size and
tab2.name=’AAA’
(條件不為真也會返回左表中的記錄)
tab1.id tab1.size tab2.size tab2.name
1 10 10 AAA
2 20 (null) (null)
3 30 (null) (null)
其實以上結果的關鍵原因就是left join,right join,full
join的特殊性,不管on上的條件是否為真都會返回left或right表中的記錄,full則具有left和right的特性的并集。 而inner
jion沒這個特殊性,則條件放在on中和where中,返回的結果集是相同的。
posted @ 2013-09-23 16:09 一堣而安 閱讀(282) | 評論 (0) | 編輯 收藏
posted @ 2013-09-23 11:10 一堣而安 閱讀(356) | 評論 (0) | 編輯 收藏
http://blog.chinaunix.net/uid-22414998-id-2892370.html
http://www.jb51.net/web/36856.html
定義和用法
<!DOCTYPE> 聲明位于文檔中的最前面的位置,處于 <html> 標簽之前。此標簽可告知瀏覽器文檔使用哪種 HTML 或 XHTML 規范。
該標簽可聲明三種 DTD 類型,分別表示嚴格版本、過渡版本以及基于框架的 HTML 文檔。
以下面這個 <!DOCTYPE> 標簽為例:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">在上面的聲明中,聲明了文檔的根元素是 html,它在公共標識符被定義為 "-//W3C//DTD XHTML 1.0 Strict//EN" 的 DTD 中進行了定義。瀏覽器將明白如何尋找匹配此公共標識符的 DTD。如果找不到,瀏覽器將使用公共標識符后面的 URL 作為尋找 DTD 的位置。
posted @ 2013-07-19 15:29 一堣而安 閱讀(206) | 評論 (0) | 編輯 收藏