第1章 Java程序设计概述
2015-06-11 22:22
211 查看
Java诞生年份:1996年
1.1 Java程序设计平台
Java并不只是一种语言,Java是一个完整的平台:
有一个庞大的库,其中包含很多可重用的代码,如绘图功能、网络连接功能、数据库存取功能
高质量的执行环境:一个提供诸如安全性、跨操作系统的可移植性以及自动垃圾收集等服务
1.2 Java“白皮书”关键术语
1.简单性
Java语法是C++语法的一个纯净版本
2.面向对象
面向对象是一种程序设计技术,它将重点放在数据(即对象)和对象接口上。
3.网络技能
Java有一个扩展的例程库,用于处理像HTTP和FTP之类的TCP/IP协议。
Java应用程序能够通过URL打开和访问网络上的对象,其便捷程度就好像访问本地文件夹。
Java把打开Socket连接这类繁重的任务变得如此简单。
远程方法调用机制使得分布式对象之间可以进行通信。
4.健壮性(可靠性)
Java编译器能够检测许多在其他语言中仅在运行时刻才能够检测出的问题。
Java和C++最大的不同在于Java采用的指针模型可以消除重写内存和损坏数据的可能性。
5.安全性
Java适用于网络/分布式环境。使用Java可以构建防病毒、防篡改的系统
6.体系结构中立
编译器生成一个体系结构中立的目标文件格式(字节码),只是一种编译过的代码,只要有Java运行时系统(JRE),就可以在许多处理器上运行。精心设计的字节码不仅可以很容易地在任何机器上解释执行,而且还可以迅速翻译成本地机器的代码。
当然,解释字节码肯定会比全速运行机器指令慢很多。
即时编译:虚拟机有一个选项,可以将使用最频繁的字节码翻译成机器码。
7.可移植性
Java规范中没有“依赖具体实现”的地方。基本数据类型的大小以及有关算法都做了明确的说明。例如,Java中int永远为32位整数。
数据类型具有固定的大小,二进制数据以固定的格式进行存储和传输,字符串是用标准的Unicode格式存储的。
8.解释型
Java解释器可以在任何移植了解释器的机器上执行Java字节码。
9.高性能
字节码可以在运行时刻快速地翻译成运行这个应用程序的特定CPU机器码。
10.多线程
多线程可以带来更好的交互响应和实时行为。
只要操作系统支持,Java中的线程就可以利用多个处理器。
在底层,主流平台的线程实现机制各不相同,Java并没有对此实现平台无关性,在不同平台上,调用多线程的代码完全相同;Java把多线程的实现交给了底层操作系统或线程库来完成。
11.动态性
Java中找出运行时类型信息十分简单
1.3 Java applet与Internet
Java已经成为用来开发服务端应用程序的最流行语言,使用这些服务端应用程序可以产生网页、运行后端逻辑。
1.4 Java发展历史
1.5 关于Java的常见误解
1.1 Java程序设计平台
Java并不只是一种语言,Java是一个完整的平台:
有一个庞大的库,其中包含很多可重用的代码,如绘图功能、网络连接功能、数据库存取功能
高质量的执行环境:一个提供诸如安全性、跨操作系统的可移植性以及自动垃圾收集等服务
1.2 Java“白皮书”关键术语
1.简单性
Java语法是C++语法的一个纯净版本
2.面向对象
面向对象是一种程序设计技术,它将重点放在数据(即对象)和对象接口上。
3.网络技能
Java有一个扩展的例程库,用于处理像HTTP和FTP之类的TCP/IP协议。
Java应用程序能够通过URL打开和访问网络上的对象,其便捷程度就好像访问本地文件夹。
Java把打开Socket连接这类繁重的任务变得如此简单。
远程方法调用机制使得分布式对象之间可以进行通信。
4.健壮性(可靠性)
Java编译器能够检测许多在其他语言中仅在运行时刻才能够检测出的问题。
Java和C++最大的不同在于Java采用的指针模型可以消除重写内存和损坏数据的可能性。
语言 | 类型 | 说明 |
C | 有显示指针的语言 | 需要使用指针存取字符串、数组、对象甚至文件 |
VB | 没有显示指针的语言 | 不必使用指针访问这些实体,也不必关心内存分配问题。但没有指针的语言,许多数据结构很难实现。 |
Java | 具有上述双方的优势 | 不需要指针构造诸如字符串、数组这样的结构。但如果必要的话,也能具备指针的能力,如链表。Java绝对是安全的,永远不会存取一个“坏的”指针,造成内存分配错误,也不必防范内存泄漏(垃圾回收机制)。 |
Java适用于网络/分布式环境。使用Java可以构建防病毒、防篡改的系统
6.体系结构中立
编译器生成一个体系结构中立的目标文件格式(字节码),只是一种编译过的代码,只要有Java运行时系统(JRE),就可以在许多处理器上运行。精心设计的字节码不仅可以很容易地在任何机器上解释执行,而且还可以迅速翻译成本地机器的代码。
当然,解释字节码肯定会比全速运行机器指令慢很多。
即时编译:虚拟机有一个选项,可以将使用最频繁的字节码翻译成机器码。
7.可移植性
Java规范中没有“依赖具体实现”的地方。基本数据类型的大小以及有关算法都做了明确的说明。例如,Java中int永远为32位整数。
数据类型具有固定的大小,二进制数据以固定的格式进行存储和传输,字符串是用标准的Unicode格式存储的。
8.解释型
Java解释器可以在任何移植了解释器的机器上执行Java字节码。
9.高性能
字节码可以在运行时刻快速地翻译成运行这个应用程序的特定CPU机器码。
10.多线程
多线程可以带来更好的交互响应和实时行为。
只要操作系统支持,Java中的线程就可以利用多个处理器。
在底层,主流平台的线程实现机制各不相同,Java并没有对此实现平台无关性,在不同平台上,调用多线程的代码完全相同;Java把多线程的实现交给了底层操作系统或线程库来完成。
11.动态性
Java中找出运行时类型信息十分简单
1.3 Java applet与Internet
Java已经成为用来开发服务端应用程序的最流行语言,使用这些服务端应用程序可以产生网页、运行后端逻辑。
1.4 Java发展历史
1.5 关于Java的常见误解
相关文章推荐
- Thinking in JAVA笔记——第九章 接口
- Spring简介
- 从Intellij IDEA14 SpringMVC4+Hibernate4问题得到的启发
- Java集合类
- spring IOC源码解读
- Java内存模型与volatile关键字
- LeetCode_27---Remove Element
- Android Eclipse 环境搭建
- Java Web----EL(表达式语言)详解
- 在Spring中通过EasyUI的dialog创建登录界面
- Java实现的拦截器
- Java实验五(客户端)
- 每日一得,多线程、并发与互斥、同步与异步
- (转)myeclipse工程 junit不能运行 ClassNotFoundException
- Struts 2标签
- Java Iterator的设计模式
- 浅谈Struts2下
- 1.SpringMVC开发环境搭建
- playframework1.x的eclipse插件开源-playtools
- java笔记04 语句与流程控制