简介:
Java具有安全性、跨操作系统的可移植性、自动垃圾收集。完整的平台、庞大的库(具有很多可重用的代码)
-
简单性:剔除C++中少用、难以理解、易混淆的特性。没有头文件、指针运算(指针语法)、结构、联合、操作符重载、虚基类等。其中JAVA Micro Edition已经适合嵌入式了。
-
面向对象(数据):
重点在数据和数据的接口上面。面向对象特性和C++相当,主要不同在于多重继承,JAVA中更多的是用简单的接口概念。更丰富的运行自省功能。 -
分布式:
丰富的例程库,处理HTTP和FTP的TCP/IP协议。JAVA应用程序能够通过URL打开访问网络上的对象。95年用的是C++连接web服务器。 -
健壮性:
早期检测、后期动态运行监测、消除易出错的情况。Java与C++最大不同就是采用的指针模型可以消除重写内存和损坏数据的可能性。 -
安全性:
为了适用于网络/分布式环境。 -
体系结构中立:
其编译器生成的经过编译的目标文件格式能够在很多处理机上(通过解释执行、动态转换为本地的机器代码)运行、而与特定的计算机体系结构无关。 -
可移植性:
固定类型变量的字节数大小。这样的二进制数据以固定的格式进行存储和传输消除字节顺序(代码传输)困扰。支持平台独立性,而不用操心底层的操作系统。不仅程序可移植,Java API的质量往往也比原生API质量更高。(数值类型固定字节数,字符串用标准unicode格式存储) -
解释性:
Java解释器可以在任何移植了解释器的机器上直接执行Java字节码。 -
高性能:
编译器监控频繁使用的代码并能够优化、消除函数调用“内联性”。 -
多线程:
更快的交互响应和实时响应。关注并发性是由于摩尔定律将走到尽头了。需要并发确保用户界面不会被“冻住”。 -
动态性:
库中能够自由添加新方法和实例变量,而对客户端没有任何影响。在Java中找出运行时类型信息十分简单。
对Java的常见误解
1、Java作为解释型语言,但其虚拟机使用了即时编译器,因此核心代码的运行速度与C++相差无几,甚至在优化后速度更快。
基础
1、public称为访问修饰符(access modifier)用于控制程序其他部分对这部分代码的访问级别。
2、将类作为程序逻辑的一个容器,是构建所有Java应用程序(其全部内容都要放在其中)和applet的构建块。(命名规则:每个英文字母第一个大写、且源代码文件名必须和公共类的名字相同)
3、Java中所有的函数(C++称其为成员函数)都是某个类的方法。main方法必须有一个外壳(shell)类。
4、Java中有四种整型、两种浮点、一种字符(用于表示Unicode编码的代码单元)和一种用于表示真值的boolean类型。
Java有一个任意表示精度的算术包,称为大数(big number)是一种Java对象。