回覆列表
  • 1 # 跟著走啊走走走走

    Java和C都是指令式語言,Java是純面向物件成,而C是完全面向過程的,C的高階版本C++、C#支援面向物件。

    Java是跨平臺的,不同的作業系統都可以透過JVM來解釋Java程式,而C、C++、C#則是與平臺相關的,一些指令只能在特定的作業系統中才能執行。具體原因是,Java是解釋型語言,所有程式碼都會翻譯成統一的、與系統無關的位元組碼,放在JVM上執行;而C是編譯型語言,程式碼要先透過編譯器轉換成與系統相關的中間程式碼,然後才能執行。

    再一個不同是,Java不支援系統呼叫,既無法與作業系統進行互動,這是由它跨平臺的特點決定的,而C則可以呼叫系統中的指令,如fork()。這也就是為什麼Java中只有執行緒(Thread)概念而沒有程序(Process)概念,而C兩者均有。

    再者,Java無法對記憶體進行控制,而C則可以透過指標對記憶體進行人為分配。

    還有一點,Java有垃圾回收機制,可以自動回收不再使用的空間,而C則必須要求程式設計師用free()函式釋放空間。

    總的來說,Java比較容易上手,學得快,但對於瞭解程式語言來說幫助不如C大

  • 2 # 隔壁神槍老王

    C偏向底層。java是應用層。 比如微控制器 嵌入式這塊C語言比較多。 而java更多應用在服務端,Android 這些領域

  • 3 # 沉迷翻新

    Java語言和C語言的區別還是相對比較明顯的,從語言自身的定位來看,Java語言屬於面嚮物件語言的代表,在構建複雜業務邏輯方面具有一定的優勢,而C語言則是面向過程程式語言的代表。

    1,場景不同。Java語言屬於“全場景”程式語言之一,可以應用於Web開發、Android開發、大資料開發等場景,而C語言的應用場景則相對比較集中,主要應用於作業系統開發和嵌入式開發領域。由於Java語言的應用場景更多,所以目前IT行業內Java開發的崗位也相對更多一些。

    2,技術體系不同。Java是面向物件程式語言,雖然也借鑑了C語言的很多寫法,但是在技術體系的設計上更注重可移植性、安全性和可擴充套件性,所以Java語言更契合網際網路的應用環境,這也是Java在網際網路時代得到快速發展的一個重要原因。由於Java語言極強的擴充套件效能,所以Java語言可以在網際網路時代、移動網際網路時代和大資料時代都能夠找到自己的位置。

    3,發展道路不同。雖然Java語言的出現要比C語言晚一些,但是Java語言的發展道路與C語言還是具有明顯的區別,或者說Java的開發人員並不是想讓Java取代C語言。Java語言的發展道路主要可以體現出三個特點,第一是跨平臺;第二是資源整合能力強;第三是併發處理能力強。可以說Java語言在設計上是希望解決C語言之上的問題,也就是網路問題。

    實際上,與Java語言同時代的Python語言,在設計思想上與Java也有很多共同點,只不過Python語言更注重庫的作用,語言風格更開放(膠水語言),而Java語言依託在當時的Sun技術體系下,則顯得要相對“嚴謹一些”,當時的Sun技術體系也想基於Java成就一個新的開發模式,只不過後來的EJB並沒有取得設想的結果。

  • 4 # 航空航天君

    你好!關於你提出的c語言和java,這兩個有什麼區別的問題,筆者查閱了相關資料,下面結合資料談談自己的認知。

    一、使用場景不同。

    Java語言屬於``全場景""程式語言之一、可用於Web開發,Android開發,大資料開發等場景,但是C的使用相對密集,主要是用於作業系統開發和嵌入式開發。由於Java語音的用例不斷增加,因此在IT行業中Java的開發位置越來越多。

    二、技能體系不同。

    java是一種面向物件的程式語言。儘管Java語言使用了許多C語言描述,但由於技能系統規劃著重於可移植性,安全性和可伸縮性,因此Java語言更適合Internet環境。這也是Java。網際網路時代飛速發展的重要原因。 Java語言功能強大,可以在網際網路時代,移動網際網路時代和大資料時代找到自己的位置。

    三、發展道路不同。

    儘管Java語言的出現比C語言的出現要慢,但是Java語言的開發路徑與C語言的開發路徑大不相同,或者Java開發人員不希望Java代替C語言。 Java語音的開發路徑可以反映三個主要特徵。第一個是跨平臺,第二個是強大的資源整合,第三個是強大的併發性。與C語言相比,Java語言有望解決更多的問題,即網路問題。

    實際上,c語言與Java相同年代的Python演講在計劃思想上與Java有很多相似之處,但是Python的演講更加關注庫的作用,其演講風格更加開放和Java的語言依賴於此Sun的技能體系似乎相對“專心”,但是Sun的技能體系還具有基於Java結果的新開發形式。是必需的,但是EJB沒有達到期望的結果。

  • 5 # 歷史的餘暉

    1、C語言是面向過程的語言,執行效率高;Java是面向物件的語言,執行效率比C語言低;

    2、C語言可以直接操作記憶體,其安全性不如Java;Java的通用性好,可以跨平臺直接移植;

    3、C語言注重演算法,而Java中的演算法沒有C語言那麼複雜;

    4、兩種語言的語法有差異;

    5、應用領域不同:C語言主要用於驅動開發、作業系統、核心開發,嵌入式(微控制器)、交換機、路由器等網路裝置的開發;java主要是企業應用開發,包括伺服器端開發、嵌入式領域、大資料技術、網站領域等。

  • 6 # 小小程式設計師玲兒

    百戰程式設計師IT問題專業解答

    一、使用場景不同。

    Java語言屬於``全場景""程式語言之一、可用於Web開發,Android開發,大資料開發等場景,但是C的使用相對密集,主要是用於作業系統開發和嵌入式開發。由於Java語音的用例不斷增加,因此在IT行業中Java的開發位置越來越多。

    二、技能體系不同。

    java是一種面向物件的程式語言。儘管Java語言使用了許多C語言描述,但由於技能系統規劃著重於可移植性,安全性和可伸縮性,因此Java語言更適合Internet環境。這也是Java。網際網路時代飛速發展的重要原因。 Java語言功能強大,可以在網際網路時代,移動網際網路時代和大資料時代找到自己的位置。

    三、發展道路不同。

    儘管Java語言的出現比C語言的出現要慢,但是Java語言的開發路徑與C語言的開發路徑大不相同,或者Java開發人員不希望Java代替C語言。 Java語音的開發路徑可以反映三個主要特徵。第一個是跨平臺,第二個是強大的資源整合,第三個是強大的併發性。與C語言相比,Java語言有望解決更多的問題,即網路問題。

    實際上,c語言與Java相同年代的Python演講在計劃思想上與Java有很多相似之處,但是Python的演講更加關注庫的作用,其演講風格更加開放和Java的語言依賴於此Sun的技能體系似乎相對“專心”,但是Sun的技能體系還具有基於Java結果的新開發形式。是必需的,但是EJB沒有達到期望的結果。

  • 中秋節和大豐收的關聯?
  • 每天朋友圈都是廣告,咋辦?