Java学习系列(一)Java的运行机制、JDK的安装配置及常用命令详解

本文主要是介绍Java学习系列(一)Java的运行机制、JDK的安装配置及常用命令详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Java的运行机制:Java源程序经过编译器编译成平台无关的字节码,字节码由虚拟机解释执行,虚拟机将每一条要执行的字节码发送给特定平台的解释器,解释器将其翻译成相应平台上的机器码,然后运行在该平台上,又由于运行时依然保留了解释这样就保证了Java程序能跨平台了。Java是一种介于编译型语言与解释型语言之间的一门强类型的语言,所谓编译型语言,像c/c++等运行时只需编译,无需解释,而且只能在特定运行在特定平台上;而解释型语言就是每次运行时,经过解释器负责翻译成特定平台的机器指令,每次运行时,都需要经过一次解释。所以说Java的跨平台型主要得益于它的虚拟机。

JDK(Java Development Kit )开发工具包 )的安装配置:

安装JDK时,无需安装公共JRE (Java Runtime Environment,由JVM+核心库组成),因为JDK默认包含了JRE;其它步骤直接点击下一步即可。

JDK的配置:1、把JDK的bin目录添加到path环境变量中,这样就可以保证用户无需输入绝对路径,即可使用javac、java两个工具。配置PATH的作用:让操作系统能找到我们所使用的命令,与java本身无关!2、添加系统变量JAVA_HOME,并在JAVA_HOME添加JDK安装路径,比如D:\Program Files\Java\jdk1.5.0,具体要根据jdk1.5的安装路径来定。配置JAVA_HOME变量的作用:JAVA_HOME路径下包括lib,bin,jre等文件夹, 以后配置tomcat,eclipse等java开发软件可能需要依赖此变量。3、添加系统变量CLASSPATH,并在CLASSPATH变量下添加如下路径:%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar (注意前面的“.;”)  配置CLASSPATH变量的作用: 为系统指明java加载类(class or lib)的路径,只有类在classpath中,java命令才能识别。

配置成功的效果如下:

 

下面以一个著名程序:HelloWorld结束本章内容,然后谈下编译和运行java的两个常用命令javac、java

[java] view plain copy
  1. class  _你好世界  
  2. {  
  3.     public static void main(String[] args)   
  4.     {  
  5.         System.out.println("Hello World!");  
  6.     }  
  7. }  
效果如图(其中的HelloWorld.java为java源文件名,这里的点号指的是当前目录,当然你也可以换成其它目录,注意命令参数与文件名之间要有空格,java区分大小写,而源文件不区分大小写,下面两图效果可以看到是一样的):



命令解释:

编译源文件:javac -d [目录] java源文件 用于将生成的二进制文件放在指定目录下。
 运行class文件:java -cp [目录] 类名  指定JVM到哪个目录下去搜索Java类。每个class对应一个类。

如果Java源文件中有public类,该源文件的主文件名必须和public类名相同。
如果Java源文件中没有public类,该源文件的主文件名可以是任意的。

关于java中类的修饰符,后面讲到面向对象的时候我会详细讲解。

好啦,今天就写到这,先把HelloWorld跑起来吧!

结束语:java的常用命令还有很多,具体会在后面陆续讲到。对于编程,个人觉得只要你肯多练,不断去调试和思考其脉络,再去慢慢的研究其细节,我想Java对你来说将不会很难。好啦,今天就写到这,明天开始讲ava的基本类型,内容可能会比较多,但是我会尽量讲的详细一些。


这篇关于Java学习系列(一)Java的运行机制、JDK的安装配置及常用命令详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1023976

相关文章

springboot集成easypoi导出word换行处理过程

《springboot集成easypoi导出word换行处理过程》SpringBoot集成Easypoi导出Word时,换行符n失效显示为空格,解决方法包括生成段落或替换模板中n为回车,同时需确... 目录项目场景问题描述解决方案第一种:生成段落的方式第二种:替换模板的情况,换行符替换成回车总结项目场景s

SpringBoot集成redisson实现延时队列教程

《SpringBoot集成redisson实现延时队列教程》文章介绍了使用Redisson实现延迟队列的完整步骤,包括依赖导入、Redis配置、工具类封装、业务枚举定义、执行器实现、Bean创建、消费... 目录1、先给项目导入Redisson依赖2、配置redis3、创建 RedissonConfig 配

SpringBoot中@Value注入静态变量方式

《SpringBoot中@Value注入静态变量方式》SpringBoot中静态变量无法直接用@Value注入,需通过setter方法,@Value(${})从属性文件获取值,@Value(#{})用... 目录项目场景解决方案注解说明1、@Value("${}")使用示例2、@Value("#{}"php

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

线上Java OOM问题定位与解决方案超详细解析

《线上JavaOOM问题定位与解决方案超详细解析》OOM是JVM抛出的错误,表示内存分配失败,:本文主要介绍线上JavaOOM问题定位与解决方案的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一、OOM问题核心认知1.1 OOM定义与技术定位1.2 OOM常见类型及技术特征二、OOM问题定位工具

PHP轻松处理千万行数据的方法详解

《PHP轻松处理千万行数据的方法详解》说到处理大数据集,PHP通常不是第一个想到的语言,但如果你曾经需要处理数百万行数据而不让服务器崩溃或内存耗尽,你就会知道PHP用对了工具有多强大,下面小编就... 目录问题的本质php 中的数据流处理:为什么必不可少生成器:内存高效的迭代方式流量控制:避免系统过载一次性

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

Spring Security简介、使用与最佳实践

《SpringSecurity简介、使用与最佳实践》SpringSecurity是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架,本文给大家介绍SpringSec... 目录一、如何理解 Spring Security?—— 核心思想二、如何在 Java 项目中使用?——

SpringBoot+RustFS 实现文件切片极速上传的实例代码

《SpringBoot+RustFS实现文件切片极速上传的实例代码》本文介绍利用SpringBoot和RustFS构建高性能文件切片上传系统,实现大文件秒传、断点续传和分片上传等功能,具有一定的参考... 目录一、为什么选择 RustFS + SpringBoot?二、环境准备与部署2.1 安装 RustF

springboot中使用okhttp3的小结

《springboot中使用okhttp3的小结》OkHttp3是一个JavaHTTP客户端,可以处理各种请求类型,比如GET、POST、PUT等,并且支持高效的HTTP连接池、请求和响应缓存、以及异... 在 Spring Boot 项目中使用 OkHttp3 进行 HTTP 请求是一个高效且流行的方式。