《Java核心技术》学习笔记——第1章 Java程序设计概述

版权声明:本文为博主ExcelMann的原创文章,未经博主允许不得转载。

第1章 Java程序设计概述

作者:ExcelMann,转载需注明。

一、Java“白皮书”的关键术语

  1. 简单性
    首先,Java是C++语法的一个“纯净”版本,没有头文件以及指针运算等。其次,简单的另一方面是小。Java的目标之一是支持能够在小型机器上独立运行的软件。现在有一个独立的具有较小类库的Java微型版本(Java Micro Edition),适用于嵌入式设备。
  2. 面向对象
    首先,面向对象设计是一种程序设计技术。它将重点放在数据(即对象)和对象的接口上。
  3. 分布式
    Java有一个丰富的例程库,用于处理像HTTP和FTP之类的TCP/IP协议。能够通过URL打开和访问网络上的对象,其便捷程度就像是访问本地文件一样。
  4. 健壮性
    Java编译器能够检测许多在其他语言中仅在运行时才能检测出来的问题。
  5. 安全性
    一开始,Java就设计成能够防范各种攻击,其中包括:

1.运行时堆栈溢出,这是蠕虫和病毒常用的攻击手段;
2.破坏自己的进程空间之外的内存;
3.未经授权读写文件;

不过在遭遇多次高调攻击之后,浏览器开发商和Oracle开始越来越谨慎。Java浏览器插件不再信任远程代码,除非代码有数字签名而且用户同意执行这个代码

  1. 体系结构中立
    Java编译器会生成与特定的计算机体系结构无关的字节码指令,精心设计的字节码不仅可以很容易地在任何机器上解释执行,而且还可以动态地转换成本地机器代码

即时编译:虚拟机有一个选项,可以将执行最频繁的字节码序列转换成机器码,这一过程称为即时编译.
本地代码,是计算机编程(代码),编译用来运行一个特殊的处理器(如英特尔x86级的处理器)和它的特殊指令集。比如,在x86级CPU的电脑上的本地代码就是x86指令集组成的代码。
在JVM中,无论是解释器解释执行,还是即时编译器编译成本地代码后执行本地代码,最后都是转换成了本地代码(适合当前计算机运行的指令集),交给CPU执行的。解释器可以立马启动和执行,省去编译的时间,立即执行,但是解释器每次执行都要解释转换为本地代码很耗时。即时编译的时间算作程序运行的时间,所以第一次编译时很耗时,程序启动慢,但是编译后可以存储在本地,以后直接调用该本地代码,执行速度快。

  1. 可移植性
    在Java规范中,没有“依赖具体实现”的地方。基本数据类型的大小以及有关运算的行为都有明确的说明。
  2. 解释型
    Java解释器可以在任何移植了解释器的机器上直接执行Java字节码。
  3. 高性能
    字节码可以(在运行时)动态地转换成对应运行这个应用的特定CPU的机器码。
  4. 多线程
    如今,因为摩尔定律即将走到尽头,大家不再追求更快的处理器,而是着眼于获得更多的处理器,而且要让它们一直保持工作。
  5. 动态性
    Java能够适应不断发展的环境。库中可以自由地添加新方法和实例变量,而对客户端却没有任何的影响。

二、Java语言的演进

版本新语言特性
1.0 (1996)语言本身
1.1 (1997)内部类
1.2 (1998)strictfp修饰符
1.3 (2000)
1.4 (2002)断言
5.0 (2004)泛型类、"for each"循环、可变元参数、自动装箱、元数据、枚举、静态导入
6 (2006)
7 (2011)基于字符串的选择语句、菱形运算符、二进制字面量、异常处理增强
8 (2014)lambda表达式、包含默认方法的接口、流和日期/时间库
9 (2017)模块、其他的语言和类库增强
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值