Java Overview
学习目标
- 基本的数据结构
- 流程控制语句(if、for、while等)
- 面向对象的理解(对象、封装、继承、多态)
- 一些关键字的理解(super、this等)
- 接口
- 抽象类
- ArrayList
- String
- Random
- Math
配置java、javac环境(熟悉cmd命令);先用sublime text写代码,培养感觉,熟悉关键字。
第一章 Java程序设计概述
1.2 Java的11个关键术语
- 简单性
- 语法:Java语法是C++语法的一个纯净版本,没有头文件、指针运算(甚至指针语法)、结构、联合、操作符重载、虚基类等。
- size:小,能够在小型机器上独立运行。
- 面向对象
- 将重点放在数据(对象)和对象的接口上,关注的是产品,其次才是使用的工具。
- Java与C++主要不同点在于多重继承,由更简单的接口概念取而代之。相比C++,Java提供了更丰富的运行时自省功能。
- 分布式
- Java有一个丰富的例程库,用于处理像HTTP和FTP之类的TCP/IP协议。Java应用程序能够通过URL打开和访问网络对象,如同访问本地文件一样便利。
- 健壮性
- Java和C++最大的不同在于Java采用的指针模型可以消除重写内存和损坏数据的可能性。
- 安全性
- Java设计成能够防范各种攻击,运行时堆栈溢出,破坏自己的进程空间之外的内存,未经授权读写文件。
- Java浏览器插件不再相信任何远程代码,除非代码有数字签名而且用户同意执行该代码。
- 体系结构中立
- Java虚拟机,即时编译。
- 可移植性
- Java中int永远是32位整数等。
- 除了用户界面相关部分,其他Java库都很好支持平台独立性,不依赖底层操作系统。
- 不仅程序是可移植的,Java API同城也比原生API质量更高。
- 解释型
- 快捷而具有探索性,比如Lisp、Smalltalk、VB、Python、R或Scala
- 高性能
- 性能就是“适用性更强”
- 即时编译器因为含有更多可用信息,某些情况下甚至超越了传统编译器
- 多线程
- 摩尔定律的完结,并发性愈发重要
- 动态性
- 将某些代码添加到正在运行的程序中。比如,从Internet下载代码,然后在浏览器上运行。
- Java允许程序动态地装入运行过程中所需的类;C++ 程序设计过程中,每当在类中增加一个实例变量或一种成员函数后,引用该类的所有子类都必须重新编译,否则将导致程序崩溃。
1.5 Java有关的误解
iOS | 流行语言 |
---|---|
浏览器 | JavaScript |
iOS | Objective C、Swift |
Windows | C++,C# |
服务器端,安卓 | Java |
- Java applet是在网页浏览器中运行的。不如JS可以修改正在显示的文档,applet只能在有限区域控制外观,动态效果处理不如Adobe的flash技术。
- 早期Java是解释型的,现在Java虚拟机使用了即时编译器,速度很快。java是编译型的还是解释型的.