简单的活着

Java Overview

Posted on By Mista Cai

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是编译型的还是解释型的.

java语言的编译-->解释--->执行过程