让你快速了解java的学习核心:
1简单性
基本可以认为Java语法是C++语法的纯净版本,即去除了头文件、指针运算、结构、联合、操作符重载、虚基类等。
简单的另一个方面是小,即支持开发能够在小型机器上独立运行的软件。
2面向对象
Java的面向对象特性与C++旗鼓相当,主要不同在于多继承,在Java中,取而代之的是简单的接口概念,以及Java的元类(metaclass)模型。
3
网络技能
这得益于Java的扩展例程库,用于处理像http和ftp之类的TCP/IP协议。
4健壮性
其一,Java编译器能够检测许多在其他语言中仅在运行时才能够检测出来的问题。
其二,Java相对C++不需要使用指针构造诸如字符串、数组这样的结构,其采用的指针模型可以消除重写内存和损坏数据的可能性。
5安全性
简单说来,为了适用于网络/分布式环境,java在安全方面投入了大量精力,使得其能够防范各种攻击,安全性很高。
6体系结构中立
即编译器生成一个体系结构中立的目标文件格式,只要在有java运行的系统就可以在许多处理器上运行。
但实际上这并不是java专用特点,有些其他语言也有这种技术。而且为了实现这一目标,核心在于Java编译器生成与特定的计算机体系结构无关的字节码指令来实现,显然这比全速运行机器指令慢很多,因此,目前难说好坏。
7可移植性
C/C++中有些基本数据类型的大小只限定了最低长度,二具体长度可能与具体的编译器供应商有关,而Java则不依赖于这个具体实现,其数据类型的大小永远是固定的,从而消除了代码移植时的困扰。
8解释型
Java解释器可以在任何移植了解释器的机器上执行Java字节码,现在,使用即时编译器将字节码翻译成机器码。
9高性能
字节码可以(在运行时刻)快速地翻译成运行这个应用程序的特定CPU的机器码。
10多线程
相较其他编程语言,Java的多线程处理便捷性很强,其在不同的机器上调用多线程的编码完全相同,将多线程的实现交给了底层的操作系统或线程库来实现。
11动态性
Java可以在库中自由地添加新方法和实例变量,却对客户端没有任何影响,对变化的环境适应性更强。