初识JAVA

一、java简要概述

1.诞生史

先来一张“java之父”James Gosling——詹姆斯·高斯林的照片
在这里插入图片描述
在1991年时候,SUN公司猜想嵌入式系统将会在未来家电领域大显身手,于是SUN公司决定让詹姆斯·高斯林(James Gosling)、迈克·谢里丹(Mike Sheridan)和帕特里克·诺顿(Patrick Naughton)于1991年6月启动了“Green计划”。准备开发一种能够在各种消费性电子产品(如机顶盒、冰箱、收音机等)上运行的程序架构。这样我们可以把指令发给电冰箱、 电视机等家用电器,进而实现对它们进行控制,和它们进行信息交流。

这些电子产品有一个共同的特点:计算处理能力和内存都非常有限。所以要求:语言必须非常小且能够生成非常紧凑的代码,这样才能在这样的环境中执行。

开始, 准备采用C++,但C++太复杂, 安全性差, 最后基于C++开发一种新的语言Oak,Oak是一种用于网络的精巧而安全的语言, (Gosling把这种语言称为"Oak",橡树的意思,起名由来1:Gosling向窗外望去,看见一棵老橡树,于是决定叫Oak)Sun公司投标一个交互式电视项目, 但结果被SGI打败。可怜的Oak几乎无家可归, 恰巧这时Mark Ardreesen开发的Mosaic和Netscape启发了Oak项目组的成员。他们用一种全新的语言编写了一款浏览器,得到了Sun公司首席执行官Scott McNealy的支持。

在一次几位该成员组的会员在一家名为“爪蛙”咖啡的店里正在讨论给这个新的语言取什么名字时,有一个人灵机一动说:“就叫 Java 怎样”, 得到了其他人的赞赏,。

于是, Java语言就诞生了。

2.java发展简史

  • 1996 年 1 月 Java 1.0 发布。
  • 1997 年 2 月 Java 1.1 发布,基本确定了Java 语言的基本形态。
  • 1998 年 12 月,Java 第一个里程碑式的版本,即 Java 1.2 发布了。
  • 2000 年 5 月,Java 1.3 发布,这个版本中 Corba 作为语言级别的分布式对象技术,成为 J2EE 的一个技术前提。
  • 2002 年 2 月,Java 1.4 发布,Java 语言真正走向成熟,提供了非常完备的语言特性。
  • 2006 年 5 月, JavaEE 5 发布,其中最主要是 EJB3.0 的版本升级。
  • 2009 年 12 月,JavaEE 6 发布,EE6 全面接纳了注解。
  • 2013 年 6 月,Oracle 发布 JavaEE 7,这个版本加入了 Websocket,Batch 的支持,并且引入 Concurrency 来对 服务器多线程进行管控。
  • 2014 年 3 月,Oracle 发布 Java 8,Java 语言原生提供了函数式编程能力。
  • 2018 年 3 月,Java 10 正式发布,并带来 109 项新特性
  • 2018 年9月25日,Oracle 官方宣布Java 11 (18.9 LTS) 正式发布,可在生产环境中使用

二、主要应用领域与优势

1.应用领域

在这里插入图片描述
java自诞生以来,随着不断的完善和发展,拥有了良好的生态,应用范围也越来越广:

服务器程序:Java在金融服务业的应用非常广泛,许多跨国投资银行例如:GoldmanSachs(高盛投资),Citigroup(花旗集团),Barclays(巴克莱银行)以及其他银行,都用Java来编写前台和后台的电子交易系统,结算和确认系统,数据处理项目以及其他项目。大多数情况下,Java被用在服务器端开发,但多数没有任何前端,它们通常是从一个服务器(上一级)接收数据,处理后发向另一个处理系统(下一级处理)
网站开发:很多的大型知名网站(如网易、淘宝等)就是用JAVA开发的,目前很多大型项目都是用Java开发,例如医疗救护,保险,教育,国防以及其他的不同部门网站都是以Java为基础来开发的。
嵌入式领域:Java在嵌入式领域发展空间很大。在这个平台上,你只需130KB就能够使用Java技术(在智能卡或者传感器上)
大数据技术:Hadoop以及其他大数据处理技术都是用Java或者其他,例如Apache的基于Java的HBase和Accumulo以及ElasticSearchas。

2.JAVA与C\C++的比较

  1. c是面向过程的语言。c++和Java都是面向对象的。在c中没有类或者对象的概念。
  2. java运行在虚拟机上,号称与平台无关。也就是你开发的java程序无论是unix,linux还是windows都可以正常运行。但是实际上这是一个良好的愿望,实际跨平台时还会有各种各样的问题。c和c++都是直接编译成可执行文件,是否能跨平台主要看你用到的编译器特性是否有多平台支持。
  3. 因为c和c++是直接编译成可执行文件,所以运行效率要比java高。
  4. java因为是运行在虚拟机上,不需要考虑内存管理和垃圾回收机制。也是就你可以声明一个对象而不用考虑释放他,虚拟机帮你做这事情。而c和c++语言本身没有多少内存管理的概念,写c和c++程序如果用到指针就一定要考虑内存申请和释放。内存泄漏是c和c++最头疼的问题。
  5. 代码重用:java中有一个根类object,所有的类都是其子类,通过这种方式将容器和算法分离,实现一种操作作用于多种对象,提高代码重用。c++中没有总根对象,但是c++提供了另一个更强大的功能“模板”,同样高效地实现了一种操作作用于多种对象,提供了高效的代码重用方法。
  6. 数据结构:java内建了丰富的数据结构:列表,集合等等(很久没用java了,有些记不太清)。而c++则用“模板”同样提供了各种数据结构(容器)。
  7. c语言在一些比较低层,和硬件打交道的地方用得比较多。另外很多开源软件由于unix/linux开发习惯也大多采用c来开发。Java是现在最流行的开发语言,c++比起java稍稍不那么流行一些,但是功能很强大。

三、JDK环境变量配置

1.打开文件资源管理器,找到此电脑,右击鼠标,点击属性
在这里插入图片描述
2. 点击高级系统设置
在这里插入图片描述
3.点击环境变量
在这里插入图片描述
4.以下变量需要重新配置,若没有此变量,新建变量,变量值如下在这里插入图片描述
5. JAVA_HOME
系统变量中新建建JAVA_HOME变量,变量值是你安装的JDK的路径。注意:不要有多余的空格和其他符号!!!
在这里插入图片描述6. CLASSPATH
创建CLASSPATH变量,变量值为:“.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;”
注意不能有任何多余符号,包含空格!!!
在这里插入图片描述 7. Path
找到环境变量的Path,双击打开以下界面,新建变量。变量值为 C:\Program Files\Java\jdk1.8.0_192\bin 。其中C:\Program Files\Java\jdk1.8.0_192是JDK的安装路径。
在这里插入图片描述
8. 然后确定,保存配置。
9. 测试配置是否成功,win+r键输入cmd
在这里插入图片描述
输入java -version就可以看到版本号
在这里插入图片描述
输入java看到以下界面

在这里插入图片描述
接着输入javac
在这里插入图片描述
如果以上界面没有问题恭喜配置成功。

四、java代码编译和运行

Java是一门半编译型、半解释型语言。先通过javac编译程序把源文件进行编译,编译后生成的.class文件是由字节 码组成的平台无关、面向JVM的文件。最后启动java虚拟机来运行.class文件,此时JVM会将字节码转换成平台能够
理解的形式来运行。

  • JRE(Java Runtime Environment):Java运行时环境,包含了JVM,Java基础类库。是使用Java语言编写程 序运行的所需环境。
  • JDK(Java Development Kit):Java开发工具包,提供给Java程序员使用,包含了JRE,同时还包含了编译 器javac与自带的调试工具Jconsole、jstack等。

Java程序运行需要经过编译,运行两个阶段。

  • 编译:javac 命令
  • 运行:java 命令
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值