Java details from Java核心技术 卷1 基础知识(1)

Java是一种包括语言、虚拟机、即时编译、类库、执行环境的平台;

执行环境提供安全性、跨操作系统的可移植性、自动垃圾收集等服务;

设计初衷:简单性、面向对象、网络技能、健壮性、安全性、体系结构中立、可移植性、解释型、高性能、多线程、动态性

简单性:Java剔除了C++中的:头文件、指针运算(甚至指针语法)、结构、联合、操作符重载、虚基类等;

面向对象:一种程序设计技术。C++多继承;Java单继承+接口、Java中元类模型(metaclass);

网络技能:Java应用程序能够通过URL打开和访问网络上的对象,便捷如访问本地文件。简化socket等网络连接,远程方法调用机制使得分布式对象之间可以进行通信;

健壮性:Java早期的问题检测、后期动态的(运行时)检测,消除有出错倾向的状态……Java采用的指针模型可以消除重写内存和损坏数据的可能。Java编译器可以检测许多在其他语言中仅在运行时才能检测出来的问题。Java不需要使用指针构造诸如字符串、数组这样的数据结构,必要时也可以具有指针的能力,如链表。Java绝对安全:绝不会存取一个坏的指针造成内存分配错误,也不必防范内存泄漏。

安全性:Java适用于网络/分布式环境。其安全机制难以蒙骗:运行时堆栈溢出、在自己的处理空间之外破坏内存、未经授权读写文件、等不安全的做法被防范。Java有数字签名类。Java的安全机制比ActiveX强得多,因为ActiveX是在应用程序运行时加以控制并制止恶意性破坏的。

体系结构中立:编译器生成体系结构中立的目标文件格式,只要有Java Runtime Environment就能执行。即时编译:将使用最频繁的字节码序列翻译成机器码。即时编译缓解了生成解释字节码速度拖慢的问题。虚拟机还可以检测指令序列的行为以增强其安全性;

可移植性:Java规范中没有依赖具体实现的地方,基本数据类型的大小及有关算法都做了明确的说明。二进制数据以固定的格式进行存储和传输,消除了字节顺序的困扰。字符串均以标准的Unicode格式存储。作为系统组成部分的类库,定义了可移植的接口;

解释型:Java解释器可以在任何移植了解释器的机器上执行Java字节码。

高性能:即时编译器(just in time compiler)可以监控经常执行哪些代码并优化这些代码以提高速度。还可以消除函数调用(即内嵌),即时编译器知道哪些类已经加载。如果基于当前加载的类集,且特定的函数不被覆盖的话就可以内嵌。必要时,还可以撤销优化。

多线程:多线程带来更好的交互响应和实时行为。多线程编译简单。

动态性:将某些代码加入正在运行的程序中时,动态性非常重要。Java当前版本允许程序员知道对象的结构和行为。对于必须在运行时分析对象的系统(Java GUI 构建器、智能调试器、可插拔组件以及对象数据库)非常有用。

Java5.0添加了泛型、“for each”循环、可变元参数、自动装箱、元数据、枚举、静态导入;

Java7添加了基于字符串的switch、变形操作符、二进制字面量、异常处理改进;

转载于:https://www.cnblogs.com/jassic1016/p/6897767.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值