Java学习day001 Java程序设计概述

使用的教材是java核心技术卷1,我将跟着这本书的章节同时配合视频资源来进行学习基础java知识。

day001 了解Java(Java程序设计概述)

第一部分   Java程序设计平台

      Java是一个完整的平台,有一个庞大的库,其中包含了很多可重用的代码和一个提供诸如安全性、跨操作系统的可移植性以及自动垃圾收集等服务的执行环境。它具有令人赏心悦目的语法和易于理解的语义,正是因为它集多种优势于一身,所以对广大的程序设计人员有着不可抗拒的吸引力。

第二部分   Java的部分术语

  • 简单性​​​​​​​​​​​​​​
    • ​​​​​​​学过C++的同学可能接触过头文件、指针等,比较难理解,Java语法就是C++语法的一个简单版本,例如switch语句的语法在java中就没有改变。
    • Java的目标之一是支持开发能够在小型机器上独立运行的软件。
  • 面向对象
    • ​​​​​​​面向对象设计是一种程序设计技术(OOP)。它将重点放在数据(即对象)和对象的接口上。用木匠打一个比方,一个“面向对象的”木匠始终关注的是所制作的椅子,第二位才是所使用的工具;一个“非面向对象的”木匠首先考虑的是所用的具。
  • 分布式
    • Java有一个丰富的例程库,用于处理像HTTP和FIT之类的TCP/IP协议。Java应用程序能够通过URL打开和访问网络上的对象,其便捷程度就好像访问本地文件一样。
  • 健壮性
    • Java编译器能够检测许多在其他语言中仅在运行时才能够检测出来的问题。
  • 安全性
    • 运行时堆栈溢出。如蠕虫和病毒常用的攻击手段。
    • 破坏自己的进程空间之外的内存。
    • 未经授权读写文件。
  • 体系结构中立
    • ​​​​​​​编译器生成一个体系结构中立的目标文件格式,这是一种编译过的代码,只要有Java运行时系统,这些编译后的代码可以在许多处理器上运行。Java编译器通过生成与特定的计算机体系结构无关的字节码指令来实现这一特性。精心设计的字节码不仅可以很容易地在任何机器上解释执行,而且还可以动态地翻译成本地机器代码。(为“虚拟机”生成代码)
  • 可移植性
    • ​​​​​​​在Java中,数据类型具有固定的大小,这消除了代码移植时令人头痛的主要问题。二进制数据以固定的格式进行存储和传输,消除了字节顺序的困扰。字符串是用标准的Unicode格式存储的。
    • 作为系统组成部分的类库,定义了可移植的接口例如,有一个抽象的Window类,并给出了在UNIX、Windows和Macintosh环境下的不同实现。
    • 不仅程序是可移植的,Java API往往也比原生API质量更高。
  • 解释型
    • ​​​​​​​Java解释器可以在任何移植了解释器的机器上执行Java字节码。由于链接是一个增量式且轻量级的过程,所以,开发过程也变得更加快捷,更加具有探索性。
  • 高性能
    • ​​​​​​​字节码可以(在运行时刻)动态地翻译成对应运行这个应用的特定CPU的机器码。
    • 例如,即时编译器可以监控经常执行哪些代码并优化这些代码以提高速度。更为复杂的优化是消除函数调用(即“内联”)。即时编译器知道哪些类已经加载。基于当前加载的类集,如果特定的函数不会被覆盖,就可以使用内联。必要时,还可以撤销优化。
  • 多线程
    • ​​​​​​​多线程可以带来更好的交互响应和实时行为。
  • 动态性
    • ​​​​​​​它能够适应不断发展的环境库中可以自由地添加新方法和实例变量,而对客户端却没有任何影响。在Java中找出运行时类型信息十分简单。

第三部分    Java applet 与Internet

  • 用户从Internet下载Java字节码,并在自己的机器上运行。在网页中运行的Java程序称为applet。要使用applet,需要启用Java的Web浏览器执行字节码。不需要安装任何软件。任何时候只要访问包含applet的网页都会得到程序的最新版本。最重要的是,要感谢虚拟机的安全性,它让我们不必再担心来自恶意代码的攻击。

第四部分    Java发展简史

  • Java的历史要追溯到1991年,由PatrickNaughton和JamesGosling(一个全能的计算机奇才)带领的Sun公司的工程师小组想要设计一种小型的计算机语言,主要用于像有线电视转换盒这类的消费设备。由于这些消费设备的处理能力和内存都很有限,所以语言必须非常小且能够生成非常紧凑的代码。另外,由于不同的厂商会选择不同的中央处理器(CPU),因此这种语言的关键是不与任何特定的体系结构捆绑在一起。这个项目被命名为“Green”。
  • 1996年年初,Sun发布了Java的第1个版本:人们很快地意识到Java1.0不能用来进行真正的应用开发。的确,可以使用Java1.0来实现在画布上随机跳动的神经质的文本applet,但它却没有提供打印功能。坦率地说,Java1.0的确没有为其黄金时期的到来做好准备。后来的Java1.丨弥补了其中的大多明显的缺陷,大大改进了反射能力,并为GUI编程增加了新的事件处理模型:不过它仍然具有很大的局限性。
  • 1998年JavaOne会议的头号新闻是即将发布Java1.2版。这个版本取代了早期玩具式的GUI,并且它的图形T.具箱更加精细而具有可伸缩性,更加接近“一次编写,随处运行”的承诺,,在1998年12月Java1.2发布7天之后,Sun公司市场部将其名称改为更加吸引人的“Java2标准版软件开发工具箱丨.2版”。
  • 2014年,Java8终于发布,在近20年中这个版本有了最大的改变。Java8提供了一种“函数式”编程方式,可以很容易地表述并发执行的计算。所有编程语言都必须与时俱进,Java在这方面显示出非凡的能力。
  • Java学习day001 Java程序设计概述_第1张图片

第五部分    常见的误解

  • Java是HTML的扩展。Java是一种程序设计语言;HTML是一种描述网页结构的方式。除了用于在网页上放置Java applet的HTML扩展之外,两者没有任何共同之处。
  • 使用XML,所以不需要Java。Java是一种程序设计语言;XML是一种描述数据的方式。可以使用任何一种程序设计语言处理XML数据,而Java API对XML处理提供了很好的支持。
  • Java是一种非常容易学习的程序设计语言。
  • Java将成为适用于所有平台的通用性编程语言。
  • Java只不过是另外一种程序设计语言。
  • Java是专用的,应该避免使用。
  • Java是解释型的,因此对于关键的应用程序速度太慢了。
  • 所有的Java程序都是在网页中运行的所有的Javaapplet都是在网页浏览器中运行的。这也恰恰是applet的定义,即一种在浏览器中运行的Java程序。然而,大多数Java程序是运行在Web浏览器之外的独立应用程序。实际上,很多Java程序都在Web服务器上运行并生成用于网页的代码。
  • Java程序是主要的安全风险
  • JavaScript是Java的简易版。JavaScript是一种在网页中使用的脚本语言,它是由Netscape发明的,原来的名字叫做LiveScript。JavaScript的语法类似Java,除此之外,两者无任何关系。
  • 使用Java可以用廉价的Internet设备取代桌面计算机

你可能感兴趣的:(Java基础学习)