2-Java的特性扫盲

Java在设计时就对关键考虑因素进行了总结:

  • 简单性
  • 安全性
  • 可移植性
  • 面向对象
  • 健壮性
  • 多线程
  • 体系结构中立
  • 解释执行
  • 高性能
  • 分布式
  • 动态性

安全性和可移植性在上篇中已经介绍了,下面介绍其他的特性

简单性:

如果有一定经验的哪怕就会C的也会很容易掌握Java,再说大一下学期也学习了和Java无比相似的C#,如果会C++那就只需要非常少的努力就可以了。在Java的基础知识中不如数据类型、程序结构,流程控制等这些都相似。

面向对象:

对象采用清晰、可用、使用的方法,Java在纯进化论者的“万物皆对象”模式和实用主义的“够用就好”模式之间找到了平衡,Java中的对象模型既简单又易于扩展,而基础类型(如整型)仍然是高性能的非对象类型

健壮性:

web的多平台要求程序必须在各种系统中可靠地执行,所以设计时要求Java具备创建健壮程序的能力是高优先级的。所以Java是强类型化得语言,它咋编译时检查代码,在运行时也检查代码,许多难以跟踪的bug在运行时通常难以再现,但在Java中几乎不可能产生。以可预见的方式运行时Java的关键特性之一。

Java的健壮性从分析程序失败的两个主要原因:内存管理错误未处理的异常来看:

  • 在传统编程中,内存管理必须手动纷飞和释放所有动态内存。这样有时会导致问题,比如忘记释放,或者试图释放程序其他部分仍然使用的内存。Java自动帮助开发者管理内存的分配和释放,即垃圾回收功能。
  • 异常情况通常是由“除0”或“没有找到文件”这类错误引起的。Java通过提供面向对象的异常处理功能,所有运行时错误都能够并且应当由程序进行管理

多线程

满足创建交互式、网络化程序的需求,Java支持多线程,允许编写同时执行许多工作的程序。Java运行时也为多线程同步提供了优美且完善的解决方案,能够创造出运行平稳的交互式系统。Java提供了易用的多线程方法,使得只需要考虑程序的特定行为,而不需要考虑多任务子系统。

体系结构中立

创建Java时,我猿们面临的问题是,即使在同一台机器上也不能保证今天编写的程序到了明天仍然能够运行。操作系统升级、处理器升级以及核心系统资源的变化,都可能导致程序出现故障。Java虚拟机就是试图解决这个问题。

解释执行和高性能

Java通过将源代码编译成Java字节码的中间表示形式,可以创建跨平台的程序。以前大部分对跨平台解决方案的尝试对性能的影响太大。而Java字节码经过了仔细设计,通过即时编译器,也容易将字节码直接转化成高性能的本机代码。Java运行时系统提供了这个特性,而且没有丢失平台独立代码的优点

分布式

Java是针对Internet的分布式环境设计,因为它能处理TCP/IP协议,实际上使用URL访问资源与访问文件灭有多大区别。Java还支持远程方法调用(Remote Method Invocation,RMI)。这个特性允许程序访问网络调用方法。

动态性

Java本身带有大量的运行时类型信息,这些信息可以用于在运行时验证对象访问问题。这使得以一种安全,方便的方式动态地链接代码成为可能,对于那些可以在运行的系统中动态更新小段字节码的Java环境的健壮性来说,这个很关键。

本篇和上篇已经对Java作了简单的概述,有了一定的认知,下面的文章将会以Java8编程为主,从基础到JavaWeb,JavaEE开发。一起学习,一起成长,Java通神之路正式开启!!

你可能感兴趣的:(2-Java的特性扫盲)