Java概述及开发环境搭建_第1页
Java概述及开发环境搭建_第2页
Java概述及开发环境搭建_第3页
Java概述及开发环境搭建_第4页
Java概述及开发环境搭建_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java概述及开发环境搭建通过本章的学习能够达到以下目标:认识Java并了解其进展历史。能够安装并配置Java开发环境。把握Java中Path及classpath属性的作用。能够编写并运行一个简单的Java程序。能够把握Java的开发流程。Java是一门程序设计语言,其本身的进展通过了一系列的过程。本章将第一介绍Java的进展历程,让读者对Java有一个差不多的认识,了解Java的要紧作用,接着详细讲解Java开发环境的搭建,包括Java开发中一些差不多的注意事项。本章视频录像讲解时刻为35分钟,源代码在光盘对应的章节下。认识Java什么是JavaJava是Sun(全称为StanfordUniversityNetwork,1982年成立,Sun公司的Logo如图1-1所示)公司开发出来的一套编程语言,主设计者是JamesGosling(如图1-2所示),最早来源于一个叫Green的项目,那个项目原先的目的是为家用电子消费产品开发一个分布式代码系统,如此就能够通过网络对家用电器进行操纵。开始Sun的工程师们预备采纳C++,但由于C++过于复杂,安全性差,最后决定基于C++开发一种新语言Oak(Java的前身,1991年显现),Oak是一种用于网络的、精巧而安全的语言,Sun公司曾以此投标过一个交互式电视项目,但结果被SGI打败。因此当时的Oak几乎"无家可归”,恰巧这时MarkArdreesen开发的Mosaic和Netscape启发了Oak项目组成员,Sun的工程师们用Java编制了HotJava扫图1-1Sun公司图1-1Sun公司Logo图1-2JamesGoslingJava语言进展到今天经历了一系列的过程,Java在1995年5月23日推出了JDK1.0版本,此版本标志着Java正式进军Internet的开始,在1998年对之前的JDK进行了升级并推出了JDK1.2的开发包,该版本加入了大量的轻量级组件包,从此之后Java被正式命名为Java2。Java语言进展到今天经历了以下3个进展方向。J2SE:Java2PlatformStandardEditiono包含构成Java语言核心的类,如数据库连接、接口定义、输入/输出和网络编程。J2ME:Java2PlatformMicroEdition。包含J2SE中一部分类,用于消费类电子产品的软件开发,如呼机、智能卡、手机、PDA和机顶盒。J2EE:Java2PlatformEnterpriseEditionoEnterpriseEdition(企业版)包含J2SE中的所有类,同时还包含用于开发企业级应用的类,如EJB、Servlet、JSP、XML和事务操纵,也是现在Java应用的要紧方向。尽管Java语言的进展方向有3个,然而这3门技术中最核心的部分是J2SE,而J2ME和J2EE是在J2SE基础之上进展起来的,3种技术的关系如图1-3所示。另外要提醒读者的是,在2005年Java十周年大会之后这3门技术又重新更名:J2SE更名为JAVASEoDC、MIDFJ2SE更名为JAVASEoDC、MIDFj2Me|更名为jAV^Me。J2EE更名为JAVA直E。诙心JAVASEAFIJVM图1-33种技术的关系Java语言的特点Java语言的许多有效的特性吸引着程序员们,下面介绍最要紧的几个。.简洁有效Java语言是一种相当简洁的“面向对象”程序设计语言,它省略了C++语言中所有的难以明白得、容易混淆的特性,如头文件、指针、结构、单元、运算符重载和虚拟基础类等,更加严谨、简洁。.可移植性关于一个程序员而言,写出来的程序如果不需要修改就能够同时在Windows、MacOS.UNIX等平台上运行,简直确实是美梦成真,而Java语言就让那个原本遥不可及的事差不多越来越近了。使用Java语言编写的程序,只要做较少的修改,甚至有时全然不需修改即可在不同平台上运行。.面向对象能够这么讲,“面向对象”是软件工程学的一次革命,大大提升了人类的软件开发能力,是一个伟大的进步,是软件进展的一个重大的里程碑。在过去的30年间,“面向对象”有了长足的进展,充分体现了其自身的价值,到现在差不多形成了一个包含“面向对象的系统分析”、“面向对象的系统设计”和“面向对象的程序设计”的完整体系。因此作为一种现代编程语言,是不能够偏离“面向对象”这一方向的,Java语言也不例外。.讲明型Java语言是一种讲明型语言,有关于C/C++语言来讲,用Java语言写出来的程序效率低,执行速度慢。但它能够通过在不同平台上运行Java讲明器,对Java代码进行讲明,来实现“一次编写,到处运行”的目标。为了达到目标,牺牲效率依旧值得的,而且,现在的运算机技术日新月异,运算速度也越来越快,用户可不能感到太慢。.适合分布式运算Java语言具有强大的、易于使用的联网能力,专门适合开发分布式运算的程序。Java应用程序能够像访咨询本地文件系统那样通过URL访咨询远程对象。使用Java语言编写Socket通信程序比使用任何其他语言都简单。而且它还十分适用于公共网关接口(CGI)脚本的开发,另外还能够使用Java小应用程序(Applet)、Java服务器页面(JavaServerPage,JSP)、Servlet等手段来构建更丰富的网页。.拥有较好的性能由于Java是一种讲明型语言,因此它的执行效率相对就会慢一些,但由于Java语言采纳了下面两种手段,使其拥有较好的性能。Java语言源程序编写完成后,先使用Java伪编译器进行伪编译,将其转换为中间码(也称为字节码)再讲明。提供了一种“准实时”(Just-in-Time,JIT)编译器,当需要更快的速度时,能够使用JIT编译器将字节码转换成机器码,然后将其缓冲下来,如此速度就会更快。.健壮、防患于未然的特点Java语言在伪编译时,做了许多早期潜在咨询题的检查,同时在运行时又做了一些相应的检查,能够讲是一种最严格的“编译器”。它的这种“防患于未然”的手段将许多程序中的错误都扼杀在“摇篮”之中,经常有许多在其他语言中必须通过运行才会暴露出来的错误,在编译时期就被发觉了。另外,在Java语言中还具备了许多保证程序稳固、健壮的特性,有效地减少了错误,也使Java应用程序更加健壮。.具有多线程处理能力线程是一种轻量级进程,是现代程序设计中必不可少的一种特性。多线程处理能力使程序具有更好的交互性、实时性。Java在多线程处理方面性能超群,具有让设计者惊喜的强大功能,而且在Java语言中进行多线程处理也专门简单。.具有较高的安全性Java语言在设计时在安全性方面考虑得专门认真,做了许多探究,使Java语言成为目前最安全的一种程序设计语言。尽管Sun公司曾经许诺过:"通过Java能够轻松构建出防病毒、防黑客的系统”,但就在JDK(JavaDevelopmentKit)1.0公布不久后,美国Princeton(普林斯顿)大学的一组安全专家发觉了Java1.0安全特性中的第一例错误。从此,Java安全方面的咨询题开始被关注。只是至今所发觉的安全隐患都专门微不足道,而且Java开发组还宣称,他们对系统安全方面的Bugs专门重视,会对这些被发觉的Bugs赶忙进行修复。另外,由于Sun公司开放了Java讲明器的细节,因此有助于通过各界力量共同发觉、防范、禁止这些安全隐患。是一种动态语言Java是一种动态的语言,这表现在以下两个方面:在Java语言中,能够简单、直观地查询运行时的信息。能够将新代码加入到一个正在运行的程序中。是一种中性结构Java编译器生成的是一种中性的对象文件格式,也确实是讲,Java编译器通过伪编译后,将生成一个与任何运算机体系统无关的“中性”的字节码。这种中性结构事实上并不是Java首创的,在Java显现之前UCSDPascal系统就已在一种商业产品中做到了这一点,另外,在UCSDPascal之前也有这种方式的先例,如在NiklausWirth实现的Pascal语言中就采纳了这种结构降低一些性能,以换取更好的可移植性和通用性的方法。Java的这种字节码通过了许多精心的设计,使其能够专门好地兼容于当今大多数流行的运算机系统,在任何机器上都易于讲明,易于动态翻译成为机器代码。种,Java是两种类型的Hello1..1.3Java程序的运行机制和种,Java是两种类型的Hello集合,在运算机高级语言类型要紧有编译型和讲月集合,在借理代码的过程如图1-4所示;图1-4Java程序的运行机制从图1-4中能够看出,在Java中源文件名称的后缀为.java,之后通过编译使*.java的文件生成一个*.class文件,在运算机上执行*.class文件,然而现在执行*.class的运算机并不是一个物理上能够看到的运算机,而是Java自己设计的一个运算机——JVM,Java也是通过JVM进行可移植性操作的。在Java中所有的程序差不多上在JVM(JavaVirtualMachine)上运行

的。JVM是在一台运算机上由软件或硬件模拟的运算机。Java虚拟机(JVM)读取并处理经编译过的、•.IVMfcrCCa与平台无关的字节码class文件。JSourceJava编译Source.class执行 'DOSJVMforWinxWindowsava讲明器负责将Java虚拟机的—,|二 , ►JVMforUNIXUNIX代码在特定的平台上运行。JVMOtherOtherPlatform的差不多原理如图1-5所示。图1-5JVM差不多原理从图1-5中能够发觉,所有的*.class文件差不多上在JVM上运行的,即*.class文件只需要认识JVM,由JVM再去适应各个操作系统。如果不同的操作系统安装上符合其类型的JVM,那么以后程序不管到哪个操作系统上差不多上能够正确执行的。提示:关于Java可移植性的简单明白得。有些读者可能专门难明白得以上的讲明,事实上那个过程就类似于下面的一种情形:现在有一个中国富商,他同时要和美国、韩国、俄罗斯、日本、法国、德国等几个国家洽谈生意,但是他不明白这些国家的语言,因此他针关于每个国家请了一个翻译,他讲的话就只对翻译讲,不同的翻译会将他讲的话翻译给不同国家的客户,如此富商只需要讲一句话给翻译,那么就能够同几个国家的客户沟通了。Java开发环境搭建

图1-6Sun公司网站首页1.2.1JDK的安装与配置安装JDK分为以下两个步骤:第一要预备好JDK的安装文件jdk-6u11-windows-i586-p.exe。配置环境变量Path。用的是默认的安装名在安装JDK时会让用户选择JDK和JRE的安装名目,此次安装名目使目,如图一1-7〜图1-10所示用的是默认的安装名ICvt*mSiiinp *.- DH!ibnaibE»r!fthr _JDK安装完成之后,即可看到如图1-10所示的安装文件夹,其中的bi此命令InrtdIi:aws:JavaW*II.rnUr^pih-daX£LtiWsii FAiifr*Sek':'沱jvNtggw垢pgg此命令InrtdIi:aws:JavaW*II.rnUr^pih-daX£LtiWsii FAiifr*Sek':'沱jvNtggw垢pggw 、wsf\*':k^eHgnil«Mcrilri|iJimg4HAdd.Fno-MPie^mwidti*ri4w一r. 『5*5脖心唾购图1-8 选择JRE的安ErsiK±R»jWr#linHcnraMw!jlcbti*文件忌今后要使用的各种Java命令,然而这些命令本身并不在Windo冬mil笛Ficckitb^rtrrtmmniEEmdncictairivri*b«nMi:■PjUiliCMU-io'rniv pAiifHrf,JfMl^INUCJ■神地刑奇Songjlg的SW¥0野融SltFgq"Accaai!x--art'|*utaaiaiMidifc«LrwitriEriWharr^xj田*.E也piMkxftmdrrilamYH心鼠心心寸XJL%防心NgihHZfll^iVii-dIm图1-7、选择aVxMA图1-9JDK和JRE安装完成 图1-10JDK安装后名目设置Path的流程为:选择【我的电脑】一【属性】命令,打开【系统属性】对话框,如图1-11所示,选择【高级】选项卡,单击【环境变量】按钮,打开【环境变量】对话框,在其中能够编辑Path信息,如图1-12所示。在编辑Path时,能够直截了当设置Java的安装路径。即在【环境变量】对话框中单击【系统变量】栏中的【编辑】按钮,弹出【编辑系统变量】对话框,在【变量值】文本框的最后加上路径,在加之前使用“;”将之前的路径分隔开,如加入内容“;D:\Java\jdk1.6.0_11\bin”,如图1-13所示。

■WJLTu>.WtffB2J2S1!Eft皿:・|la^ki««£rwr1ST■:'ifi-hDMlriL.cWKi'ij^il!:■£>C:!ii*n*<rA3nJUbLgaG.^lKUHiAaujIWiLngmUiiTN|UlBlgi|■WJLTu>.WtffB2J2S1!Eft皿:・|la^ki««£rwr1ST■:'ifi-hDMlriL.cWKi'ij^il!:■£>C:!ii*n*<rA3nJUbLgaG.^lKUHiAaujIWiLngmUiiTN|UlBlgi|辙厦)1设置完后单击【确定】按钮即可储存设置,然后启动Cmd命令行方式,溶,则表示JDK配置成功〉输入javac,如果显现如图1-14所示扣乏图J【系统属性】对话框境变量】对话框gHI'.:' |idklE-《*i:L»4n«A•M-wwari*-f土g-MfdnSC^EkfiFiibJt—Fh,-mHdmLn>GeE*Jhl:L4+虹H jlhTifcEHFr3dflbjjgjrr|L«Ntac«iIj3-9H LhFqtvIMF*H VMl#心 MtuMeI*IXl"LCLiH*Ij&EJhtUmuU-j-fa4+^1412【环5r*C'Lf14fdiwiLTiri9ElilfEr-FLIl:5pfc<Lryvh«ibg"rdKaputEm*u«rLlia**vrrdAvL-vca^L«b«ibwiwchifrdJ.«i♦•vitiiIpL^taliLvb,Ina^-ulhilmlimhrpmL”*,rhWk:-pr*r*<M-r ii»#ilsr awipr»?iRfm*rttrwi4mmdct-mllirHxejktpmcvn 图1-14JDK图1-13设置path图1-14JDK配置成功演示注意1:Path修改之后要重新启动命令行方式。有些读者在进行环境设置时可能会显现此命令不是系统内部命令的提示,有可能造成这种咨询题的缘故是,在配置环境属性之前命令行方式差不多启动,之后再配置的Path路径,则此环境确信是无法赶忙生效的,现在能够重新启动命令行方式,即可把新的设置读取进来。注意2:javac命令的作用。javac.exe是Java本身提供的编译命令,要紧目的是用来将*.java文件编译成*.class文件,此命令本身不属于Windows,因此在使用时需要单独配置,此命令的具体用法将在后面介绍。1.2.2编写第1个Java程序Java程序分为两种类型,一种是Application程序,另外一种是Applet程序,其中有main方法的程序要紧差不多上Application程序,本书也要紧使用Application程序进行讲解,Applet程序要紧应用在网页编程上,现在差不多差不多上不再使用,因此本书不再作任何介绍。本书依旧以输出“HelloWorld!!”字符串为第1个程序,代码如下所示。范例:Hello.javapublicclassHello(publicstaticvoidmain(Stringargs[])(System.out.println("HelloWorld!!");}}将上面的程序储存为Hello.java,然后按照以下步骤进行操作:(1)在命令行方式下,进入到程序所在的名目,执行javacHello.java图1-15运行Hello.java程序图1-15运行Hello.java程序能够文lo,(2)程序编译之后,输入javaHel执行程序,即可得到程序的输出结果。具体的操作过程能够参考图1-15完成。程序输出结果:HelloWorld!!程序讲明:在所有的JavaApplication中,所有程序差不多上从publicstaticvoidmain(Stringargs[])开始运行的,刚接触的读者可能会觉得有些难记,在后面的章节中将会详细讲解main方法的各个组成部分。现在读者如果对上面的程序不明白也没有关系,只要将程序在电脑中输入,然后按照步骤编译、执行即可,在那个地点只是让读者对JavaApplication程序有一个初步印象,因为以后所有的内容讲解的都将围绕JavaApplication程序进行。提示:注意程序中的大小写。读者在编写以上程序时一定要注意字母的大小写咨询题,因为在Java中是严格区分大小写的。另外,为了方便代码的运行,建议在此处按照本书所提供的代码样式进行编写。1.2.3classpath属性的作用在Java中能够使用setclasspath命令指定Java类的执行路径。下面通过一个例子来了解classpath的作用,假设那个地点的Hello.class类位于f:\test名目下。在D盘的命令行窗口执行下面的指令:setclasspath=f:\test然后在D盘根名目下执行javaHello命令,如图然后在D盘根名目下执行javaHello命令,如图1-16所示。由上面的输出结果能够发觉,尽管盘中并没有Hello.class文件,然而也能FittestHl在D够用图图1-16classpath设置 业匕会javaHello执行Hello.class文件,之因有这种结果,确实是因为在操作中使用了setclasspath命令将类的查找路径指向了f:\test名目,因此在运行时,会从f:\test名目查找所需要的类。提示:classpath与JVM的关系。classpath要紧指的是类的运行路径,实际上在读者执行Java命令时,关于本地的操作系统来讲就意味着启动了一个JVM,那么JVM在运行时需要通过classpath加载所需要的类,而默认情形下classpath是指向当前名目(当前命令行窗口所在的名目)的,因此会从此名目下直截了当查找。可能有些读者在按照上述的方法操作时发觉并不行用,那个地点要告诉读者

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论