返回顶部
首页 > 资讯 > 精选 >Java的关键特性有哪些
  • 182
分享到

Java的关键特性有哪些

2023-06-03 06:06:35 182人浏览 泡泡鱼
摘要

本篇内容主要讲解“Java的关键特性有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java的关键特性有哪些”吧!Document the Java: Sun Microsystems 公司

本篇内容主要讲解“Java的关键特性有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java的关键特性有哪些”吧!

Document the Java: Sun Microsystems 公司的白皮书-- 1995.10 James Gosling 和 Henry McGilton 的草案-- 说明了Java的以下主要特性:
*Simple and Familiar (简单熟悉)
*Object-oriented (面向对象)
*Architecture-neutral (结构中立)
*Portable (可移动)
*Somewhat Interpreted (部分解释)
*Distributed (分布式的)
*Robust (鲁棒性)
*Secure (安全)
*High perfORMance (高性能)
*Multi Threaded (多线索)
*Dynamic (动态)

Java 特性 -- 简单熟悉
Java 省略了c++ 中一些很少用到的, 不易理解的和易于混淆的特性, 包括操作符重载, 多重继承, 指针和自动类型强制.
它增加了自动垃圾清理, 使得用Java进行动态编程比用 C 或 C++ 容易.
不再有mallocs!
它还加了´接口´ 构造, 类似于 Objective C 的概念, 经常用于通过允许method调用语法是"继承的"来弥补多重继承的缺少带来的不便.
结果因为它类似于C++, 用户会比较熟悉, 便于编程.
这样做的另一个结果是使得内核变得很小, 适用于消费者电子设备. 基本解释器(alpha) 为~40Kb, 库和线索另外需要 175Kb.

Java 特性 -- 面向对象
Java 模型可以看成是 C++ 的一个子集, 带有一些从Objective_C 中继承下来的动态元素(方法重载, 垃圾收集).
结构, 联合和函数被抽象成为Java类的数据和方法(methods) -- Java 比较简单!
Java模型的长处不仅在于简单还在于和系统相关的类库的扩充 (大约 250 个公共库在alpha 和 beta 版中发布).
Java 类也在WEB 嵌入模型中起到通讯单元的作用. Applet 类通过html的applet标记中的名字标识自己. Applet 下载出现在applet源程序中的其它类. 因此, Java 类名字起到分布式Java代码数据库的地址模式的作用.

Java 特性 --结构中立
C/C++ 在异构网络环境下编程需要使用和兼容多个平台和相应的编译器. 这个问题在 Java中通过称为bytecode(或opcode)的独立于平台的二进制描述解释的设计而解决了.
Java 编译器(用 Java 写成的, 平台独立) 读取 Java 源程序生成Java bytecode. 这些 bytecodes 根据浏览器的要求被送到客户端的机器上.
每个客户机器必须运行 Java 解释器, 它完成 Java bytecode的解释执行. Java 解释器是用POSIX的ANSI C编写的, 需要送到每个单独的平台下面进行一次常规的编译.
一旦解释器就绪, 应用程序开发者不必关心任何平台说明和区别不同的本地编译器.

Java 特性 -- 可移动
Java 语言提供了一个统一的抽象 (虚拟) 机器模型, 对所有的平台是一致的.
SUN 拥有 Java 虚拟机 -- 它是通用的, 而任何用户可以增加它的类
不同于在 C/C++ 中需要手工为不同的整数匹配到物理机器的结构上, Java byte, char short, int 和 long 的大小始终是一样的, 分别等于 8, 16, 16(unicode), 32 和 64 位.
没有头文件, 预处理程序,#define 等.
浮点数总是IEEE 754
特定窗口环境的区别的说明 (X windows, MS Windows, Macintosh) 根据抽象窗口工具 Abstract Windowing Toolkit (AWT) 消除掉了.
AWT 是由 ~60 Java 类(alpha)写成的, 它提供了一个通用的 GUI 编程模型, 可以在 UNIX, PC 和 Mac 上移动, 由Java解释器自动翻译成本地平台的窗口系统.

Java 特性 -- 部分解释
Java 代表了完全编译 (如 C/C++) 和完全解释 (如 Smalltalk 或者 Perl) 之间的一种折衷方案.
Java "编译器" 生成一种二进制 bytecode 输出, 它是可移动的, 比特定机器实际所需的二进制代码要小得多 .
Java "解释器" 执行这个 bytecode , 因此动态性比象Perl这样的解释器小 (后者内部实现一个等价的 bytecode 构造, 当阅读程序源码时 on-the-fly).
通常地, 编辑过程是: a) 时间消费和 b) 平台说明. 因此, 解释器用于促进 a) 快速原型化和/或 b) 可移动性. Java 模型主要考虑平台独立性但是效率也是适当的因为Java 编译器比较快, 生成简洁的 bytecode 输出.

Java 特性 -- 分布式
流行的 tcp/IP 为基础的协议如 FTP 或 Http 是根据网络协议类来支持的. 这方便了各种形式的分布式处理. 新的协议 (如 PVM ) 可以增加和动态安装.
Java 的分布式计算模型主要是客户-服务器, Java 编译器在服务器一方准备 opcodes, Java 解释器在客户一方执行它.
用户可以期待用服务器和客户的Java线索互相通讯实现更多的动态使用.

Java 特性 -- 鲁棒性
Java 增强了编译时的类型检查, 消除了 C/C++ 在这方面的一些错误.
指针算法被完全放弃, 这样是为了运行时检查数组下标和增强了Java模型的安全性.
始终要求显式说明, 即 C 类型的隐式说明被放弃. 这样使得Java 编译器可以完成早期的错误检查.
Java中快速原型化(prototyping )不如 javascript,Lisp, Tcl, Smalltalk 或 Perl, 但是Java的软件质量保证比这些更加动态和 ´宽大的´ 语言要好.

Java 特性 -- (希望的) 安全性
Java 二进制代码在网络中传送, 在客户机器上执行. 因此安全性是一个至关重要的问题, 在Java中得到着力加强.
Java 有它自己的已安全方式设计的网络类
C++ 模型的修改如去掉指针算法和强制类型转换主要是基于安全要求的考虑.
多数病毒是基于对私用的/保护的计算机存储器的访问实现的, 这在Java中是不可能的.
Java opcode 是由Java解释器在客户一端独占的虚拟存储器中执行的. 因此除非Java解释器自己存在安全漏洞, 否则模块是安全的, 用户无法通过不正确地或者恶意地编写applet产生安全漏洞.
穿过网络发送的 bytecode在客户端被检验, 阻止恶意/错误的类引发问题

Java 特性 -- 高性能
Java 解释器完成Java bytecode的on-the-fly runtime 执行, 获得了满意的性能.
NOT true in initial software which is often 100 times slower than C but this is expected to improve as true compilers are produced and general software improves!
支持生成从bytecode中生成与本地机器相关的代码, 作为中级编译器形式来看, 这一点满足了对性能要求较高的应用程序.
从Jave bytecode中生成的机器代码的性能与同样平台下的典型的 C/C++ 编译器提供的性能相当.
这里的一些概念实际上和 OSF/ANDF 相似. 使用 ANDF 术语的话, 我们可以称 Java 编译器为 ´生产者producer´, 这里讨论的机器代码生成器是一个 ´安装者installer´. 缺省情况下 Java 的工作模式不使用 installer 而是直接解释中级代码形式 (这种方式在 ANDF 中是用 Gai -- Generalized ANDF Interpreter支持的).
ANDF 模型在原理上可以应用到所有的语言上. Java/HotJava 系统为Java语言实现了 ANDF 概念.

Java 特性 -- 多线索
Java 模型提供优先权多线索, 在Thread类上面执行. 线索方法基于C.A.R. Hoare的监视者和条件变量变化表提供一套时间同步原语. Java 线索从Xerox Park的先驱性的Cedar/Mesa系统(它创造了Macintosh和面向对象程序设计)中继承了一些特性.
Java 多线索在applet 编程中的一个典型应用是有几个独立但又相互关联的情况的模拟 (例如各种排序算法的), 它们同时在一个applet窗口中运行. 多线索还内部用于 HotJava 浏览器, 处理多个动态文档.
另一个有趣的应用领域是多-HotJava 环境的情况, 例如合作实验室或游戏
Java 线索内置的点对点通讯原语. 各种线索的通讯环境可以通过线索和网络协议对象的联合来提供.

Java 特性 -- It 动态性
Java 模型比C++的动态性要好, 接近于Smalltalk 或 Perl.
在父类实现被更新后, 子类不需要重新编译.
类有runtime 陈述(按照Class类实现), 它允许用户在运行时察看一个给定对象实例的类型 (在 C 中如果指针是指向整数或浏览器则无法知道)
C++ 有 "脆弱父类" 问题, 如果改变了父类或引用的类中的任意内容(方法/实例变量), 必须重新编译子类. Java 在运行时解决类的引用, 解决了这个问题.

到此,相信大家对“Java的关键特性有哪些”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: Java的关键特性有哪些

本文链接: https://lsjlt.com/news/233209.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Java的关键特性有哪些
    本篇内容主要讲解“Java的关键特性有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java的关键特性有哪些”吧!Document the Java: Sun Microsystems 公司...
    99+
    2023-06-03
  • python字典键的特性有哪些
    这篇文章主要介绍python字典键的特性有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、不允许同一个键出现两次。创建时,如果同一个键被赋予两次值,则记住后一个值。dict = {'...
    99+
    2023-06-15
  • java的关键字有哪些
    java中常用的关键字有:1.abstract,用于修饰类和方法;2.boolean,用于声明布尔类型;3.class,用于声明一个类;4.return,用于表示一个方法返回的值;5.assert,用于创建一个断言;6.super,表明当前...
    99+
    2024-04-02
  • java中TreeMap的特性有哪些
    这篇文章给大家介绍java中TreeMap的特性有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序。1...
    99+
    2023-06-14
  • Java的泛型特性有哪些
    本篇内容主要讲解“Java的泛型特性有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java的泛型特性有哪些”吧!1. 定义在了解一个事物之前,我们必定要先知道他的定义,所以我们就从定义开始...
    99+
    2023-06-15
  • java事务的特性有哪些
    Java事务的特性包括:1. 原子性(Atomicity):事务中的所有操作要么全部成功执行,要么全部回滚,不会存在部分执行的情况。...
    99+
    2023-09-27
    java
  • JAVA 8新特性有哪些
    这篇文章主要介绍“JAVA 8新特性有哪些”,在日常操作中,相信很多人在JAVA 8新特性有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JAVA 8新特性有哪些”的疑惑...
    99+
    2024-04-02
  • java事务有哪些特性
    java中事务的特性有:1.一致性;2.原子性;3.持久性;4.隔离性;java中事务的特性有以下几点一致性java中事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态,对数据的增删改要符合数据的完整性约束。原子性java中事...
    99+
    2024-04-02
  • java 1.8新特性有哪些
    这篇“java 1.8新特性有哪些”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“java 1.8新特性有哪些”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接下来就让我们进入...
    99+
    2023-06-06
  • Java高级特性有哪些
    本篇内容介绍了“Java高级特性有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1List和SetJUC(java.util.concu...
    99+
    2023-06-19
  • Java内部类的特性有哪些
    Java内部类的特性有以下几点:1. 内部类可以访问外部类的成员变量和方法,包括私有成员。2. 外部类可以访问内部类的私有成员。3....
    99+
    2023-09-26
    Java
  • SAP ABAP特性相关表有哪些
    本篇内容介绍了“SAP ABAP特性相关表有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!SAP中不管是特性还是分类在系统里都是经过内部...
    99+
    2023-06-05
  • Redis的集群模式有哪些关键特点
    Redis集群模式的关键特点包括: 数据分片:Redis集群将数据分散存储在多个节点上,每个节点负责存储部分数据,通过数据分片实...
    99+
    2024-04-09
    Redis
  • Java ME SDK 3.0.5有哪些特性
    本篇内容主要讲解“Java ME SDK 3.0.5有哪些特性”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java ME SDK 3.0.5有哪些特性”吧!Java ME曾是Sun的一个巨大成...
    99+
    2023-06-17
  • Java volatile关键字的特性是什么
    这篇文章主要讲解了“Java volatile关键字的特性是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java volatile关键字的特性是什么”吧!一、概述v...
    99+
    2023-07-04
  • java中 Map集合的特性有哪些
    java中 Map集合的特性有哪些?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、Web应用程序、分布式系统和...
    99+
    2023-06-14
  • Java Spring之Spring5的新特性有哪些
    这篇文章主要介绍“Java Spring之Spring5的新特性有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java Spring之Spring5的新特性有哪些”文章能帮助大家解决问题。1 ...
    99+
    2023-07-05
  • JavaScript的特性有哪些
    这篇文章主要讲解了“JavaScript的特性有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript的特性有哪些”吧!ES2015二进制和...
    99+
    2024-04-02
  • html5的特性有哪些
    本篇内容介绍了“html5的特性有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • ecmascript的特性有哪些
    本篇内容介绍了“ecmascript的特性有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作