-
1 # 電音哦
-
2 # 河馬的實驗室
只要有JVM就能用JAVA,現在高階微控制器已經有能力嵌入LINUX系統了。但沒必要再支援JAVA,因為成本高。硬體不會經常變動,公司選一個微控制器型號用十年以上是常事。微控制器程式也不需要跨平臺,JAVA在微控制器上沒多大用處,需要作業系統和JVM支援,需要大記憶體和高階型號微控制器,成本太高。
-
3 # 光明右使8787
這是因為越是底層程式設計師邏輯思維能力越強,對OOP越不感冒,這就好比你家離超市300公尺,底層程式設計師喜歡直接跑過去,跑的過程還會選擇一條最短的捷徑。而上層程式設計師則會按百度地圖坐公交到下一站再打個專車。
-
4 # kimwkang
就跟你想去百米開外的商店買東西一樣,
你走去很方便,
你說這個路程,可以考慮抽象一下,我要有個交通工具,這樣以後商店遠了,我也能方便去,所以你開車去了~~
最後發現,還是走著方便~
-
5 # 郭志剛物聯網
java也可以,但java需要虛擬機器jvc,目的是可以跨平臺,需要作業系統支撐,並且佔用的資源也比較多。多數微控制器應用場合是裸奔的,並且多數微控制器資源比較緊張,也不需要跨平臺,用java+作業系統沒必要也不划算。
-
6 # 紅塵匆匆過客夢
不是絕對不可以,但的確不合適,原因:1、微控制器通常是x86或arm架構的,8位或16位,記憶體較小,指令精簡,完成專用領域的控制及處理任務,通常直接執行彙編程式,或者c程式,而不會採用java之類的高階程式語言,這是由機器硬體特性決定的 2、從執行機制原理及語言特點來講,彙編指令種類基本固定有限,並且c程式通常可以運算元、操作位、操作記憶體地址,函式可對映定址彙編程式碼,系統功能呼叫也可對應彙編子程式程式碼,c程式編譯後可直接運行於微控制器,而java就不適合了,類及物件分配不方便直接對應運算元、操作位、操作記憶體地址,方法也不能直接定址彙編程式碼,並且java編譯生成中間位元組碼,不能運行於微控制器,需要安裝虛擬機器環境,而對應cpu架構指令是不通用的,只適合i386及以上,不適合微控制器,綜上所述,c或組合語言適合微控制器開發,而java不適合
-
7 # SundaySeventeen
因為java是用c寫的,在c的基礎上擴充了很多方便程式設計師快速實現程式碼的東西,而c就是一條線下來無法寫重用方法,就是順序型而不是物件型。java有很多特性都是為了讓程式設計師節省時間的,比如跨平臺,多型等。這樣生產週期短,成本低,非常適合商業,那當然會越來越多的人選擇java。至於微控制器不是不可能,Java其實有作業系統,這就屬於在裸機上執行,這需要更多的工作,而這些工作實際還是要依據c做為基礎,那麼為什麼不直接用c?所以java作業系統如果有非常大的優勢,那麼將來java可以順利的實現微控制器。
-
8 # 散居獵人
C最接近彙編,編譯最佳化後執行效率高,不需要作業系統就可執行,佔用記憶體少,函式庫也算豐富,共享資源多。以上幾點,其他高階語言都不具備。java需要編譯成中間程式碼,更像解釋型語言,不適合微控制器開發。
-
9 # Geek視界
根據我所知道的回答一下這個問題。
在學生時代,我用過C語言程式設計也用過JAVA語言程式設計,工作之後都還給老師了,但是基本的概念還是知道一些。
C語言和JAVA語言同樣是高階語言,但是還是不同的,C語言要更低階一些,對硬體的控制更加直接,JAVA語言的執行需要使用JAVA虛擬機器。下面分別對C語言和JAVA語言說一說。
C語言C語言是我大學時的必修課,記得那時還是用的譚浩強老師的C語言教材,現在回想起來歷歷在目;
C語言更加接近機器語言,可以使用指標等直接對記憶體的地址進行操作;
C語言是面向過程的程式語言,說的直白點兒,使用C語言程式設計,腦海中首先得有一個流程圖,第一步幹什麼、第二步幹什麼,直到把這個事情做完;
C語言需要使用編譯器編譯成機器語言,然後就可以運行了,不需要執行在虛擬機器上,JAVA是執行在虛擬機器上的,所以執行速率有點兒慢,但是跨平臺效果好。
JAVA語言JAVA是面向物件的高階語言,說直白點兒就是,程式設計時,首先要把所有的東西抽象成類,這個類包含了各種屬性和方法,然後封裝起來,更加接近人類世界;
JAVA的執行需要直譯器,轉換成位元組碼,然後在JAVA虛擬機器上執行,相比與C語言是不需要的虛擬機器的,編譯成機器語言,直接在硬體上執行。
微控制器為什麼用C語言而不用JAVA微控制器的效能一般不是很好,CPU、記憶體可以說是“寸土寸金”,要省著點而用;
假如微控制器使用JAVA語言,那麼首先需要執行一個JAVA虛擬機器,效能不是很好的微控制器是“跑”不起來的;
微控制器使用C語言就不一樣了,C語言編譯後直接轉換成機器語言,直接對硬體進行控制,效率要高很多,而且很節省CPU和記憶體空間。
-
10 # 蘇更宇
1、C語言寶刀不老的優勢就是:程式碼簡潔且與微控制器關係密切。
2、玩微控制器就是用C語言,別整別的么蛾子。你搞別的會被人笑話。
3、C語言入門其實很快的,多學一門程式語言沒壞處。
4、JAVA是基於C的,最後轉換成機器程式碼比C繁瑣(組合語言轉換更快,但寫起來麻煩,500行彙編程式碼用C語言100行就夠了)。
5、微控制器的各種庫基本都是C語言(我說的是基本都是,不是全是),一些系統底層的程式也基本都是C語言寫的(STM32微控制器啟動程式有彙編檔案)。要是把這些東西全用JAVA寫好那也行,但沒人懶得開發。
6、微控制器寫程式用的主流軟體Keil、IAR、Arduino,基本都是用C語言寫程式;現在還沒聽說過哪個軟體將微控制器和JAVA聯絡在一起的。
7、高手都是會4種以上程式語言的,只會一種,算不算高手。
-
11 # 解讀未來科技
其實只要硬體設計者設計相應的功能我們可以使用任何語言來開發微控制器,包扣中文,也看發展,因為在沒有java之前就已經開始了微控制器的開發,各方面都已經很完善了,在沒有特別的變動之前是沒有人使用java的
回覆列表
C語言是僅次於組合語言的底層語言,可以直接控制計算機的底層硬體。而JAVA語言屬於一種高階語言,需要自己的編譯器才能使用。功能上肯定是C語言更強。