答案:C語言的開發模式, 是編寫.c的Source Code, 再經由Compiler編譯成Object Code。所謂Object Code指的是和硬體相關的機器指令, 也就是說當我們想要把C程式移植到不同的硬體時, 必須要重新Compile,以產生新的執行檔。除了需要重新編譯外,新系統是否具備應用程式所需的程式庫,include的檔案是否相容, 也是程式能否在新機器上順利編譯和執行的條件之一。在實務上,為了讓C程式能在不同的UNIX版本上都能順利編譯,原作者往往必須使用前置處理器的#ifdef指令,判斷不同環境的適當寫法。如果想把在UNIX上開發的C程式移植到Windows上,則有用到專屬程式庫的部分(如UNIX的使用者介面可能用到X Window的API,Windows就沒有支援,必須一台一台灌程式庫才行,很可能還要花錢買),就必須重寫才行。
解決此類問題的方法之一,是定義一種Virtual Machine(虛擬機器),讓程式語言編譯時不要翻成實體機器的指令,而是翻成Virtual Machine的目的易做图。Virtual Machine一般是以軟體來模擬的,只要新的平台有Virtual Machine,則原始程式不用Compile,執行舊機器上已有的Virtual Machine目的易做图,就可以了。當然要達到完全不用重新Compile就能執行的理想,還要配合標準的程式庫才行。
Java語言基於上述理念,定義了Java Virtual Machine,它所用的指令稱為byte code。使用Virtual Machine的缺點之一,是執行的速度較慢,代價是開發的速度變快了。以現在的硬體來說,大部分應用程式的執行速度已經沒有那麼重要,反倒是軟體的開發速度和品質越來越值得重視。
此外JVM的技術不斷進步, 諸如Just In Time(JIT) Compiler, 或HotSpot等技術都可以讓Java程式以非常接近原生易做图(Native Code)的速度執行。因此不要因為某些偏頗的報告或直覺, 就不使用Java了。
java是一门高级编程语言。比较脱离硬件。如果你不了解程序语言的话,你就记住java
java应用很广泛的不是java才有类C#也有。
最大的特点就是跨平台。只要安装了类似游戏的虚拟机的jdk程序哪种环境都能运行。不管是
手机还是电脑还是什么,只要有芯片,能装jdk就能运行。
java也不是只有jsp。jsp只是开发网站用的。
这么说吧,只要现在能实现的程序,java几乎都能做。
如果真的有兴趣建议学一些程序基础再看java,要不怎么说都迷糊,尤其名词一大堆,
能直接把你砸迷糊。
上一个:C语言指针的一些疑问
下一个:几个C语言的问题