<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    2017年9月1日

    jdk升級 -version 查看還是老版本

    解決:刪除system32下的3個java*.exe文件

    posted @ 2017-09-01 11:45 朝陽zzz 閱讀(263) | 評論 (0)編輯 收藏

    2014年7月4日

    struts2

    一、DIM 
    例子:actionName!methodName.action
    動態方法調用(Dynamix Method Invocation,DMI)是在action的名字中使用感嘆號來表示要調用的方法名

    DMI可能會帶來安全隱患
    和普通方法的區別:
    如果同一個action的不同方法使用的是相同的配置(同樣的攔截器引用,同樣的result映射),可以使用DMI,相反用普通方法

    posted @ 2014-07-04 14:58 朝陽zzz 閱讀(115) | 評論 (0)編輯 收藏

    2013年12月9日

    integer和int比較的一些淺析

    Integer是int的封裝對象,兩個對象==比較的是棧的值
    Integer a = new Integer(1);
    Integer b = new Integer(1);
    a與b存的是Integer的堆中的地址,而不是值
    a、b指向堆中的地址顯然不同所以 a==b 為false

    int c = 1; int為值類型引用類型Integer與值類型int比較顯然比較的是值
    因為int在堆中是不開辟內存的,他在棧中的值則為他本身的值
    所以a==c比較的是他們各自的value, a==c為true

    Integer e=1; 這個比較特殊,直接賦值 它有獨立的內存,每次賦值時將檢查內存中是否有值跟他匹配的,若有則把此內存地址付給e,若沒有,開辟新的內存

    你可以嘗試下面的例子:
    Integer t = 1;
    Integer t1 = 1;
    t==t1 為true,如上所說,此時t與t1指向的是同一塊內存

    new 一定是開辟新的內存,直接賦值則不一定開辟新的內存
    因為a的引用指向堆,而e指向專門存放他的內存,所以他們的內存地址不一樣
    所以a==e為false

    c==e等同于 a==c,一個引用類型一個值類型

    posted @ 2013-12-09 10:47 朝陽zzz 閱讀(196) | 評論 (0)編輯 收藏

    2011年10月25日

    Java軟件架構師值得一試的“武功秘籍”

    作為Java程序員來說,最痛苦的事情莫過于可以選擇的范圍太廣,可以讀的書太多,往往容易無所適從。我想就我自己讀過的技術書籍中挑選出來一些,按照學習的先后順序,推薦給大家,特別是那些想不斷提高自己技術水平的Java程序員們。

      一、Java編程入門類

      對于沒有Java編程經驗的程序員要入門,隨便讀什么入門書籍都一樣,這個階段需要你快速的掌握Java基礎語法和基本用法,宗旨就是“囫圇吞棗不求甚解”,先對Java熟悉起來再說。用很短的時間快速過一遍Java語法,連懵帶猜多寫寫代碼,要“知其然”。

      1、《Java編程思想》

      在有了一定的Java編程經驗之后,你需要“知其所以然”了。這個時候《Java編程思想》是一本讓你知其所以然的好書,它對于基本的面向對象知識有比較清楚的交待,對Java基本語法,基本類庫有比較清楚的講解,可以幫你打一個良好的Java編程基礎。這本書的缺點是實在太厚,也比較羅嗦,不適合現代人快節奏學習,因此看這本書要懂得取舍,不是每章每節都值得一看的,挑重點的深入看就可以了。

      2、《Agile Java》中文版

      這本書是出版社送給我的,我一拿到就束之高閣,放在書柜一頁都沒有翻過,但是前兩天整理書柜的時候,拿出來一翻,竟然發現這絕對是一本好書!這本書一大特點是以單元測試和TDD來貫穿全書的,在教你Java各種重要的基礎知識的過程中,潛移默化的影響你的編程思維走向敏捷,走向TDD。另外這本書成書很新,以JDK5.0的語法為基礎講解,要學習JDK5.0的新語法也不錯。還有這本書對于內容取舍也非常得當,Java語言畢竟類庫龐大,可以講的內容太多,這本書選擇的內容以及內容的多寡都很得當,可以讓你以最少的時間掌握Java最重要的知識,順便培養出來優秀的編程思路,真是一本不可多得的好書。

      雖然作者自己把這本書定位在入門級別,但我不確定這本書用來入門是不是稍微深了點,我自己也準備有空的時候翻翻這本書,學習學習。

      二、Java編程進階類

      打下一個良好的Java基礎,還需要更多的實踐經驗積累,我想沒有什么捷徑。有兩本書值得你在編程生涯的這個階段閱讀,培養良好的編程習慣,提高你的代碼質量。

      1、《重構 改善既有代碼的設計》

      這本書名氣很大,不用多介紹,可以在閑暇的時候多翻翻,多和自己的實踐相互印證。這本書對你產生影響是潛移默化的。

      2、《測試驅動開發 by Example》

      本書最大特點是很薄,看起來沒有什么負擔。你可以找一個周末的下午,一邊看,一邊照做,一個下午就把書看完,這本書的所有例子跑完了。這本書的作用是通過實戰讓你培養TDD的思路。

      三、Java架構師之路

      到這個階段,你應該已經非常嫻熟的運用Java編程,而且有了一個良好的編程思路和習慣了,但是你可能還缺乏對應用軟件整體架構的把握,現在就是你邁向架構師的第一步。

      1、《Expert One-on-One J2EE Design and Development》

      這本書是Rod Johnson的成名著作,非常經典,從這本書中的代碼誕生了springframework。但是好像這本書沒有中譯本。

      2、《Expert One-on-One J2EE Development without EJB》

      這本書由gigix組織翻譯,多位業界專家參與,雖然署名譯者是JavaEye,其實JavaEye出力不多,實在是忝居譯者之名。

      以上兩本書都是Rod Johnson的經典名著,Java架構師的必讀書籍。在我所推薦的這些書籍當中,是我看過的最仔細,最認真的書,我當時讀這本書幾乎是廢寢忘食的一氣讀完的,有小時候挑燈夜讀金庸武俠小說的勁頭,書中所講內容和自己的經驗知識一一印證,又被無比精辟的總結出來,讀完這本書以后,我有種被打通經脈,功力爆增的感覺。

      但是后來我看過一些其他人的評價,似乎閱讀體驗并沒有我那么high,也許是因為每個人的知識積累和經驗不同導致的。我那個時候剛好是經驗知識積累已經足夠豐富,但是還沒有系統的整理成型,讓這本書一梳理,立刻形成完整的知識體系了。

      3、《企業應用架構模式》

      Martin的又一本名著,但這本書我只是泛泛的看了一遍,并沒有仔細看。這本書似乎更適合做框架的人去看,例如如果你打算自己寫一個ORM的話,這本書是一定要看的。但是做應用的人,不看貌似也無所謂,但是如果有空,我還是推薦認真看看,會讓你知道框架為什么要這樣設計,這樣你的層次可以晉升到框架設計者的角度去思考問題。Martin的書我向來都是推崇,但是從來都沒有像Rod Johnson的書那樣非常認真去看。

      4、《敏捷軟件開發原則、模式與實踐》

      Uncle Bob的名著,敏捷的經典名著,這本書比較特別,與其說是講軟件開發過程的書,不如說講軟件架構的書,本書用了很大篇幅講各種面向對象軟件開發的各種模式,個人以為看了這本書,就不必看GoF的《設計模式》了。

      四、軟件開發過程

      了解軟件開發過程不單純是提高程序員個人的良好編程習慣,也是增強團隊協作的基礎。

      1、《UML精粹》

      UML其實和軟件開發過程沒有什么必然聯系,卻是軟件團隊協作溝通,撰寫軟件文檔需要的工具。但是UML真正實用的圖不多,看看這本書已經足夠了,完全沒有必要去啃《UML用戶指南》之類的東西。要提醒大家的是,這本書的中譯本翻譯的非常之爛,建議有條件的看英文原版。

      2、《解析極限編程 擁抱變化》XP

      這是Kent Beck名著的第二版,中英文對照。沒什么好說的,必讀書籍。

      3、《統一軟件開發過程》UP

      其實UP和敏捷并不一定沖突,UP也非常強調迭代,測試,但是UP強調的文檔和過程驅動卻是敏捷所不取的。不管怎么說,UP值得你去讀,畢竟在中國真正接受敏捷的企業很少,你還是需要用UP來武裝一下自己的,哪怕是披著UP的XP。

      4、《敏捷建模》AM

      Scott Ambler的名著,這本書非常的progmatic,告訴你怎么既敏捷又UP,把敏捷和UP統一起來了,又提出了很多progmatic的建議和做法。你可以把《解析極限編程擁抱變化》、《統一軟件開發過程》和《敏捷建模》這三本書放在一起讀,看XP和UP的不同點,再看AM是怎么統一XP和UP的,把這三種理論融為一爐,形成自己的理論體系,那么你也可以去寫書了。

      五、軟件項目管理

      如果你突然被領導提拔為項目經理,而你完全沒有項目管理經驗,你肯定會心里沒底;如果你覺得自己管理項目不善,很想改善你的項目管理能力,那么去考PMP肯定是遠水不解近渴的。

      1、《快速軟件開發》

      這也是一本名著。可以這樣說,有本書在手,你就有了一個項目管理的高級參謀給你出謀劃策,再也不必擔心自己不能勝任的問題了。這本書不是講管理的理論的,在實際的項目管理中,講這些理論是不解決問題的,這本書有點類似于“軟件項目點子大全”之類的東西,列舉了種種軟件項目當中面臨的各種問題,以及應該如何解決問題的點子,你只需要稍加變通,找方抓藥就行了。

      六、總結

      在這份推薦閱讀書籍的名單中,我沒有列舉流行的軟件框架類學習書籍,例如Struts,Hibernate,Spring之類,也沒有列舉AJAX方面的書籍。是因為這類書籍容易過時,而上述的大半書籍的生命周期都足夠長,值得你去購買和收藏。


    原文出處:http://www.webspherechina.net/club/thread-17683-1-1.html

    posted @ 2011-10-25 11:42 朝陽zzz 閱讀(249) | 評論 (0)編輯 收藏

    2011年7月25日

    關于myeclipse8.5工作區變為默認的處理辦法(經測試可行)

    今天早上突然myeclipse8.5打開的時候默認到了c盤工作區,怎么都不能像以前那樣選擇,然后在網上找了一些方法,修改配置文件什么的,都不行,最后終于找到一個方法,貼出來和大家分享下:
    1.在myeclipse下創建一個快捷方式到桌面
    2.在桌面上的快捷方式右鍵屬性,在地址那欄后面添加一個-clean,例如:
    "D:/Program Files/MyEclipse8.0/myeclipse.exe" -clean
    3.打開快捷方式,ok!回到以前選擇工作區的樣子了!

    posted @ 2011-07-25 16:42 朝陽zzz 閱讀(449) | 評論 (1)編輯 收藏

    2011年7月19日

    java內存管理的8個小技巧

    1.         盡量使用直接量

    這個大家應該清楚,所以只做簡訴:
    String str = "hello";
    上面這種方式會創建一個“hello”字符串,而且JVM的字符緩存池還會緩存這個字符串;
    String str = new String("hello");
    此時程序除創建字符串外,str所引用的String對象底層還包含一個char[]數組,這個char[]數組依次存放了h,e,l,l,o

    2.         使用StringBuilder和StringBuffer進行字符串連接

    這個我就不多講了,用String做連接時會生成大量臨時字符串

    3.         盡早釋放無用對象的引用

    大部分時,方法局部引用變量所引用的對象 會隨著方法結束而變成垃圾,因此,大部分時候程序無需將局部,引用變量顯式設為null

             例如:

             Public void test(){

                       Object obj = new Object();

                       ……

                       Obj=null;

    }

    上面這個就沒必要了,隨著方法test()的執行完成,程序中obj引用變量的作用域就結束了。但是如果是改成下面:

    Public void test(){

                       Object obj = new Object();

                       ……

                       Obj=null;

                       //執行耗時,耗內存操作;或調用耗時,耗內存的方法

                       ……

    }

    這時候就有必要將obj賦值為null,可以盡早的釋放對Object對象的引用。

    4.         盡量少用靜態變量

    當某個對象被static變量所引用,那么GC通常是不會回收這個對象所占的內存。如下:

    Class Person{

             static Object obj = new Object();

    }

    對于上面的對象而言,obj變量的生命周期與Person類同步,在其不被卸載的情況下,其對應的Class對象會常駐內存,知道程序結束。

    5.         避免在經常調用的方法、循環中創建java對象

    6.         緩存經常使用的對象

    這里首先說一個實現緩存時常有的兩種方式:

    使用HashMap進行緩存

    直接使用某些開源的緩存項目

    如果是第一種,程序員需要手動控制HashMap容器里key-value對不至于太多,從而導致其占用過大的內存,致使系統性能下降。

    而第二種多使用一些緩存算法,提高系統運行效率,例如OSCache,Ehcache等,它們大都實現了FIFO\MRU等常見的緩存算法。

    7.         盡量不要使用finalize方法

    實際上,將資源清理放在finalize方法中完成是非常不好的選擇,由于GC的工作量很大,尤其是回收Young代內存時,大都會引起應用程序暫停,所以再選擇使用finalize方法進行資源清理,會導致GC負擔更大,程序運行效率更差。

    8.         考慮使用SoftReference

    當程序需要創建長度很大的數組時,可以考慮使用SoftReference來包裝數組元素

    SoftReference是個很好的選擇,當內存足夠時,它的功能等同于普通引用,當內存不足時,它會犧牲自己,釋放軟引用所引用的對象。例如創建一個長度為100000Person數組。

    注意:在使用軟引用來引用對象時不要忘記軟引用的不確定性,程序通過軟引用所獲取的對象有可能為null(內存緊張時)。所以當應用程序取出SoftReference所引用的java對象之后,應該顯式判斷該對象死后為null,為null時,應該重建對象。

    總結:這只是在學習過程中的一些筆記,希望大家多溝通,共同進步

    posted @ 2011-07-19 12:27 朝陽zzz 閱讀(361) | 評論 (0)編輯 收藏

    2011年7月18日

    java垃圾回收學習總結

         摘要:     當一個開發者真正了解JVM在java內存回收實現之后,其開發出來的程序將可以更加高效,可以更充分地利用有限的內存,更快地釋放那些無用java對象所占用的內存,并避免java程序的內存泄露。1.Java垃圾回收器概述    程序員需要通過關鍵字new創建java對象,即可視為java對象申請內存空間,JVM會再堆內存中為每個對象分配空間,當一個java...  閱讀全文

    posted @ 2011-07-18 14:18 朝陽zzz 閱讀(793) | 評論 (0)編輯 收藏

    僅列出標題  
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導航

    統計

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    文章分類

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲精品你懂的在线观看| 在线亚洲精品自拍| 亚洲 欧洲 视频 伦小说| 色猫咪免费人成网站在线观看| 国产偷v国产偷v亚洲高清| 九九免费精品视频在这里| 亚洲真人日本在线| 一级做a爱过程免费视频高清| 久久久久亚洲AV成人网| 久久国产精品免费| 午夜亚洲AV日韩AV无码大全| 无码精品人妻一区二区三区免费看| 久久精品亚洲综合一品| 啦啦啦完整版免费视频在线观看| 亚洲黄色在线观看| 国产福利在线免费| 国产亚洲精品AAAA片APP| 亚洲精品无码久久不卡| 免费无码又爽又刺激网站| 亚洲黄色在线观看| 女人18毛片水最多免费观看| 免费看黄网站在线看 | 亚洲美女视频一区二区三区| 国产在线观看麻豆91精品免费| 日韩亚洲人成在线| 亚洲国产精品人人做人人爽| 国产在线观看免费av站| 亚洲婷婷在线视频| 免费人成激情视频| 男人的天堂网免费网站| 亚洲第一男人天堂| 亚洲人成网站在线观看青青| 在线免费观看国产| 亚洲日韩在线中文字幕综合 | 国产又黄又爽胸又大免费视频| 久久亚洲精精品中文字幕| 最新中文字幕免费视频| 久久九九久精品国产免费直播| 337p日本欧洲亚洲大胆艺术| 四虎影视在线永久免费看黄| 久久综合给合久久国产免费|