- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java 程序设计;;项目任务;;;;;;;;;;;;;;;;安装JDK的过程中会提示是否安装JRE(Java运行环境),其主要的功能是解释*.class程序,此处的安装目的是要更新本机的JRE版本,不过JDK本身也是可以解释程序的。;;;在“系统变量”列表框中,单击“新建”按钮,弹出“编辑系统变量”对话框,创建JAVA_HOME变量,变量值为JDK的安装路径,单击“确定”按钮,如图1-9所示。
在“系统变量”列表框中,选择Path,单击“编辑”按钮,向Path变量中添加“%JAVA_HOME%\bin”,如图1-10所示。;在“系统变量”列表框中,单击“新建”按钮,弹出“编辑系统变量”对话框,创建CLASSPATH变量,变量值为“.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar”,单击“确定”按钮,如图1-11所示。;;若出现Java版本号,则表示配置成功。然后可以执行“javac”命令,出现其帮助提示信息,具体如图1-13所示。;;然后在CMD命令行窗口中执行“javac Hello.java”命令对源文件Hello.java进行编译,生成Hello.class字节码文件,如图1-15所示。
接下来,执行Hello.class字节码文件,执行“java Hello”命令,查看程序运行结果,具体如图1-16所示。;计算机高级语言的类型主要有编译型和解释型两种,Java语言将这两种类型有机地结合一起。Java程序首先利用编译器(javac)将*.java源文件编译成*.class字节码文件,然后利用虚拟机解释器(java)将*.class字节码文件解释执行,其执行过程如下图所示。;JDK(Java Development Kit):Java开发工具包,包含JRE及编译器和调试器等用于程序开发的文件。
JRE(Java Runtime Environment):Java运行环境,包含JVM、库函数和运行Java应用程序所必需的文件。
JVM(Java Virtual Machine):Java虚拟机,它也定义了指令集、寄存器集、结构栈、垃圾收集堆、内存区域,负责解释运行*.class字节码文件,边解释边运行。;可以看出,在DOS、Windows、UNIX等系统中,都有一台JVM,所有的*.class字节码文件都在JVM上运行,即*.class字节码文件只认识JVM,由JVM适应各个操作系统,读取并处理经过编译的、与平台无关的*.class字节码文件。只要在不同的操作系统中安装适合其类型的JVM,*.class字节码文件不论在哪个操作系统中都可以正确执行,实现了程序的可移植性。;;;;;Java 程序设计;;项???任务;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Java 程序设计;;项目任务;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Java 程序设计;;项目任务;;;;;;;;;;;;;;;;;;;Java 程序设计;;第一节 线程概述;进程;过渡页;任务分析;任务分析;线程的创建;;;;任务分析;第三节 线程的生命周期及状态转换;任务分析;图中展示了线程各种状态的转换关系,箭头表示可转换的方向,其中,单箭头表示状态只能单向的转换,例如线程只能从新建状态转换到就绪状态,反之则不能;双箭头表示两种状态可以互相转换,例如就绪状态和运行状态可以互相转换。通过一张图还不能完全描述清楚线程各状态之间的区别,接下来针对线程生命周期中的五种状态分别进行详细讲解,具体如下:
1.新建状态(New)
创建一个线程对象后,该线程对象就处于新建状态,此时它不能运行,和其他Java对象一样,仅仅由Java虚拟机为其分配了内存,没有表现出任何线程的动态特征。
2.就绪状态(Runnable)
当线程对象调用了start()方法后,该线程就进入就绪状态。处于就绪状态的线程位于线程队列中,此时它只是具备了运行的条件,能否获得CPU的使用权并开始运行,还需要等待系统的调度。
;3.运行状态(Running)
如果处于就绪状态的线程获得了CPU的使用权,并开始执行run()方法中的线程执行体,则该线程处于运行状态。一个线程启动后,它可能不会一直处于运行状态,当运行状态的线程使用完系统分配的时间后,系统就会剥夺该线程占用的CPU资源,让其他线程获得执行的机会。需要注意的是,只有处于就绪状态的线程才可能转换到运行状态。
4.阻塞状态(Blocked)
一个正在执行的线程在某些特殊情况下,如被人为挂起或执行耗时的输入/输出操作时,会让出
文档评论(0)