First release of Java: 1996
Java 的11个口号:
1. Simple
??? 和C++相比,去除很多不常用、不好理解、易混淆的弊大于利的特性,如头文件、指针、结构、联合、caozuofu.html" target="_blank">操作符重载等;
??? ...
2. Object oriented
??? 和C++相似,区别是Java是单继承,其多继承特性由接口这个概念和metaclass model(这是啥?待查)来实现
3. Network-Savvy
??? 但凡写过网络编程的都觉得用Java来写真是省事,至少我是这么觉得,就和本地文件读取一样
4. Robust
??? 强健性,和C++类似,但是Java不用担心指针越界
5. Secure
6. Architecture Neutral
??? .java? ----->? .class(bytecode, 平台无关)?? ------>?? interpret(不同架构的机器上解释执行)
??? 劣势:比直接从机器码执行慢,但是
??? 即时编译(just in time complilation)改善了这一情况
7. Portable
??? 比如,C/C++ 的int可能是16bit,也可能是32bit,这取决于不同编译器,但Java的int就是32bit。有固定的大小消除了很多问题比如字节序。
??? 还比如,图形程序,早期的java 1.0因为使用host的用户接口,所以在WIN/UNIX/MAC上显示会有差异,但是有总比没有好。经过改进的java工具包已经完全重写,不在依靠host,可以再现实上实现多平台一致性。
8. Interpretd
??? 早期的Java通过Incremental linking(增量链接)来解释执行,很慢;
??? 现在的Java通过JIT compiler
9. High Performance
??? 感谢JIT
10. Multithreaded
11. Dynamic
?
Java的理解误区:
1. Java很简单?
??? Java无比强大,写一个hello world确实很简单,但是...
2. Java会成为所有平台的通用编程语言?
??? 这是所有人的美好愿望(也许除了微软)。一些涉及到硬件的程序比如文字处理、照片编辑等,已经用C\C++写好并且有多个平台的版本,显然用Java重写并不能带来什么性能上的优势。(所以一些Java写得游戏引擎在涉及到性能时还是会用C\C++写- -|)
3. Java干不过C#?
??? 当然,在Windows下干活的话,C#还是蛮强势...但是C#离开Windows就不行了。
4. JavaScript是Java的mini版?
??? 两者除了名字相似,语法相近,真没其他关系了。JavaScript是由伟大的Netscape发明,本叫LiveScript(就叫这个名多好)
?
?
Chapter 1 end.
?
上个图纪念下~