導航:首頁 > 源碼編譯 > java泛型編譯原理

java泛型編譯原理

發布時間:2024-12-29 18:04:45

1. C++語言的原理是什麼

C++是面向對象的高級語言,具有高級語言的特性,所以樓主的問題可以理解為「高級程序語言的原理是什麼?"而討論高級程序設計語言的原理的書一般叫《編譯原理》所以樓主可以嘗試看看有關編譯原理的書。
其實高級程序設計語言最終都是要被反編譯成為匯編語言代碼的,而匯編語言代碼又要被翻譯為二進制代碼。大概就是這樣的。
編譯原理所討論的主要內容是:
1.詞法分析
2.語法分析
3.語義分析
4.中間代碼生成(即生成匯編代碼)
5.代碼優化(去掉一些不必要的指令)
6.目標代碼生成(即二進制文件)

2. java軟體工程師主要學習哪些課程

Java軟體工程師應學習課程大致如下:
1、軟體技術基礎、java基礎編程、java語法,SQL Server 2005基礎編程、C#基礎編程;
2、SQL server 高級編程、網頁設計與製作、javascrit編程、java高級編程、java web開發商務網站;
3、資料庫:MySql、Oracle、DB2;
4、JDBC Java資料庫連接。使用Java程序操作資料庫。這部分非常重要。幾乎所有的企業項目都會用到;
5、HTML、CSS、Java scrit。 HTML-(Hyer Text Mark-u Language)超文本標記語言。CSS -(Cascading Style Sheets)層疊樣式表。 JavaScrit-是一種由Netsce的Live Scrit發展而來的腳本語言;
6、學習如何使用及管理WEB伺服器,例如tomcat,並且知道如何在其基礎上擴展和維護WEB程序,如何使用它的附加服務,如連接池;

3. 如何自學編程

要熟悉編程範式,尤其是面向過程及面向對象這兩種;要廣泛閱讀,多用編譯器及IDE(網上有許多免費的)練習編程。
選擇一種編程語言。初學者一定要從主流語言開始學習,比如中級語言C和C++。這兩種語言是任何一名合格、專業的程序員都必須掌握的,因為它們稱得上是軟體開發界的主流。
但是最好不要從高級語言開始學,如Java,因為這些語言對於初學者來說難度未免太高(高級語言可以以後再學,但是C語言和C++應該作為你的基礎)。
然而對於完完全全的門外漢的來說,可能C和C++都有點困難,那麼你也可以從Python開始學,這種語言被大家廣泛認為是適合初學者的。

4. 如何正確掌握Java的學習方法

作為掌握了JAVA技術,將來准備成為Java軟體工程師的人來說,要想成為JAVA工程師肯定要學習JAVA。一般的程序員或許只需知道一些JAVA的語法結構就可以應付了。但要成為高級JAVA工程師,我們需要對JAVA做比較深入的研究。為大家總結了以下三個方面的學習方法:
一、軟體開發學習路線。兩千多年的儒家思想孔孟之道,中庸的思想透入骨髓,既不冒進也不保守並非中庸之道,而是找尋學習軟體開發的正確路線與規律。從軟體開發人員的生涯規劃來講,我們可以大致分為三個階段,軟體工程師→軟體設計師→架構設計師或項目管理師。不想當元帥的士兵不是好士兵,不想當架構設計師或項目管理師的程序員也不是好的程序員。我們應該努力往上走。讓我們先整理一下開發應用軟體需要學習的主要技術。
A.基礎理論知識,如操作系統、編譯原理、數據結構與演算法、計算機原理等,它們並非不重要。如不想成為計算機科學家的話,可以採取「用到的時候再來學」的原則。
B.一門編程語言,現在基本上都是面向對象的語言,JAVA/C++/C#等等。如果做WEB開發的話還要學習HTML/Jav**ript等等。
C.一種方法學或者說思想,現在基本都是面向對象思想(OOA/OOD/設計模式)。由此而衍生的基於組件開發CBD/面向方面編程AOP等等。
D.一種關系型資料庫,ORACLE/SqlServer/DB2/MySQL等等。
E.一種提高生產率的IDE集成開發環境JBuilder/Eclipse/VS.NET等。
F.一種UML建模工具,用ROSE/VISIO/鋼筆進行建模。
G.一種軟體過程,RUP/XP/CMM等等,通過軟體過程來組織軟體開發的眾多活動,使開發流程專業化規范化。當然還有其他的一些軟體工程知識。
H.項目管理、體系結構、框架知識。
正確的路線應該是:B→C→E→F→G→H。
還需要補充幾點:
1、對於A與C要補充的是,我們應該在實踐中逐步領悟編程理論與編程思想。新技術雖然不斷涌現,更新速度令人眼花燎亂霧里看花;但萬變不離其宗,編程理論與編程思想的變化卻很慢。掌握了編程理論與編程思想你就會有撥雲見日之感。面向對象的思想在目前來講是相當關鍵的,是強勢技術之一,在上面需要多投入時間,給你的回報也會讓你驚喜。
2、對於資料庫來說是獨立學習的,這個時機就由你來決定吧。
3、編程語言作為學習軟體開發的主線,而其餘的作為輔線。
4、軟體工程師著重於B、C、E、D;軟體設計師著重於B、C、E、D、F;架構設計師著重於C、F、H。
二、JAVA學習路線。
1、基礎語法及JAVA原理。基礎語法和JAVA原理是地基,地基不牢靠,猶如沙地上建摩天大廈,是相當危險的。學習JAVA也是如此,必須要有扎實的基礎,你才能在J2EE、J2ME領域游刃有餘。參加SCJP(SUN公司認證的JAVA程序員)考試不失為一個好方法,原因之一是為了對得起你交的1200大洋考試費,你會更努力學習,原因之二是SCJP考試能夠讓你把基礎打得很牢靠,它要求你跟JDK一樣熟悉JAVA基礎知識;但是你千萬不要認為考過了SCJP就有多了不起,就能夠獲得軟體公司的青睞,就能夠獲取高薪,這樣的想法也是很危險的。獲得「真正」的SCJP只能證明你的基礎還過得去,但離實際開發還有很長的一段路要走。
2、特定API的學習。JAVA介入的領域很廣泛,不同的領域有不同的API,沒有人熟悉所有的API,對一般人而言只是熟悉工作中要用到的API。如果你做界面開發,那麼你需要學習Swing/AWT/SWT等API;如果你進行網路游戲開發,你需要深入了解網路API/多媒體API/2D3D等;如果你做WEB開發,就需要熟悉Servlet等API啦。總之,需要根據工作的需要或你的興趣發展方向去選擇學習特定的API。
3、開發工具的用法。在學習基礎語法與基本的面向對象概念時,從鍛煉語言熟練程度的角度考慮,我們推薦使用的工具是Editplus/JCreator+JDK,這時候不要急於上手JBuilder/Eclipse等集成開發環境,以免過於關注IDE的強大功能而分散對JAVA技術本身的注意力。過了這一階段你就可以開始熟悉IDE了。
4、OO思想的領悟。掌握了基礎語法和JAVA程序運行原理後,我們就可以用JAVA語言實現面向對象的思想了。面向對象,是一種方法學;是獨立於語言之外的編程思想;是CBD基於組件開發的基礎;屬於強勢技術之一。當以後因工作需要轉到別的面向對象語言的時候,你會感到特別的熟悉親切,學起來像喝涼水這么簡單。
使用面向對象的思想進行開發的基本過程是:
(1)調查收集需求。
(2)建立用例模型。
(3)從用例模型中識別分析類及類與類之間的靜態動態關系,從而建立分析模型。
(4)細化分析模型到設計模型。
(5)用具體的技術去實現。
(6)測試、部署、總結。

5、學習軟體工程。對小型項目而言,你可能認為軟體工程沒太大的必要。隨著項目的復雜性越來越高,軟體工程的必要性才會體現出來。
6、基本API的學習。進行軟體開發的時候,並不是什麼功能都需要我們去實現,也就是經典名言所說的「不需要重新發明輪子」。我們可以利用現成的類、組件、框架來搭建我們的應用,如SUN公司編寫好了眾多類實現一些底層功能,以及我們下載過來的JAR文件中包含的類,我們可以調用類中的方法來完成某些功能或繼承它。那麼這些類中究竟提供了哪些方法給我們使用?方法的參數個數及類型是?類的構造器需不需要參數?總不可能SUN公司的工程師打國際長途甚至飄洋過海來告訴你他編寫的類該如何使用吧。他們只能提供文檔給我們查看,JAVADOC文檔(參考文獻4.4)就是這樣的文檔,它可以說是程序員與程序員交流的文檔。
基本API指的是實現了一些底層功能的類,通用性較強的API,如字元串處理/輸入輸出等等。我們又把它成為類庫。熟悉API的方法一是多查JAVADOC文檔,二是使用JBuilder/Eclipse等IDE的代碼提示功能。
程序員日常工作包括很多活動,編輯、編譯及構建、調試、單元測試、版本控制、維持模型與代碼同步、文檔的更新等等,幾乎每一項活動都有專門的工具,如果獨立使用這些工具的話,你將會很痛苦,你需要在堆滿工具的任務欄上不斷的切換,效率很低下,也很容易出錯。在JBuilder、Eclipse等IDE中已經自動集成編輯器、編譯器、調試器、單元測試工具JUnit、自動構建工具ANT、版本控制工具CVS、DOC文檔生成與更新等等,甚至可以把UML建模工具也集成進去,又提供了豐富的向導幫助生成框架代碼,讓我們的開發變得更輕松。應該說IDE發展的趨勢就是集成軟體開發中要用到的幾乎所有工具。從開發效率的角度考慮,使用IDE是必經之路,也是從一個學生到一個職業程序員轉變的里程碑。

JAVA開發使用的IDE主要有Eclipse、JBuilder、JDeveloper、NetBeans等幾種;而Eclipse、JBuilder佔有的市場份額是最大的。JBuilder在近幾年來一直是JAVA集成開發環境中的霸主,它是由備受程序員尊敬的Borland公司開發,在硝煙彌漫的JAVAIDE大戰中,以其快速的版本更新擊敗IBM的VisualAgeforJAVA等而成就一番偉業。IBM在VisualAgeforJAVA上已經無利可圖之下,乾脆將之貢獻給開源社區,成為Eclipse的前身,真所謂「柳暗花明又一村」。浴火重生的Eclipse以其開放式的插件擴展機制、免費開源獲得廣大程序員(包括幾乎所有的骨灰級程序員)的青睞,極具發展潛力。
最後一點,成為一名優秀的JAVA工程師,我們需要掌握的專業知識和技能包括:熟悉java語言,理解面向對象的思想與設計模式,至少熟悉j2ee、j2me、j2se等開發體系中的一種;熟練使用Eclipse或Jbuilder等開發工具,理解MVC模式及實際應用;至少熟悉一種資料庫的開發和設計;具有一定的程序測試和設計分析能力。除此之外,良好的學習能力、團隊合作精神、強烈的責任心以及溝通能力也是必不可少的。

如果以上幾點你都能很好的做到了,那麼你就是一位優秀的JAVA工程師了

5. 學編程需要什麼基礎

我覺得應該根據你的工作需要或者說你的發展方向而定。基本上兩大類吧:C/C++和Java。比如,如果你要做企業級應用的你應該學習Java和C#;如果你想做嵌入式,那麼應該學好C語言;其他情況下,在你不知道要做什麼之前你可以選擇學習C/C++。學會這兩大類中的一類,對於你學習其他語言都將是比較輕松,包括腳本語言,動態語言……
1、我的入門是從學習C語言開始的(其實課程是C++),這是我們學校的公共課,我上課比較認真(雖然老師講得很差,而且一段時間後,我就發現自己的基礎掌握比她好,當然理解深度沒她好),因此,我認為對於完全沒有基礎的人而言,聽別人講比較容易入門。當時的教材是學校自己編的,挺爛的。
建議一(以C/C++為例),對於剛想進入編程的人(就是從來都沒有接觸過編程的人),最好是聽課的方式(自己看的話估計要很慢,而且很痛苦),可以找視頻或者培訓等。C語言推薦入門教材:譚浩強的C語言,最新版是第三版,不過第二版應該也可以了(藍色的)。說明一下:堅決不同意直接看K&R的《The C programming language》,這本書絕對不是初學者可以看懂的,裡面講語法的並不多,語法都是合在程序裡面講。不過這本書非常好,入門以後一定要看的一本書。
當然可以從C++直接入門,C++之父強烈推薦從C++直接入手。C++推薦入門教材:錢能的C++(紅色的,清華大學出版),這本書第一版不是ISO C++,不過比較經典,作者現在也出了第二版了,第二版好像不是太好。國外的最好的入門教材據說是:《Acclerated C++》作者是Koenig和Moo夫婦,非常厲害。他們的著作還有《c陷阱與缺陷》《c++沉思錄》。《Acclerated C++》這本入門的書我沒有看過,我覺得還是先找本國內的書好好看,看的差不多了,國外的經典書籍隨便看就會覺得很有味道,否則你可能會很受打擊。
入門的書至少要看兩三遍(要徹底理解哦 ):)。如果是C++,我建議後面類的部分至少要理解三到五遍。說明一下,c++模板的部分可以先不用看,如果有興趣的話,等把c++學的差不多了,我覺得可以把模板、STL、泛型編程結合起來學習,這個又是一個很大的工作量了,又得下很大的功夫。所以說,C++博大精深啊。
建議二、學習過程中要結合簡單的演算法,像冒泡還有類似c語言程序百例這樣的小例子做做;更進一步應該做點大一點的項目,最好是控制台程序。或者你已經著手學習win32、MFC或linux,你也可以結合平台做點小的項目。
那時我其實並沒有考慮那麼多,因為我不是學計算機的,因此我就把參加一些計算機之類的考試當作學習目標。我當時其實C++語言基礎已經很不錯了,但是上機實踐很少(那時我沒有電腦),因此參加省計算機二級,全國計算機三級和全國計算機四級考試,結果上機都沒有通過。我很郁悶,二級的時候是我不知道怎麼樣進那個DOS界面把題目調出來,三級的時候是很快就編好了,也通過運行了,可是成績出來卻不及格,四級的時候是編好了,可能是我那題目比較難,好像用了兩次循環,結果那破機器竟然承受不了。後來一亂就毀了(當然主要是上機太少了)。不過我那些上機都沒有去補考。二級和三級的時候是自恃水平已經遠遠超過考試要求了(^_^,見笑了,可能是因為等級考試還是比較簡單的),四級的時候則因為自己已經通過高級程序員考試,覺得補考上機好像沒必要。(我高程和四級都是在2003年考的)。
建議三:定位學習方向(見附錄一)並好好學習計算機基礎知識。在你還不確定學習方向,或者你還在大學本科期間,那麼我認為應該先把計算機的基礎知識好好學習一下。我認為計算機必學的基礎課程而且要精學——首先是數據結構,其次是操作系統、軟體工程,資料庫。這四門課不管你將來想從事哪個方向的基本上都會用到。當然,有時間的話,其他基礎課都是應該掌握的,離散數學、組成原理、體系結構、網路、編譯原理甚至跨學科的。方向是很重要的,因為知識其實是無限的,一個小小的領域就夠你研究很久了。本科生可能還沒有什麼方向的感覺,但是到了研究生你一定要清楚自己到底想要做什麼,要往哪個方面發展,不要盲目學,瞎學亂學,否則最後可能看似什麼都會,其實什麼都不會。
我也曾經學習過Java一段時間,這篇文章既然是談編程語言的入門學習,我也簡單說一說。因為有了比較C++扎實的語言基礎,所以Java學起來比較輕松。我先找了國內一本薄薄的教材很快看了一遍(幾乎都理解,但是只看了一遍),空閑的時間配合清華張孝詳老師的java視頻。以後其實才算我真正要開始入門JAVA的學習,我用了是《core java》中文第六版(本來想用候捷翻譯的第二版的《Thinking in Java》,發現被同學弄丟了),這本書我差不多用了20天才把裡面的知識都搞懂,當然包括程序風格的模擬,最重要的時我把有關GUI編程的那三章裡面的程序例子幾乎可以默寫出來(當然,那是因為我理解了,其實這樣就變成了我的知識了),裡面的API我也記得差不多了。(說明:Java裡面的GUI編程沒什麼用處了,建議大家先跳過,GUI不是Java的長處,如果以後需要的話再查手冊或者再記憶學習)。
其實學習了C++以後,學習Java是比較容易了,但是建議不要兩種都學啦,他們的用途是不一樣的,你應該熟悉其中一種,更重要的是熟悉其應用領域所需要的專業知識甚至平台,以及使用他們的企業,有創業計劃的還應該考慮一下他們的應用領域,最重要的是思考他們的潛在的應用領域。
對於初級的學習就講到這里,接下去的學習其實都是高級部分,先不介紹了,因為:一、我自己都還沒有學懂,這里亂吹會誤人子弟。 二、高級東西的學習很多,有很多選擇,又需要很多繁瑣的知識,可能也一下子沒辦法講清楚。

閱讀全文

與java泛型編譯原理相關的資料

熱點內容
消失的愛人pdf 瀏覽:242
蜘蛛池伺服器怎麼挑選 瀏覽:532
蘋果怎麼後台掛app不關閉重啟 瀏覽:658
qt編程丁林松 瀏覽:65
e家伺服器的地址 瀏覽:500
有管理才能的程序員 瀏覽:23
如何把照片變成壓縮文件包 瀏覽:814
php表單交互資料庫 瀏覽:220
網易版命令 瀏覽:266
如何查看伺服器應用程序日誌 瀏覽:88
分解塊命令 瀏覽:179
湖南稅務app上如何實名認證 瀏覽:338
kali如何連接主機伺服器 瀏覽:705
用alice學編程 瀏覽:229
單片機c語言跑馬燈 瀏覽:204
簡報app是什麼圖標 瀏覽:6
股市程序員 瀏覽:512
三菱編程電纜線 瀏覽:939
資源編譯後放在哪裡 瀏覽:551
51單片機學了什麼 瀏覽:354