java关键术语

简介: java具有**11个关键的术语**,这些术语是从java的设计者所编写的白皮书中摘取,这些术语分别为:简单性、面向对象、分布式、健壮性、安全性、体系结构中立、可移植性、解释型、高性能、多线程、多态性。以下开始我们将逐一解说这些术语。

java具有11个关键的术语,这些术语是从java的设计者所编写的白皮书中摘取,这些术语分别为:简单性、面向对象、分布式、健壮性、安全性、体系结构中立、可移植性、解释型、高性能、多线程、多态性。以下开始我们将逐一解说这些术语。

一、简单性

Java是C++语法的纯净版本,剔除了C++语言中烦人的头文件、指针运算、结构、联合等等一系列的特性和设计。(之后的博客中会给出说明和对比 ps:不懂C++也没关系,不影响阅读和学习),所以C++可以轻易的转为Java语法。

另一个就是小,没错就是小!Java起初的时候大约只有175KB!emmmmm,之后经过扩充已经变得相当的大了。但是没关系,Java提供了独立且较小的类库Java Micro Edition版本来适用于嵌入式设备。

二、面向对象

这个同学们应该都听说过,Java是一门面向对象语言。那什么是面向对象?别惊讶,我面试的时候面试官就问过我这个问题。

简单的讲,面向对象是一种程序设计技术。它将重点放在了数据(即对象)和对象的接口上。举个例子:
一个厨子首要关注的做出来的菜,其次才会关注做菜的工具。而非面向对象的厨子首要关注的是做菜的工具,其次才是做出来的菜。(本质上Java面向对象的能力和C++是相同的)。

三、分布式

Java应用可以通过URL打开和访问网络上的对象,它可以处理像HTTP和FTP之类的TCP/IP协议,其访问网络对象便捷到如同访问本地对象!(之前一直是C++连接web服务器)。如果没有这一点,很多访问量比较的大的项目就无法有效的提供服务。

四、健壮性

Java编写的程序具有多方面的可靠性,其编译器能够检测许多其他语言中只有在运行时才能检测出来的问题,它和C++最大的区别就是Java采用的指针模型可以消除重写内存和损坏数据的可能性。

五、安全性

Java适用于网络/分布式环境,它自身的设计中就加入了很多预防攻击的手段。举个例子:比如运行时的堆栈溢出(蠕虫和病毒常用手段),再比如破坏自己的进程空间之外的内存,未经授权读写文件等等。
Java中的不可信代码全部在沙箱环境中进行运行,Java程序的运行离不开沙箱。

ps:实际上它没那么有用。

六、体系结构中立

Java编译器会生成一个体系结构中立的目标文件格式,它是一个编译过的代码,只要有Java运行的系统,这些代码就可以在许多处理器上运行。编译器通过生成和特定的计算机体系结构无关的字节码来实现这一特性,这些代码不仅可以在一在任何机器上解释执行,还可以动态的翻译成本地机器代码。

七、可移植性

Java中的所有基本类型的大小和有关运算都有明确的说明,它定义了可移植的接口,对不同的系统分别做出了不同的实现。这些不同实现的接口保证了Java的可移植性。

八、解释型

Java中的解释器可以在任何移植了Java解释器的机器上执行Java的字节码(看起来不错,实际上Java的开发环境并没有将重点放在这个上面~)。

九、高性能

Java字节码可以在运行时刻动态的翻译成对应运行这个应用的特定CPU的机器码。(更强的是即时编译器可以监控经常执行那个代码并优化它可以提高速度)。

十、多线程

Java是第一个支持并发程序设计的主流语言!别的不多说~(ps:多线程可以带来更好的交互响应和实时行为)。

十一、动态性

Java能够适用不断发展的环境,库中可以自由的添加新的方法和实例变量,而对客户端没有任何影响。(这方面Java超出C和C++)。

目录
相关文章
|
6月前
|
存储 Oracle Java
Java11--ZGC--权衡--ZGC--GC术语--着色指针--多重映射--读屏障标记--重定位
Java11--ZGC--权衡--ZGC--GC术语--着色指针--多重映射--读屏障标记--重定位
127 0
|
Java API 定位技术
Java后台专业术语
OOD(Object Oriented Design):面向对象设计 OOA(Object Oriented Analysis):面向对象分析
108 0
|
Java 数据库 Android开发
|
算法 Java
《Java遗传算法编程》—— 1.6 基本术语
遗传算法建立在生物进化的概念上,因此,如果你熟悉进化的术语,可能在学习遗传算法时会发现术语有所重叠。这种领域间的相似性是当然的,因为进化算法,确切来说是遗传算法,类似于自然界中发现的过程。
1274 0
|
Java API 数据库连接
常用java术语
API:ApplicationProgrammingInterface   应用编程接口 AWT:Abstract WindowToolkit 抽象窗口工具集 JNI:Java  Native Interface JAVA本地接口 JVM :Java VirtualMachine JAVA虚拟机 dao: data access object 数据获取对象  eao: ent
1192 0
|
9天前
|
安全 Java
java 中 i++ 到底是否线程安全?
本文通过实例探讨了 `i++` 在多线程环境下的线程安全性问题。首先,使用 100 个线程分别执行 10000 次 `i++` 操作,发现最终结果小于预期的 1000000,证明 `i++` 是线程不安全的。接着,介绍了两种解决方法:使用 `synchronized` 关键字加锁和使用 `AtomicInteger` 类。其中,`AtomicInteger` 通过 `CAS` 操作实现了高效的线程安全。最后,通过分析字节码和源码,解释了 `i++` 为何线程不安全以及 `AtomicInteger` 如何保证线程安全。
java 中 i++ 到底是否线程安全?