java 的11个特性
以下11个特性来自于著名的“java白皮书”中,博主会针对这些特性一一进行粗略的解释。相信看完博主的这篇文章,以后在和小伙伴们吹牛逼,可就有了切实可靠的理论依据了。
11个特性分别是:
(1)简单性 (2)面向对象 (3)分布式
(4)健壮性 (5)安全性 (6)体系结构中立
(7)可移植性 (8)解释型 (9)高性能
(10)多线程 (11)动态性
一、简单性
java 语法可以说是 C++ 语法的一个“净化版本”。在Java中没有C++难以理解的指针运算、结构、虚基类等等。但是一些C++的特性,Java设计者并没有完全清除,了解C++的人可以轻松的转换到java中。
java简单的一方面是它的开发环境。java的开发环境是最值得称赞的一点,经过20多年的发展,java的开发环境已经迎头赶上,远远超过了世界上绝大多数语言的开发环境。
另一方面则是小。java支持在小型机器上运行的软件。随着不断地发展,java如今已经单独有一个具有较小类库的 java微型版,该版本是用于嵌入式设备。
二、面向对象
面向对象是一种程序设计理念,它强调的是实体,让曾经的在过程中的执行者,变成了对象中的指挥者。举个例子:当我们想要造一辆车时,“面向对象”的工人始终关注的是车子,而“面向过程”的工人所关注的却是在造车过程所需要的机器工具。
在面向对象上,java和C++可以说是旗鼓相当。主要不同在于C++可以进行多重继承,而Java不行,但是java中开发了简单的接口。
三、分布式
java中有专门用来处理TCP/IP协议的例程库。这使得java的程序可以通过 URL打开和访问网络上的地址,和访问本地文件一样便捷,当然这需要连接网络。
四、健壮性
java语言在设计时,设计者就希望 java 可以具有多方面的可靠性。这一特性主要体现在java中的异常处理机制,自动垃圾回收机制。
在java中的垃圾回收机制可以自动回收垃圾数据,防止内存分配的错误。而java的异常处理机制可以及时检测程序运行过程中的异常,并将异常进行捕捉和抛出,当异常发生时,虚拟机会记录错误的发生顺序,以便于我们的寻找。并且,java编译器可以检测出许多在其他语言需要运行才能发现的错误。
五、安全性
java语言在设计之初,就针对安全方面,投入很大精力。java的安全模型为了达到使用户不在遭受来自于网络的不可信任程序的破坏,提供了一个“沙箱”,不可信任代码都会在沙箱中执行,在这里他不会影响主系统。到现在,java浏览器插件在经过多次的攻击后,针对远程代码,使用数字签名而且需要用户同意来保证安全性。
java本身在设计时的安全机制有:垃圾回收机制、异常处理机制、字节码加密机制。
六、体系结构中立
java的编译器会生成一个体系结构中立的文件格式,这种编译后的代码,只要有java运行时系统,就可以在许多处理器上运行。这种精心设计的字节码可以很容易的在任何机器上解释执行,而且可以动态的翻译为本地机器代码。
七、可移植性
java的基本数据类型的大小和运算有着明确的规定,是无法改变的。在java中,数据类型的固定,为程序的移植提供了基础。二进制数据是以固定的格式进行存储和传输的,这消除了字节顺序的困扰。所有的java库都支持平台独立性。
八、解释型
所有的编程语言共分为编译型和解释型两种。
编译型:使用编译器,将源码编译成所在平台可执行的机器码。
解释型:使用专门的解释器对源程序逐行解释成特定平台的机器码并执行。
而java语言因为需要先编译,然后在JVM上解释运行,所以一些人对java的分类有些模糊不清。java是解释型的语言。java解释器可以在任何移植了解释器的机器上执行java字节码,使得开发快捷。
九、高性能
java解释后的字节码为了再次提高性能,可以动态地翻译成和该应用对应的CPU的机器码。
十、多线程
在现阶段的处理器发展中,摩尔定律已经不在适用,人们开始追求并发性,希望获得更多的处理器并让它们保持工作。java是第一个支持并发程序设计的主流语言,java的多线程成为了java的核心优点之一。它可以很好的处理程序的并发行为。
十一、动态性
java的动态性使得它可以将一些代码加入到正在运行的程序当中。java的库中可以自由的添加方法,而且不会对客户端造成影响。
以上就是java的11个特性,这只是一个简单的介绍,对这方面有兴趣的同学,可以自行找一些资料,进行研究。有问题的同学,可以在评论区留言。
java 的11个特性的更多相关文章
- Java SE 11 新增特性
Java SE 11 新增特性 作者:Grey 原文地址:Java SE 11 新增特性 源码 源仓库: Github:java_new_features 镜像仓库: GitCode:java_new ...
- 最通俗易懂的 Java 11 新特性讲解
大多数开发者还是沉浸在 Java 8 中,而 Java 14 将要在 2020 年 3 月 17 日发布了,而我还在写着 Java 11 的新特性.Java 11 是 Java 8 之后的第一个 LT ...
- 【转】C++11常用特性的使用经验总结
出处 http://www.cnblogs.com/feng-sc C++11已经出来很久了,网上也早有很多优秀的C++11新特性的总结文章,在编写本博客之前,博主在工作和学习中学到的关于C++11方 ...
- [转] Java 8的新特性
简介 毫无疑问,Java 8是Java自Java 5(发布于2004年)之后的最重要的版本.这个版本包含语言.编译器.库.工具和JVM等方面的十多个新特性.在本文中我们将学习这些新特性,并用实际的例子 ...
- [转载] C++11新特性
C++11标准发布已有一段时间了, 维基百科上有对C++11新标准的变化和C++11新特性介绍的文章. 我是一名C++程序员,非常想了解一下C++11. 英文版的维基百科看起来非常费劲,而中文版维基百 ...
- Java 8的新特性—终极版
作者:杜琪[译] 原文链接:http://www.jianshu.com/p/5b800057f2d8 1. 简介 毫无疑问,Java 8是Java自Java 5(发布于2004年)之后的最重要的版本 ...
- C++11常用特性的使用经验总结
转自:http://www.cnblogs.com/feng-sc C++11已经出来很久了,网上也早有很多优秀的C++11新特性的总结文章,在编写本博客之前,博主在工作和学习中学到的关于C++11方 ...
- [转]C++11常用特性的使用经验总结
转载出处 http://www.cnblogs.com/feng-sc C++11已经出来很久了,网上也早有很多优秀的C++11新特性的总结文章,在编写本博客之前,博主在工作和学习中学到的关于C++1 ...
- Java 9和Java 10的新特性
http://www.infoq.com/cn/news/2014/09/java9 Java 9新特性汇总 继2014年3月份Java 8发布之后,Open JDK加快了开发速度, Java 9的发 ...
随机推荐
- /etc/profile和~/.bash_profile等文件的区别和联系
对比说明:/etc/profile:为系统的每个用户设置环境信息和启动程序,当用户第一次登录时,该文件被执行,其配置对所有登录的用户都有效.当被修改时,必须重启才会生效.英文描述:”System wi ...
- python 计算 对象 占用大小
# 这里主要是计算文件内容(str)的大小即: 统计空间占用情况, 并转换宜读单位 K,M def gen_atta_size(con): # 参数可以是任意数据类型 if con: size_b = ...
- 0基础入门学习Python(第5章)
列表,元组和字符串 5.1 列表:一个打了激素的数组 有时候可能需要将一些相互之间有关联的数据保存在一起,这个就叫数组.Python将其称为列表. 5.1.1 创建列表 >>> [1 ...
- 【JavaWeb】EL表达式
EL表达式 EL表达式语言,用于简化JSP的输出: EL表达式的基本语法:${表达式}: 示例:<h1>学生姓名:${student.name}</h1> 作用域对象 忽略书写 ...
- C语言中的volatile关键字简介
C语言中的volatile关键字简介: (1)含义: volatile关键字的意思是可能会被外来的意想不到的改变.它的作用是:优化器在使用该关键字定义的变量时,直接从内存中读取原始的数 ...
- HttpClient忽略SSL证书
今天公司项目请求一个接口地址是ip格式的,如:https://120.20.xx.xxx/xx/xx,报一个SSL的错: 由于之前请求的接口地址都是域名地址,如:https://www.xxx.com ...
- phpstudy配置虚拟域名
之前有一篇使用xampp配置虚拟域名,但是不同公司使用的集成环境不同,(xampp是我自己用的,别误解(><) !)这次使用的phpstudy,相比较而言,phpstudy更简单一点 首先 ...
- 深浅拷贝及 join set
1.join s="**".join (['风清扬',"独孤求败"] ) join 把里面的东西拿出来,进行拼接 s="_". ...
- c# 第22节 c#四大方法 静态方法、实例方法、虚方法、重新方法
本节内容: 1:静态方法和实例方法什么 2:虚方法是什么 3:重写方法 4:禁止重写方法 1:静态方法和实例方法是什么 静态方法,一般是类的常用方法,允许在不创建类的实例的情况下,直接调用. 静态方法 ...
- python time和datetime常用写法格式
python 的time和datetime常用写法 import time from datetime import datetime from datetime import timedelta # ...