Java语言的主要特性分析

1、Java语言是简单的。

Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C++ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。

2、Java语言是一个面向对象的。

Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。

3、Java语言是分布式的。

Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java.net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、 ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

4、Java语言是健壮的。

Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。

5、Java语言是安全的。

Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。

6、Java语言是体系结构中立的。

Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件), 然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。

7、Java语言是可移植的。

这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSI C实现的。

8、Java语言是解释型的。

如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。

9、Java是高性能的。

与那些解释型的高级脚本语言相比,Java的确是高性能的。事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++。

10、Java语言是多线程的。

在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable)的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。 Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。

11、Java语言是动态的。

Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。

Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(JavaEnterprise APIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。

11 java 王少飞-Java语言的主要特性分析相关推荐

  1. 11 java 王少飞-Session

    Session 什么是Session 使用Cookie和附加URL参数都可以将上一次请求的状态信息传递到下一次请求中,但是如果传递的状态信息较多,将极大降低网络传输效率和增大服务器端程序处理的难度.S ...

  2. 暑假社会实践总结_Java—王少飞

                                                                                                        ...

  3. acm水仙花数java,水仙花数之C语言经典案例分析

    水仙花数之C语言经典案例分析 一.[什么是水仙花数] 水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI) ...

  4. Go语言和Java、python等其他语言的对比分析

    一.Go语言设计初衷 1.设计Go语言是为了解决当时Google开发遇到的问题: 大量的C++代码,同时又引入了Java和Python 成千上万的工程师 数以万计行的代码 分布式的编译系统 数百万的服 ...

  5. java代码鸟飞,Java打飞鸟游戏程序

    课题名称:打飞鸟游戏程序 (本课题为学校Java程序设计课程大作业课题,实现了要求中的全部功能,如有问题欢迎讨论与指正.) 课题要求: ①基本要求:飞鸟(可用位图或简单图形表示)随机出现在游戏窗口中并 ...

  6. c语言模拟java面向对象_纯c语言实现面向对象分析与示例分享

    #include #include //接口 #ifndef Interface #define Interface struct #endif //类 #ifndef Class #define C ...

  7. 计算机二级为什么靠Java的少,计算机二级考试:Java语言学习六大要点

    计算机二级考试:Java语言学习六大要点 一.掌握静态方法和属性 静态方法和属性用于描述某一类对象群体的特征,而不是单个对象的特征.Java中大量应用了静态方法和属性,这是一个通常的技巧.但是这种技巧 ...

  8. 【Java基础】从Java语言层面理解BIO,NIO,AIO(二)

    文章目录 零.从网络层面理解BIO,NIO,AIO 一.相关概念 1.什么是socket? 2.IP地址(IP Address) 3.端口(Port) 4.协议(Protocol) 4.1.协议简介 ...

  9. Java是一门什么样的语言?

    Java是一门高级编程语言 java 原名OKA(橡树),由Sun公司从1991到1995年之间研发,由于OKA被注册,后更改未JAVA. 1995年,Oka 正式更名为java 1996年,Sun正 ...

最新文章

  1. Caffe源码中Solver文件分析
  2. Timer计时不准确的解决方案 每次都重新调整,修正误差
  3. 【Android 安全】DEX 加密 ( 支持多 DEX 的 Android 工程结构 )
  4. 科来网络分析系统概要介绍
  5. git 放弃本地修改 强制更新
  6. nodejs服务端MVC架构介绍
  7. 8-字符串的压缩存储
  8. UML图中聚合、组合、关联、依赖、泛化的强弱关系
  9. java 执行查询_在单个语句中用Java执行多个查询
  10. lightslider-支持移动触摸的轻量级jQuery幻灯片插件
  11. ubunt18 mysql_Ubuntu18.04下安装MySQL教程
  12. Windows程序设计与C语言的主要区别是什么?
  13. php163邮箱正则,正则表达式匹配邮箱账号
  14. 阿里巴巴矢量图标使用
  15. win10关闭计算机的原因,win10电脑自动关机是怎么回事
  16. 笔记本(无线网卡)配置虚拟机上网
  17. unity中向量夹角
  18. [noip模拟赛]算算数
  19. GEP基因表达式编程
  20. 编程修养 - 来自网络整理

热门文章

  1. FTP文件传输协议详解
  2. std::forward理解
  3. 设计模式中的工厂类图
  4. 啥是单点登录及单点登录原理
  5. 小程序官网CMS开源项目出炉,Weixin-App-CMS 1.0 版本正式发布
  6. MongoDB学习指导
  7. 局域网不能访问的问题
  8. 原码、补码以及正数/负数的左移和右移
  9. php编写当前日期距高考天数,距离2021年高考天数 2021高考倒计时
  10. 使用杉川3i-T1单线激光雷达和Cartographer库SLAM问题及解决