Java语言的特点

提示:本文中部分内容图片节选自互联网,无意冒犯。如有侵权请私信联系作者即可删除、更改。


Java语言的特点

Java是一种强类型语言。所以在编译阶段就能确定变量的类型并能分配合适的内存空间,提高了内存利用率。
除了基本类型意外java还会为数组类型的元素赋予默认值(对象为null,基本类型默认值与各种基本类型的默认值相同),并且Java中不存在全局变量的说法,定义的变量都有其作用域,所以所有的变量包括数组在其定义范围外都不能被访问,而C语言数组存放在一块内存中未赋值或者在本身内存块以外调用它会出现损失。
Java 语言有下面一些特点:简单、面向对象、分布式、安全、平台无关性、高性能、多线程等。

  1. 简单性
    Java 语言是一种面向对象的语言,相比于C语言除去了运算符重载、多重继承、指针等概念,并且通过实现自动垃圾回收机制简化了内存管理工作。

  2. 面向对象
    Java 语言是纯面向对象的开发语言,它的设计是于对象及其接口的设计,通过简单的类机制和动态的接口模型。将状态变量以及相应的方法封装在对象中,实现了模块化和信息隐藏;并且通过继承机制,子类可以使用父类所提供的方法,实现了代码的复用。

  3. 分布性
    Java是面向网络的语言。它提供了强大的网络编程类库可以很方便的处理TCP/IP、UDP协议,用户可以通过RMI远程调用URL地址链接的其它对象。Java提供了一整套网络类库利用这些类库开发者快捷的完成网络程序设计,帮助Java实现分布式特性。

  4. 可靠性
    Java是强类型的语言,要求声明的所有变量都必须指明其类型。这样方便了编译器进行编译检查及早发现错误,保证程序更加可靠。对于内存的管理Java使用自动内存回收,可以防止内存丢失等动态内存分配导致的问题。
    并且Java提供了强大的异常处理机制。程序员可以把一组错误代码放在一个地方统一进行处理,这样可简化错误处理任务便于错误的处理和排查。除此之外Java不支持指针调用,杜绝了内存的非法访问。

  5. 安全性
    对于用于网络开发和分布应用开发的编程语言,必须具备很高的安全性能。java使用以下几种策略确保其系统的安全性。
    Java不支持指针调用,一切对内存的访问都必须通过对象的实例变量来实现,这样就防止程序员使用木马等欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误。
    Java具备完善的源文件加载措施来保护程序的正常运行,当Java字节码进入解释器时,首先必须经过字节码校验器的检查,然后Java解释器将决定程序中类的内存布局。接着由类加载器负责把类加载到单独的内存区域, 避免应用程序之间相互干扰破坏。对于网络中的客户端调用,Java可以限制从网络上加载调用的类只能访问某些文件。

  6. 可移植性(平台无关性)
    Java编译器生成的是字节码指令,这些指令文件只对应于Java 虚拟机中的表示,Java 解释器得到字节码后,对它进行转换,使之能够在不同的平台运行。同时Java的类库实现了不同平台的接口,为程序在不同平台的运行提供保障。
    并且Java编译器是由Java语言实现的,Java运行时系统由标准C实现,这使得 Java系统本身也具有可移植性。

  7. 高性能
    用Java语言编写的程序既是编译型的,也是解释型的。源文件经过编译之后转换Java字节码文件,作为程序运行的中间语言,JVM将对字节码进行解释和运行。
    编译只进行一次,而解释在每次运行程序都会进行。编译时Java编译器会采用指令重排方式对源代码进行优化使之成为更适合虚拟机执行的字节码文件,虚拟机将字节码解释为机器码,然后在计算机上运行。

    字节码本身携带了许多编译时信息,使得连接过程更加简单。和其它解释执行的语言如不同,Java字节码的设计使之能很容易地直接转换成对应于特定CPU的机器码,从而得到较高的性能

  8. 多线程
    线程又被称做轻量进程,是比进程更小并且可以并发执行的单位。Java在两方面支持多线程。

    Java环境本身就是多线程的。在执行main方法的同时会由若多个系统线程运行,负责垃圾回收和系统维护等操作。
    Java语言内置多线程类和接口等用以简化多线程应用程序的开发。如Java提供的线程类 Thread,由它负责线程的启动、运行和终止。Java线程还包括诸多的线程锁机制工具包。

    需要注意的是多线依赖于操作系统。如果操作系统不支持多线程,那么Java程序的多线程特性就不能表现出来。


术语引用

  • RMI(Remote Method Invocation 远程方法调用)
    是用Java在JDK1.2中实现的,它大大增强了Java开发分布式应用的能力。Java作为一种风靡一时的网络开发语言,其巨大的威力就体现在它强大的开发分布式网络应用的能力上,而RMI就是开发百分之百纯Java的网络分布式应用系统的核心解决方案之一。其实它可以被看作是RPC的Java版本。但是传统RPC并不能很好地应用于分布式对象系统。而Java RMI 则支持存储于不同地址空间的程序级对象之间彼此进行通信,实现远程对象之间的无缝远程调用。

  • 分布式:分布式包括数据分布和操作分布。数据分布是指数据可以分散在网络的不同主机上。操作分布是指把一个计算分散在不同主机上处理。

    Java支持客户机/服务器计算模式,因此它支持这两种分布。
    对于数据分布,Java提供了一个叫做URL的对象,利用这个对象,可以打开并且访问具有相同URL的对象,访问方式与访问本地文件系统相同。
    对于操作分布,Java的 Applet小程序可以从服务器下载到客户端,即部分计算在客户端进行,以提高系统执行效率。

  • 平台无关有两种:源代码级和目标代码级。

    C/C++具有一定程度的源代码级平台无关。源代码级平台无关表明了用C/C++写的程序无需修改,只需重新编译就可以在不同平台上运行。
    Java主要靠Java虚拟机JVM,实现与目标代码及实现平台无关。JVM是一种抽象机器,附着在具体操作系统之上。它本身具有一套虚拟机器指令,并有自己的栈、寄存器组等。JVM通常是在软件上而不是在硬件上实现的。在JVM上,有一个Java解释器,用它来解释Java编译器编译后的字节码文件。Java编程人员在编写完软件后,通过Java编译器,将Java源程序编译为JVM的字节代码。任何机器只要配备了Java解释器,就可以运行这个程序,而不管这种字节码是在何种平台上生成的。Java采用的是基于IEEE标准的数据类型,通过JVM保证数据类型的一致性,也确保了Java的平台无关性。

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值