從概念上看,C語言是一門面向過程、抽象化的通用程序設計語言;Java是一門面向對象編程語言,而Java語言是從C語言衍生而來,它吸取了C++語言的各類優勢,而且摒棄了C++裏難以理解的多繼承、指針等概念。從概念能夠看出C語言至關於Java的基礎語言。
從應用領域上看,C語言和Java的應用領域幾乎沒有重合。由於隨着這幾年Java、web、PHP等語言的出現,它們憑藉比C更簡潔的、更安全的性能快速崛起,搶佔了大量的市場。目前由於Java有完善的框架,在多線程、高併發方面有着較好的穩定性,因此Java主要應用於企業級應用開發、大型系統開發等領域。而C語言因爲編程的複雜性,退守到了系統級別語言,並且由於想要系統級軟件能夠發揮出機器的功能,它的底層核心就須要用C/C++來編寫,因此C語言主要應用於軟件工業。
從語言自己來看的話,有這幾點區別:
一、語法不一樣;java
二、單文件的編譯時間java比C語言快;web
三、C語言能夠直接操做內存,java不能直接操做;編程
四、C語言能夠封裝動態庫,java不行;安全
五、C語言的代碼不容易跨平臺,java的代碼容易跨平臺;多線程
六、C語言有指針,java沒有指針;併發
七、C語言能夠直接操做串口,java須要第三方jar包支持;框架
八、C語言的線程更加靈活,java的線程都已經封裝好了;編程語言
九、C語言作單獨功能,能夠增長效率,java適用作web應用開發;ide
十、unix是C語言編寫的,java也是C語言編寫的;高併發
十一、JAVA作web開發的時候,已經有不少成型的框架技術,C語言不多,且須要處理底層內容,對應不熟悉計算機原理的開發者難度很大;
十二、JAVA的開源包太多了,C語言也有可是偏少,並且面向某個業務應用領域的框架沒java多;