第一课:初识Java

目录

为什么要学习Java?

Java语言用途广泛:

Java语言发展史

Java语言的特点

1.开源的

2.简单性

3.面向对象

4.跨平台

5.高性能

6.动态特性

7.安全性

(1)Java 语言本身的安全性设计

(2)编译检查

(3)运行检查

(4)网络接口级的安全检查

Java的体系结构

Java的运行机制

Java运行环境的安装与配置

 配置Java开发环境步骤:


为什么要学习Java?

Java语言用途广泛:

1.服务器程序:银行,证券交易平台,电子商务后台......

2.Android应用:安卓手机,各种移动设备,智能家电......

3.软件工具:开发工具eclipse,IneteliJIdea。

4.嵌入式领域:智能卡,传感器上。

5.大数据技术:Hadoop以及其他大数据处理技术都用Java。

Java语言发展史

  在1991年时候,James Gosling(詹姆斯·高斯林)在sun公司的工程师小组,需要设计一种小型计算机语言,该语言主要用于像电视机顶盒,家用电器等这样的消费类电子产品,这些电子产品有一个共同的特点︰计算处理能力和内存都非常有限,所以要求︰语言必须非常小且能够生成非常紧凑的代码,这样才能在这样的环境中执行,另外,由于不同的厂商选择不同的CPU,因此,要求该语言不能和特定的体系结构绑在一起,要求语言本身是中立的,也就是在不同的平台上运行(即跨平台)。

  所以在sun公司内部成立了一个Green项目组,该小组的领导人是James Gosling。他们开发出了一种语言,起初把它命名为Oak(橡树的意思,Gosling注意到自己办公室外一棵茂密的橡树Oak,这是一种在硅谷很常见的树。所以他将这个新语言命名为Oak。但Oak是另外一个注册公司的名字。这个名字不可能再用了),后来将名字改为java,Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名。JAVA的标识也正是一杯正冒着热气的咖啡。经过多年的开发,最终于1995年正式确立。
1996年1.0版本发布
2009年SUN公司被Oracle公司(全球最大的企业级软件开发公司)收购

Java语言的特点

1.开源的

开源就是开放程序源代码。就是把程序源代码发放出来,让程序的用户可以获得。
开源和收不收费没有关系,开源软件同样可以收费。

2.简单性

  Java语言简单而高效,基本Java系统所占空间只有250 KB左右。当然,这与Java 的起源有很大关系。前已述及,Java 最初是为了对家用电器进行集成控制而设计的一种语言,因此它必须具有简单明了的特性。
  我们注意到,Gosling 等人在设计 Java之初,是从改写C++ 编译器入手的,这就使 Java具有了以下特点:其语言风格类似于 C++,保留了 C++ 语言的优点:摈弃了 C++ 中不安全且容易引发程序错误的指针:消除了 C++中可能给软件开发、实现和维护带来麻烦的地方,包括其冗余、二义性和存在安全隐患之处,如操作符重载、多重继承和数据类型自动转换等;简化了内存管理和文件管理------Java 提供了 C++ 中不具备的自动内存垃圾搜集机制,从而滅轻了编程人员进行内存管理的负担,有助于减少软件错误。从这些方面看,Java 是
C++的简化和改进,因而C++程序员可以很快掌握 Java 编程技术。
  Java 的简单性是以增加运行时系统的复杂性为代价的。以内存管理为例,自动内存垃圾处理减轻了面向对象编程的负担,但 Java 运行时系统却必须内嵌一个内存管理模块。虽然如此,对编程人员而言,Java 的简单性只会是一个优点,它可以使我们的学习曲线更趋合理化,加快我们的开发进度,减少程序出错的可能性。

3.面向对象

  Java 语言是纯面向对象的,它不像C++ 那样既文特面向对象的技木,又支持面向过程的程序设计技术。这里只从一个侧面说明面向对象的编程语言与面向过程的编程语言之问的区别。
传统的面向过程的编程语言把程序概括为:程序=数据结构+算法;而面向对象的编程语言把程序概括为:程序=对象+消息
  在面向对象的技术中,可以把现实世界中的任何实体都看做对象。对象其实就是现实世界模型的一个自然延伸。现实世界中的对象均具有属性和行为,映射到计算机程序上,属性用数据表示,行为用程序代码实现。可见,对象实际上就是数据和算法(程序代码)的封装体,它用一个自主式框架把代码和数据结合在一起。面向对象的程序设计技术较传统的面向过程的程序设计技术更能真实地模拟现实世界。
(1)万物皆对象。
(2)程序是对象的集合,它们通过发送消息实现调用。
(3)每个对象都有自己的由其他对象所构成的存储。
(4)每个对象都拥有其类型。
(5)某个特定类型的所有对象都可以接收同样的消息。
  Java 语言是纯面向对象的,它的设计集中于对象及其接口,提供了简单的类机制以及动态的接口模型。对象中封装了它的属性和行为,实现了模块化和信息隐藏:而类则提供了一类对象的原型,并且通过继承机制,子类可以使用父类所提供的方法,实现了代码的复用。

4.跨平台

  程序的可移植性指的是程序不经修改就能在不同硬件或软件平台上运行的特性,即“一次编写,到处运行”的特性。可移植性在一定程度上决定了程序的可应用性。可移植性分为两个层次:源代码级可移植性和二进制代码级可移植性。C和C++只具有一定程度的源代码级可移植性,其源程序要想在不同平台上运行,必须重新编译。而 Java 不仅是源代码级可移植的,甚至经过编译之后形成的二进制代码一一字节码,也同样是可移植的。
  Java 采用了多种机制来保证可移植性。

5.高性能

  一般情況下,可移植性、稳定性和安全性几乎总是以牺牲性能为代价的,解释型语言的执行效率一般也要低于直按执行源码的速度。但Java 所采用的措施却很好地弥补了这些性能差距。这些措施包括:
(1)高效的字节码。

  Java 字节码格式的设计充分考虑了性能因素,其字节码的格式非常简单,这使得经由 Java 解释器解释执行后可产生高效的机器码。Java编译器生成的字节码和机器码的执行效率相差无儿。据统计,Java 字节码的执行效率非常接近于由C和C++生成的机器码的执行效率。

(2)多线程。

   线程是现代操作系统提出的一个新概念,是比传统的进程更小的一种可并发我行的执行单位。线程的概念提高了程序执行的并发度,从而可提高系统效率。
(3)及时编译和嵌入C代码。

  及时编译是指在运行时把字节码编译成机器码,这意味着代码仍然是可移植的。

6.动态特性

  多数面向对象程序设计语言在系统设计和编程阶段都能充分体现OO思想,但却很难将其延伸到系统运行和维护阶段。这主要是因为多数语言都采用静态链接机制。
  Java 采用“滞后联编”机制,即动态链接机制,解决了上述问题。Java 的“滞后联编”技术将OO特点延伸到系统的运行阶段。Java 程序的基本组成单位是类,若一个系统是由多个类模块组成的,则编译时每个类被分别编译成相应的类文件,即字节码文件。一个字节码系统由若千个字节码文件组成,使得系统的类模块性得以保留。在系统运行时,字节码文件按程序运行的需要而动态装载(也可以通过网络来载入)。因此,如果在一个系统中修改了某一个类,只需要对此类重新编译,而系统中的其他类不必重新编译。这就保证了系统在运行阶段可以动态地进行类或类库的修改或升级。“滞后联编”机制使得 Java 程序能够适应不断变化的运行环境,使用户能够真正拥有“即插即用” (plug-and-play)的软件模块功能。
  此外,Java 的动态性还表现在支特动态数据类型和动态协议方面。通过编写协议句柄,Java 可以支持新的、自定义的传输协议。编写内容句柄可以支特新的数据类型。

7.安全性

  Java 设计的目的是用于网络/分布式计算环境。为此,Java提供了一系列安全检查机制,使得Java 更具健壮性和安全性。Java 的安全检查机制分为多级,主要包括 Java 语言本身的安全性设计、严格的编译检查、运行检查和网络接口级的安全检查等。

(1)Java 语言本身的安全性设计

  不支持窄化类型转换;

  不支持指针数据类型;

  数组下标越界检查机制;

  完善的日常处理机制;

  自动内存垃圾收集机制;

(2)编译检查

(3)运行检查

  字节码校验器;

  运行时内存布局和类装载器;

  文件访问限制;

(4)网络接口级的安全检查

Java的体系结构

  JavaSE:Java Standard Edition(标准版)JavaSE包含那些构成Java语言核心的类。比如∶数据库连接、接口定义、输入/输出、网络编程。
  JavaEE:Java Enterprise Edition(企业版)JavaEE包含JavaSE中的类,并且还包含用于开发企业级应用的类。比如: servlet、JSP、服务器。
  JavaME:Java Micro Edition(微缩版)JavaME包含JavaSE中一部分类,用于消费类电子产品的软件开发。比如∶呼机、智能卡、手机、PDA、机顶盒。
  简单讲就是∶
 JavaSE:java Standard Edition (Java标准版)。

 JavaEE:java Enterprise Edition( Java企业版)。

 JavaME:java Micro Edition (Java微缩版)。

Java的运行机制

核心机制之Java虚拟机

1.Java虚拟机可以理解成一个翻译器。

2.对于不同的运行平台,有不同的虚拟机。

3.Java 虎拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,随处运行”。

 开发java源代码(*.java)---编译(编译器jdk)--->标准字节码文件(*.class)---执行(JVM虚拟机)--->翻译成不同平台支持的机器码。

什么是JDK,JRE,JVM,三者之间的关系
JDK:Java语言的软件开发工具包;
JRE:Java运行环境,包含JVM标准实现及Java核心类库;
JVM:Java虚拟机,用来支持跨平台。
三者关系:

Java运行环境的安装与配置

 配置Java开发环境步骤:

  下载并安装JDK;

安装保存至选择路径或默认路径;     

设置Windows环境变量:

path: D:\ProgramFiles\Java\jdk1.8.0_261\bin ;

下载并安装IDEA;

创建项目,写第一个程序:

运行:

 

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值