版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、Java從入門到精通讀書筆記—c程序員學java第一章:2分鐘看完,老生常談,即使沒怎么用過java也知道這些。第二章:1.instanceof應該是c中沒有的,c使用RTTI解決這個問題的,很難用。2.super這種引用父類的方法也是比較簡單的,C中是用父類名::父類方法()解決的,有點難看。3.自動類型轉換和C一樣,精度變高的隨便轉,精度變低的會丟失。4.強制類型轉換只有(type)這一種,不像c有static_cast、dynam
2、ic_cast、reinterpret_cast、和const_cast。5.運算符什么的和c幾乎一模一樣。半小時看完。第三章:1.break可以跳出語句塊,c中沒有語句塊。語句塊的定義就是在一段語句前加上花括號和冒號;其他基本上和c一樣,5分鐘看完。第四章:1.java數(shù)組越界會在運行時拋異常,c不會,聲明數(shù)組的方法也有些不一致。java聲明數(shù)組的所有辦法int[]a=newint[4]inta[]=newint[4]int[]a=1
3、1526inta[]=115262.java的數(shù)組是一個對象,自帶length屬性,使用簡單。c的數(shù)組不自帶方法和屬性,要知道數(shù)組長度只能sizeof(arrayObject)sizeof(int)。當然如果使用STL中的vect之類的也和java一樣簡單。3.java的所謂數(shù)組賦值(或者叫數(shù)組拷貝)其實就是c中的兩個數(shù)組指針的賦值,java沒有指針,所以作者費了一大堆口水。好在java有垃圾回收,要不然一個指針的內(nèi)存就算泄露了。至于真
4、正的數(shù)組內(nèi)容賦值,是使用System.arraycopy(irsrcPosirdestPoslength)而C一般使用memcpy等函數(shù)。若使用STL中的vect,那么就看vect的拷貝構造函數(shù)怎么寫的,應該是vect的對象賦值過去而不是指針指過去。4.重溫了冒泡排序(時間復雜度O(n2)),和快速排序(最壞情況的時間復雜度為O(n2),最好情況時間復雜度為O(nlog2n))。5.FEach語法被引入java了,在很多地方用起來真是簡
5、單。Python和c#早就支持了,c中雖然STL的algithm包中引入了f_each,但是由于需要使用函數(shù)指針還是略顯繁4.java的內(nèi)部類和c差不多,都沒人關心,最多懶得想名字的時候用用那個匿名內(nèi)部類(例如什么UI的響應函數(shù))。5.java的對象克隆,吹了一堆就是個c中的拷貝構造函數(shù)。所謂什么“淺克隆、深克隆”問題,就是c中拷貝構造是遇上類中定義了指針的問題。C程序員一望即知。接口是為了維護單繼承機制弄出來的,花半小時看看還是值得的
6、。第八章:面向對象編程C程序員不用看。第九章:異常處理1.java的異常處理中有finally語句塊,而c中沒有,所以程序員要自己想辦法來處理異常發(fā)生后諸如“資源釋放”之類的問題;第十章:線程1.java語言自帶線程機制,c目前還是不帶線程機制的。雖然boost::thread庫也被眾多c程序員廣泛使用。但是windows下用得最多的還是windowsSDK自帶的線程函數(shù);而linux下用得最多的還是pthread。另外還有一些號稱同時
7、支持多個平臺的多線程庫。2.java多線程有兩種方法實現(xiàn),第一是派生Thread類,第二種是實現(xiàn)Runnable接口。3.java線程分為4種狀態(tài):new、runnable、nonrunnable和done,這和其他線程庫大同小異;4.run、start、stop、sleep、suspend、resume、yield、wait、notify和notifyall等方法的含義也和其他線程庫一致。但suspend、resume和stop等方法
8、是不建議使用的,因為可能會導致死鎖。5.java可使用join方法來等待線程結束,而在某些線程庫中join方法經(jīng)常是不可用的。6.java的互斥使用synchonized關鍵字實現(xiàn),它很類似于boost.thread中的lock(mutex),只不過它是對線程對象隱含的鎖加鎖。其實這很不利于新手理解。另外還介紹了synchonized的一些亂七八糟的用法,相信對于新手這只有反作用。這一章對于線程,介紹得比較淺顯,實現(xiàn)簡單的多線程應該沒問
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論