Java语言的特性
Java语言特性总是在学习Java语言前反复被提到,并且拿来和C语言进行对比。对于这部分内容大家只需要简单了解一下,之后Java入门后再回过头来看,你就会真正理解其中的含义,所以下面有看不懂的地方很正常,保持疑问再之后的学习中就会得到解答。
1. 简单性
相对于C++少了头文件、指针运算等,所以它是C++语法的纯净版本;同时它小,基本解释器以及类支持大约为40kb,加上基础类库和线程支持也就175kb
2. 分布式
丰富的例程库可以处理HTTP和FTP之类的TCP/IP协议,这样Java应用程序可以访问网络上的对象
3.健壮性
编译器可以查错,相对于C语言指针bug引起的内存冲突很稳定
4.安全性
Java有设计一些防范攻击功能;最初Java对下载代码是放任的,他们会把不可信代码放到沙箱里运行,不影响主系统。不过遭到几次高调攻击后,现在Java浏览器不信任远程代码,除非有数字签名
5.体系结构中立
Java的编译器可以将java文件编译成class文件类型的字节码,这个class文件是一种中间代码,它与机器的平台无关。是一种特殊的二进制文件,二进制字节码文件。可以在装有JVM虚拟机的电脑上运行
6.可移植性
相对于C语言,Java中的数据类型有固定大小,不像C语言的int类型有可能是16位还有可能是32位。这消除了代码移植时令人头大的问题。二进制数据以固定的格式进行存储和传输,效输字节顺序的困扰。字符串用标准的Unicode格式存储。
同时Java库可以很好支持平台独立性,你可以处理文件、数据库、网络连接等,不用担心底层操作系统
7.解释性
Java解释器可以用来解释执行上面提到的中间代码——class文件。所以只要机器上装有Java虚拟机,就可以执行这些字节码。想要了解编译器和解释器的区别看这篇博客
8.高性能
字节码可以在运行的时候动态的翻译 应用程序对应的CPU机器码
9.多线程
Java是当时第一个支持并发程序设计的主流语言,多线程可以带来根号的交互响应和实时行为
10.动态性
Java语言可以在库中自由的添加新方法和实施变量,而对客户端没有任何影响
11.面向对象
将重点放在数据(即对象)和对象的接口上,用木匠打比方,面向对象就是先关注制作的椅子,再关注用什么工具;非面向对象就是首先考虑所用的工具。