Java日记(1)—运行环境和语言介绍

1.Java语言介绍:

Java语言是由Sun Microsystem公司(于2012年被Oracle公司兼并)研制的一种高级语言。
Java语言在Web应用开发,嵌入式开发及大型应用程序开发方面具有明显的优势。


  • Java不仅是一种高级语言,而且也是一个开发平台和运行平台它提供了一系列Java软件开发的工具(如java.exe,javac.exe等应用程序)和环境 , 用于对Java语言开发的源程序进行编译,解释,文档生成和打包等执行过程

  • Java提供了Java程序的运行环境,即JRE(Java Runtime Enviroment)工具,采用Java语言编写的应用程序可以运行在安装了JRE的机器上。

  • Java还是一个部署环境,即把软件安装到机器中的某个位置,并通过配置使程序能够运行起来

     1 .1 Java历史:

    20世纪90年代,硬件领域出现了单片式计算机系统,这种价格低廉的系统一出现就立即引起了自动控制领域人员的注意,因为使用它可以大幅度提升消费类电子产品(如电视机顶盒、面包烤箱、移动电话等)的智能化程度。Sun公司为了抢占市场先机,在1991年成立了一个称为Green的项目小组,帕特里克、詹姆斯·高斯林、麦克·舍林丹和其他几个工程师一起组成的工作小组在加利福尼亚州门洛帕克市沙丘路的一个小工作室里面研究开发新技术,专攻计算机在家电产品上的嵌入式应用。


    由于C++所具有的优势,该项目组的研究人员首先考虑采用C++来编写程序。但对于硬件资源极其匮乏的单片式系统来说,C++程序过于复杂和庞大。另外由于消费电子产品所采用的嵌入式处理器芯片的种类繁杂,如何让编写的程序跨平台运行也是个难题。为了解决困难,他们首先着眼于语言的开发,假设了一种结构简单、符合嵌入式应用需要的硬件平台体系结构并为其制定了相应的规范,其中就定义了这种硬件平台的二进制机器码指令系统(即后来成为“字节码”的指令系统),以待语言开发成功后,能有半导体芯片生产商开发和生产这种硬件平台。对于新语言的设计,Sun公司研发人员并没有开发一种全新的语言,而是根据嵌入式软件的要求,对C++进行了改造,去除了留在C++的一些不太实用及影响安全的成分,并结合嵌入式系统的实时性要求,开发了一种称为Oak的面向对象语言。        

    由于在开发Oak语言时,尚且不存在运行字节码的硬件平台,所以为了在开发时可以对这种语言进行实验研究,他们就在已有的硬件和软件平台基础上,按照自己所指定的规范,用软件建设了一个运行平台,整个系统除了比C++更加简单之外,没有什么大的区别。1992年的夏天,当Oak语言开发成功后,研究者们向硬件生产商进行演示了Green操作系统、Oak的程序设计语言、类库和其硬件,以说服他们使用Oak语言生产硬件芯片,但是,硬件生产商并未对此产生极大的热情。因为他们认为,在所有人对Oak语言还一无所知的情况下,就生产硬件产品的风险实在太大了,所以Oak语言也就因为缺乏硬件的支持而无法进入市场,从而被搁置了下来。
    1994年6、7月间,在经历了一场历时三天的讨论之后,团队决定再一次改变了努力的目标,这次他们决定将该技术应用于万维网。他们认为随着Mosaic浏览器的到来,因特网正在向同样的高度互动的远景演变,而这一远景正是他们在有线电视网中看到的。作为原型,帕特里克·诺顿写了一个小型万维网浏览器WebRunner。[4]  
    1995年,互联网的蓬勃发展给了Oak机会。业界为了使死板、单调的静态网页能够“灵活”起来,急需一种软件技术来开发一种程序,这种程序可以通过网络传播并且能够跨平台运行。于是,世界各大IT企业为此纷纷投入了大量的人力、物力和财力。这个时候,Sun公司想起了那个被搁置起来很久的Oak,并且重新审视了那个用软件编写的试验平台,由于它是按照嵌入式系统硬件平台体系结构进行编写的,所以非常小,特别适用于网络上的传输系统,而Oak也是一种精简的语言,程序非常小,适合在网络上传输。Sun公司首先推出了可以嵌入网页并且可以随同网页在网络上传输的Applet(Applet是一种将小程序嵌入到网页中进行执行的技术),并将Oak更名为Java(在申请注册商标时,发现Oak已经被人使用了,再想了一系列名字之后,最终,使用了提议者在喝一杯Java咖啡时无意提到的Java词语)。5月23日,Sun公司在Sun world会议上正式发布Java和HotJava浏览器。IBM、Apple、DEC、Adobe、HP、Oracle、Netscape和微软等各大公司都纷纷停止了自己的相关开发项目,竞相购买了Java使用许可证,并为自己的产品开发了相应的Java平台。  
    1996年1月,Sun公司发布了Java的第一个开发工具包(JDK 1.0),这是Java发展历程中的重要里程碑,标志着Java成为一种独立的开发工具。9月,约8.3万个网页应用了Java技术来制作。10月,Sun公司发布了Java平台的第一个即时(JIT)编译器。
    1997年2月,JDK 1.1面世,在随后的3周时间里,达到了22万次的下载量。4月2日,Java One会议召开,参会者逾一万人,创当时全球同类会议规模之纪录。9月,Java Developer Connection社区成员超过10万。
    1998年12月8日,第二代Java平台的企业版J2EE发布。1999年6月,Sun公司发布了第二代Java平台(简称为Java2)的3个版本:J2ME(Java2 Micro Edition,Java2平台的微型版),应用于移动、无线及有限资源的环境;J2SE(Java 2 Standard Edition,Java 2平台的标准版),应用于桌面环境;J2EE(Java 2Enterprise Edition,Java 2平台的企业版),应用于基于Java的应用服务器。Java 2平台的发布,是Java发展过程中最重要的一个里程碑,标志着Java的应用开始普及。
    1999年4月27日,HotSpot虚拟机发布。HotSpot虚拟机发布时是作为JDK 1.2的附加程序提供的,后来它成为了JDK 1.3及之后所有版本的Sun JDK的默认虚拟机  。
    2000年5月,JDK1.3、JDK1.4和J2SE1.3相继发布,几周后其获得了Apple公司Mac OS X的工业标准的支持。2001年9月24日,J2EE1.3发布。2002年2月26日,J2SE1.4发布。自此Java的计算能力有了大幅提升,与J2SE1.3相比,其多了近62%的类和接口。在这些新特性当中,还提供了广泛的XML支持、安全套接字(Socket)支持(通过SSL与TLS协议)、全新的I/OAPI、正则表达式、日志与断言。2004年9月30日,J2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE 1.5更名为Java SE 5.0(内部版本号1.5.0),代号为“Tiger”,Tiger包含了从1996年发布1.0版本以来的最重大的更新,其中包括泛型支持、基本类型的自动装箱、改进的循环、枚举类型、格式化I/O及可变参数。
    2005年6月,在Java One大会上,Sun公司发布了Java SE 6。此时,Java的各种版本已经更名,已取消其中的数字2,如J2EE更名为JavaEE,J2SE更名为JavaSE,J2ME更名为JavaME。
    2006年11月13日,Java技术的发明者Sun公司宣布,将Java技术作为免费软件对外发布。Sun公司正式发布的有关Java平台标准版的第一批源代码,以及Java迷你版的可执行源代码。从2007年3月起,全世界所有的开发人员均可对Java源代码进行修改。

    Java创始人之一:詹姆斯·高斯林 
    2009年,甲骨文公司宣布收购Sun[10]  。2010年,Java编程语言的共同创始人之一詹姆斯·高斯林从Oracle公司辞职。2011年,甲骨文公司举行了全球性的活动,以庆祝Java7的推出,随后Java7正式发布。2014年,甲骨文公司发布了Java8正式版


                            --《百度百科》

     1 .2 Java语言简介:

由于Java本身具有诸多优点,如简单,平台无关性,多线程,面向对象,分布式,动态性,安全性,可移植性,健壮性和高效性等,受到广大程序开发者的欢迎。Java应用范围很广,几乎包括了全部的编程与应用领域。



Java为不同的开发应用提供了不同的开发版本:

  • Java标准版(Java SE),提供了标准的JDK开发平台。

  • Java微型版(Java ME),是一种很小的Java运行环境,用于嵌入式的消费和生产产品中

  • Java企业版(Java EE),可以构建企业级的服务应用,如企业信息化,电子商务,电子政务等

2.JDK的安装与配置:

Java的开发平台(JDK)是Java开发人员用来构建Java应用程序的软件包,包括Java虚拟机(JVM),Java编译器(javac),Java归档(jar)实用程序,Java文档(javadoc)实用程序等。

     2.1 JDK的下载与安装(版本均为1.8):



windows32位: http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-windows-i586.exe

windows64位:http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-windows-x64.exe

Linux64位(rpm):http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.rpm

Linux64位(gz):http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.tar.gz

Linux32位(rpm):http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-i586.rpm

Linux32位(gz):http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-i586.tar.gz


(估计因为需要点同意协议,所以上面的链接都失效了,可以访问http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html,然后点了Accept License Agreement。就可以下载所需要的版本了)



以windows64位为例,(JDK为默认安装目录,即C:\Program Files\Java\jdk1.8.0_131)

     2.2配置环境变量:

控制面板——>系统和安全——>系统——>高级系统设置(系统属性)——>“高级”选项卡——>“环境变量”

JAVA_HOME(JDK安装的文件夹) :      

jdk目录

Path(Shell调用命令的默认路径):

在变量值最后处加上         ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;         ;.;%JAVA_HOME%\bin;

CLASSPATH(Java中各种内置“类”库的存放地方,相当于c++中#include<iostream>中iostream所存放的目录):

.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

打开命令行:输入 java -version和 javac -version;如图所示:

这里写图片描述



CentOS7配置环境变量:

vim ~/.bashrc
在最后加上:

set (JAVA_HOME=jdk的安装目录)
export JAVA_HOME
set PATH=$JAVA_HOME/bin:$PATH
export PATH
set CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export CLASSPATH

wq退出

source ~/.bashrc

运行java -version和javac -version检测

     2.3 Eclipse的安装:

Eclipse是目前常用的Java的集成开发环境之一,它集成了Java代码编辑器,编译器,调试器和图形用户界面等工具。具有代码编写,分析,编译,调试等一系列功能。Eclipse是一个免费开源,基于Java的可扩展开发平台,Eclipse具有丰富的插件可以进行各种各样的开发。

下载Eclipse:官网为http://www.Eclipse.org

(不知是因为宿舍的缘故还是访问外网的缘故,下载非常慢,也可以直接用我的网盘下载:https://pan.baidu.com/s/1pKAQ4if 内含JDK,Eclipse和安装教程。感谢贺同学)

Eclipse是个压缩文件,我的解压目录为:E:\Eclipse。需要注意的是,必须在安装了JDK之后,Eclipse才能正常运行。制定的目录下可建立workspace文件夹用于存放Java程序项目(我的workspace文件夹为:E:\JAVA程序)

3.Java程序运行机制:

编写源代码
      源文件的扩展名为 .java,原文件名应该与该文件中被修饰为public的类名相同。
编译:
      完成Java源代码后,需要对他进行编译,生成符合Java虚拟机规范的字节码,编译后的文件叫做类文件。得到的是以”.class”为扩展名的字节码文件.
类装载(ClassLoader):
      类装载的功能是为执行程序寻找和装载所需要的类。也就是在字节码文件里找到需要的类并装载到解释器中。
字节码校验:
      字节码(byte-code)校验的功能是对类文件的代码进行校验,保证代码的安全性,字节码校验器对程序代码进行四遍校验,这可以保证代码符合JVM的规范并且不破坏系统的完整性。
解释:
      由字节码解释器将类文件解释成机器能够理解和执行的格式,以便机器执行
运行:
      最后由运行环境中的Runtime运行代码,真正实现成语需要机器完成的工作。

Java虚拟机(Java Virtual Machine,JVM)在Java编程中具有非常重要的地位,它是真实机器中庸软件模拟实现的一种想象的计算机。Java虚拟机代码被存储在类文件中。 Java虚拟机规范为不同的硬件平台提供了一种编译Java技术代码的规范,该规范使Java软件独立于平台.

4.Eclipse环境下的运行过程(windows64):

       4.1建立项目:

File —— New —— Java Project —— 在Project name中输入项目名;选择JRE;—— FINISH —— 可以看到默认有一个名字为“src”的目录

       4.2建立包:

(所有的包默认在src目录下):右键“src”—— new —— Package —— 输入包名(以.分割,在解析包名是.会改成\(windows)或/(linux) —— Finish

       4.3创建类:

右键包名 —— new —— Class —— 输入类名,并选择 public static void main(String args[]),表示包含主函数的类 —— Finish (会创建 类名.java 的源文件)

       4.4调试程序:

方法很多,快捷键是Ctrl+F11,debug是F11
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值