java 学习心得
本人菜鳥一枚,接觸編程語言也已經(jīng)有一年多了,但是系統(tǒng)的學(xué)習(xí)編程語言卻只有不到半年,因為個人原因或者也有少許的外界因素,總之荒廢了好多時間。
? ?好了,廢話不多說,言歸正傳,鄙人接觸java也已有半年,想寫一點(diǎn)自己的學(xué)習(xí)心得,與大家共勉,在鄙人看來,如果把java和c放在一起進(jìn)行比較的話,也許更能看出來年各種語言的優(yōu)缺點(diǎn),c是一門十分古老的高級編程語言,姑且這樣說吧,考慮到計算機(jī)這門學(xué)科的發(fā)展速度,說它古老,也不足為過,相比java來說,c更加簡單,方便,但c也有其致命的缺點(diǎn),從根本上來說,c是一中面向過程的語言,而java是一種面向?qū)ο蟮恼Z言,兩者在這方面,又沒有什么可比性而言,兩種語言關(guān)注的重點(diǎn)不同,自然會有差異。
? ??Java和C都是指令式語言(Imperative Language),不同的是Java有面向?qū)ο?#xff08;OO)成分在里面,而C是完全面向過程的,C的高級版本C++、C#支持面向?qū)ο蟆?br /> 另外一個不同是,Java跨平臺,既不同的操作系統(tǒng)都可以通過JVM來解釋Java程序,而C、C++、C#則是與平臺相關(guān)的,有些指令只在某些操作系統(tǒng)中才能執(zhí)行。具體原因是,Java是解釋型語言,所有代碼都會翻譯成統(tǒng)一的、與系統(tǒng)無關(guān)的bytecode,然后放到JVM上運(yùn)行;而C是編譯式語言,代碼要先通過編譯器轉(zhuǎn)換成與系統(tǒng)相關(guān)的中間代碼,然后才能運(yùn)行。
再一個不同是,Java不支持系統(tǒng)調(diào)用,既無法與操作系統(tǒng)進(jìn)行交互,這是由它跨平臺的特點(diǎn)決定的,而C則可以調(diào)用系統(tǒng)中的指令,如fork()。這也就是為什么Java中只有線程(Thread)概念而沒有進(jìn)程(Process)概念,而C兩者均有。
再者,Java無法對內(nèi)存進(jìn)行控制,而C則可以通過指針對內(nèi)存進(jìn)行人為分配。
還有一點(diǎn),Java有Gabbage Collection機(jī)制,可以自動回收不再使用的空間,而C則要用free()函數(shù)釋放空間。
從高一點(diǎn)的角度去看待編程語言的話,如果說c是一門藝術(shù)的話,java就只能稱為技術(shù)了,但從實(shí)用性來說,java的實(shí)用性要更為廣泛一點(diǎn),java的跨平臺性是c所無法比擬的
總結(jié)
- 上一篇: kml的编写
- 下一篇: 互联网创新创业大赛优秀范例_大学生互联网