1.Java语言概述
1.1Java语言是什么
计算机预言是人与计算机之间通信的语言,它主要由一些数字,符号和语法内容组成。计算机语言分类有很多种,大致来讲可以分为三大类,分别是:机器语言、汇编语言和高级语言。
机器语言:都是由二进制0 和1组成的编码,正经人应该都记不住。
汇编语言:采用英文缩写的标识符,相对机器语言更加容易识别和记忆。
高级语言:采用接近于人类的自然语言进行编程,进一步简化了程序编写的过程。
Java是一种优秀的程序设计语言,它具有令人赏心悦目的语法和易于理解的语义。不仅如此,Java还是一个有一系列计算机软件和规范形成的技术体系,这个技术体系提供了完整的用于软件开发和跨平台部署的支持环境,并广泛应用于嵌入式系统、移动终端、企业服务器、大型机等各种场合。
SUN公司将Java划分为三个技术平台,分别是JavaSE 、JavaEE 、JavaME
JavaSE标准版,是为开发普通桌面和商务应用程序提供的解决方案。
JavaEE企业版,是为开发企业级应用程序提供的解决方案。
JavaME小型版,是为开发电子消费产品和嵌入式设备提供的解决方案。
1.2为什么选Java
Java 语言源于 1991 年 Sun 公司 James Gosling 领导的的 Oak 项目,1995 年 Sun 公司正式起名为 Java,并提出“Write once, Run anywhere" 的口号。
1.2.1 简单性
Java语法是C++语法的一个“纯净版本”。这里没有头文件、指针运算(甚至指针语法)、结构、联合、操作符重载、虚基类等等。不仅如此,Java开发环境远远超出大多数其他编程语言的开发环境。
1.2.2 面向对象
什么是面向对象? 这里用吃一顿西红柿蛋炒饭举例,“面向过程”或者说“非面向对象”要想吃到一份西红柿蛋炒饭,需要买鸡蛋,西红柿,准备米饭,打好鸡蛋,切好西红柿,然后炒饭,最后才能吃到嘴里。而“面向对象”就相当于想吃了直接拿出手机点个西红柿蛋炒饭,送到家里直接开吃就行了。
在Java的世界里,一切皆对象。Java的面向对象特性与C++旗鼓相当,与C++的主要不同点在于多重继承。在Java中,取而代之的是更简单的接口概念。而且与C++相比,Java提供了更丰富的运行时自省功能。
1.2.3 分布式(微服务)
比特科技Java有丰富的例程库,用于处理像HTTP和FTP之类的TCP/IP协议。Java应用程序能够通过URL打开和访问网络上的对象,其便捷程度就好像访问本地文件一样。
1.2.4 健壮性
Java与C++最大的不同在于Java采用的指针模型可以消除重写内存和损坏数据的可能性(对于曾经花费几个小时来检查由于指针bug而引起内存冲突的人来说,一定很喜欢Java的这一特性)。不仅如此,Java编译器能够检测许多在其他语言中仅在运行时才能够检测出来的问题。
1.2.5 安全性
Java适用于网络/分布式环境。为了达到这个目标,在安全性方面投入了大量的精力。使用Java可以构建防病毒、防篡改的系统。
从一开始,Java就设计成能够防范常见的各种攻击:
运行时堆栈溢出。蠕虫和病毒常用的攻击手段。
破坏自己进程空间之外的内存。
未经授权读写文件
1.2.6 体系结构中立
编译器生成一个体系结构中立的目标文件格式,这是一种编译过的代码,只要有Java运行时系统,这些编译后的代码就可以在许多处理器上运行。Java编译器通过生成与特定计算机体系结构无关的字节码指令来实现这一特性。精心设计的字节码不仅可以很容易的在任何机器上解释执行,而且还可以动态地翻译成本地机器代码。
1.2.7 可移植性
与C/C++不同,Java规范中没有“依赖具体实现的地方”。基本数据类型的大小以及有关运算都做了明确的说明。例如,Java中的int永远是32位的整数,而在C/C++中,int可能是16位整数、32位整数,也可能是编译器提供商指定的其他大小。在Java中,数据类型具有固定的大小,这消除了代码移植时令人头疼的主要问题。
1.2.8 解释型
Java解释器可以在任何移植了解释器的机器上执行Java字节码。由于链接是一个增量式且轻量级的过程。所以开发过程也变得更加快捷,更加具有探索性。
1.2.9 高性能
尽管对解释后的字节码性能已经比较满意,但在有些场合下可能需要更加高效的性能。字节码可以(在运行时刻)动态的翻译成对应运行这个应用的特定cpu的机器码。
1.2.10 多线程
Java在当时很超前。它是第一个支持并发程序设计的主流语言。多线程可以带来更好的交互响应和实时行为。并发程序设计绝非易事,但是Java在这方面表现出色,可以很好的管理这个工作。
1.2.11 动态性
Java与C/C++相比更加具有动态性。它能够适应不断发展的环境。库中可以自由的添加新方法和实例变量,而对客户端没有任何影响。在Java中找出运行时类型信息十分简单(反射的特性,后续会学到)Java更简单。语法比C,C ++或任何其他语言更具可读性。
1.1.12社区支持
Java拥有强大的社区支持,无论您有什么样的问题,Java论坛和许多其他社区都可以为您提供帮助。
这实际上是我建议初学者学习使用Java进行编程的唯一最大原因,因为当您开始学习编程时,对于编程基础知识和Java都将要面对许多不同种类的问题。
由于周围有数以百万计的Java开发人员,并且有庞大的社区可以为您提供支持,因此您很可能会很快找到答案,而不会感到沮丧和失望。
1.3 JDK的使用
SUN公司提供了一套Java开发环境,简称JDK(Java Development Kit),它是整个Java的核心,其中包含Java编译器、Java运行工具、Java文档生成工具、Java打包工具等。
SUM公司除了提供JDK,还提供了一种JRE(Java Runtime Environment)工具,它是Java的运行环境,是提供给普通用户使用的。
当然,目前咱们编程一般使用InteliJ IDEA开发工具来辅助我们做编程工作,能够大大的降低初学者的压力和编程的复杂度。
1.4Java的运行机制
Java程序运行时,必须经过编译和运行两个步骤。首先将后缀名为.java的源文件进行编译,最终生成后缀名为.class的字节码文件。然后Java虚拟器将字节码文件进行解释执行,并将结果显示出来。
感觉阅读。
最后想说的是:终生学习,保持热爱所有人都会成为想成为的人。