Java語言的我的理解

Java語言的我的理解(比價深層次吧)linux

         大四的生活確實十分的奢靡,不鍛鍊,不讀書,幾乎就是當一天和尚撞一天鐘的生活,太頹廢了,還好本身不是這個樣子,不過身體確實差了不少,昨天跑了一圈內環(4KM),今天就走不動路了,因此仍是過一些比較充實的生活。仍是回到學習上來吧,這一節主要的是「水」(粵方言)一下關於Java的宏觀知識。程序員

         做爲Java語言的愛好者,應該對於Java語言有着比較深刻的認識,不但要認識到這門編程語言的優勢,也應該關注他的缺點。這樣纔會讓咱們在實際的開發中避開這些缺點,或者是找一些其餘比較好的方法進行那個替換。同時呢,還應該對於語言的將來發展趨勢有一個很好的把握。編程

         自由開源之路ruby

         Java語言是Sun公司私有的實現的,而且有Sun公司制定標準。在至關長的一段時間內,Sun都是Java的標準,並且是主導這門語言的大哥。可是這樣的發展模式這樣不可以知足全部的市場需求。同時使用廠家的平臺系統使用的是Java,並且都是核心業務,這就不免讓企業產生必定的顧慮:咱們的核心業務都是基於Java平臺構建的,可是這個平臺自己確實其它一家公司的私有技術,你哪一天抽風,不讓咱們使用了,咱們豈不是悲劇了,因此Sun公司開始了Java平臺的開放化過程。其實這也正是Java之因此如此盛行的關鍵因素。編程語言

         計算機的發展,有兩個東西我特別推崇,一個是Linux之父Torvalds,由於他的開放本身的研究的linux內核源代碼,而且依靠互聯網平臺做用,更新維護本身的linux內核,纔有今天各類免費的linux操做系統,並且Android OS也是基於linux內核的操做系統(雖然我只是linux的菜鳥);再者就是Java語言,也是憑藉社區的力量發展起來的,而且自由開源。對於這兩種技術,我超喜歡,因此在大二上的時候開始學習Java語言,並且一直不斷的深刻,在學習Java的時候,每當深刻的學習,就會發現本身須要學習的東西還有太多太多。最近發現因而王高層走,因而發現太多的東西,根本學不過來,不過這些東西都是能夠很快的掌握。因而我轉向了底層,也就是語言自己的實現。由於幾乎全部的Java的東西都是開源的,因此我也想深刻到源代碼級別研究這些東西,因而昨天我下載來openJDK的源代碼,感受超厲害的樣子,本身慢慢研究! Linux的話,我也會繼續深刻的學習下去。性能

         回到Sun公司的公開Java的實現上,Sun公司在後來將Java 內部實現和標準幾乎徹底公佈,除了少部分由於涉及版權,可是這些也是能夠在Java社區找到相應的替代品。同時公佈本身的Java和JVM規範,因而開源社區根據這一標準實現了一個叫作OpenJDK的Java自由開源實現版本。今後企業就再也不擔憂本身會被Java「掐住脖子」了。學習

Coin項目:爲何有這個項目呢?這個和Java語言的發展有很大的關係。OpenJDK的Java自由開放源代碼的實現,同時OpenJDK中有一個Coin組織,引用官方的話「The goal of Project Coin is to determine what set of small language changes should be added to JDK 7.」因此Coin在Java升級中起到了很關鍵的做用。並且Coin依靠的不是什麼國際組織,而是開放的平臺社區。這也是Java爲何如此流行的最重要的緣由。操作系統

         Java爲了走的是平臺路線而不只僅是一種語言開放源代碼

         對於Java語言的認識咱們應該更加深刻,Java的運行效率是比較差的,由於他是居於JVM運行的,JVM則是使用C/C++實現的,因此形成了效率比C/C++低。以後有不少的開發語言好比Ruby, Python等等有專門的JVM運行版本Jruby,Jython,他們將本身的源代碼編譯成爲標準的字節碼,就能夠運行在JVM上,給Java語言自己帶來了至關大的挑戰。內存

  可是Java語言不會就此死掉,相反Java語言作的是一個平臺而不是一種語言,這些語言只要運行在JVM上,Java就會一直盛行下去。不少的語言支持JVM運行,是由於歷史的緣由,在Java社區中有大量優秀的JAVA包,這些JAR包是字節碼,能夠直接在JVM上面運行,其餘語言就爲了使用這些JAR包,因此將本身的源代碼也編譯成符合標準的字節碼,運行在JVM上面,這樣就能夠調用那些開源的JAR包。20多年的發展,Java語言中有大量的資源是不可以隨時被其餘的編程語言所替代,因此依託JVM運行標準的字節碼,將Java作成一個平臺,而不只僅是一種語言。

  Java中的效率和C/C++比起來確實比較低效,Java如此好的封裝機制,帶來了很大的優勢,可是也正是這個緣由形成的Java效率的低下;同時還有比較敏感的內存管理,Java中屏蔽了底層的實現,而不像C/C++那樣,對於程序員透明。其實C/C++的內存管理掌握以後反而到感受的簡單,由於就是申請一塊內存就對應的釋放一塊內存,就沒了;可是Java的內存管理真的很頭疼的,不要覺得Java程序就不用考慮內存管理了,若是這樣,在大型項目中,咱們的程序就可能直接死掉,由於分配內存失敗。同時還可能會由於JVM一直忙碌於回收內存,這樣下降程序的性能,總之就是很悲劇!也正是由於這一點,如今有點不怎麼喜歡Java了。

  以上就是目前對於Java語言的理解看一些見解,不一樣的時期,不一樣的本身,對於同一件事情也就會有不一樣的認識,未來的話,也許對於Java語言會有一些新的認識,也許就在明天!

追尋夢的飛飛

2014.04.02 於廣州

相關文章
相關標籤/搜索