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
class _你好世界
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}
效果如图(其中的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的安装配置及常用命令详解的更多相关文章
- Hexo系列(三) 常用命令详解
Hexo 框架可以帮助我们快速创建一个属于自己的博客网站,熟悉 Hexo 框架提供的命令有利于我们管理博客 1.hexo init hexo init 命令用于初始化本地文件夹为网站的根目录 $ he ...
- Java学习之旅开篇:运行机制及环境搭建
在写这篇博客之前,我想对自己进行简单概括:我从事软件开发工作已经三年多了,并且一直在从事.NET相关项目的开发.为什么突然间想学习Java呢?有以下几个原因: 1. 开发程序三年多来,已经对.NET相 ...
- redis学习笔记01 — 基本介绍、安装配置及常用命令
redis--NoSQL的一种 为了解决高并发.高可用.高扩展.大数据存储等一系列问题而产生的数据库解决方案,就是NoSQL NoSQL,非关系型数据库,全名:Not Only Sql,它不能代替关系 ...
- java学习系列(一)Java中的IO操作
Java的IO流是实现输入/输出的基础,它可以方便地实现数据的输入\输出操作,在Java中把不同的输入\输出源抽象为"流",通过流的方式允许Java程序使用相同的方式来访问不同的输 ...
- Java学习 时间类 Period类与Duration类 / LocalDate类与Instant类 用法详解
前言 java 8 中引入的两个与日期相关的新类:Period 和 Duration.两个类看表示时间量或两个日期之间的差,两者之间的差异为:Period基于日期值,而Duration基于时间值.他们 ...
- SPSS学习系列之SPSS Statistics导入读取数据(多种格式)(图文详解)
不多说,直接上干货! SPSS Statistics导入读取数据的步骤: 文件 -> 导入数据 成功! 欢迎大家,加入我的微信公众号:大数据躺过的坑 免费给分享 同时,大 ...
- java运行环境jdk的安装和环境变量的配置教程
jdk的下载与安装 一.官网下载jdk 1.百度搜索jdk,进入官网,如下图所示: 官网下载jdk图1 2.在官网网站中找到合适的版本下载(以最新版本为例),如下图所示: 官网下载jdk图2 官网下载 ...
- Android中实现java与PHP服务器(基于新浪云免费云平台)http通信详解
Android中实现java与PHP服务器(基于新浪云免费云平台)http通信详解 (本文转自: http://blog.csdn.net/yinhaide/article/details/44756 ...
- 把java文件打包成.jar (jar命令详解)
把java文件打包成.jar (jar命令详解) 先打开命令提示符(win2000或在运行框里执行cmd命令,win98为DOS提示符),输入jar Chelp,然后回车(如果你盘上已经有了jdk1. ...
随机推荐
- 转:使用linq to sql 随机取一行数据的方法
原文地址:http://outofmemory.cn/code-snippet/1760/usage-linq-to-sql-suiji-take-yixing-data-method 虽然这看来已经 ...
- 批量更新sql |批量update sql
图所示现需要批量更新table2表内字段Pwd更新userName对IP地址username与Ip对应关系table1所示 update table2 set pwd=table1.ip from t ...
- 简单计算器(Android)
aaarticlea/jpeg;base64,/9j/4AAQSkZJRgABAgAAAQABAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKC
- 自制USB wifi信号放大天线
这是我的usb wifi天线第一个版本,灵感来自: http://www.instructables.com/id/EQARE4I72GEPUCHTHU/ http://www.usbwifi.orc ...
- jQuery 遍历 json 方法大全
1.for循环: var obj = { "status":1, "bkmsg":"\u6210\u529f", "bkdata& ...
- HTML--鼠标事件
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- html li标签前面添加图标三种方法
今天无聊写下这个例子,希望对初学者有帮助,代码如下 <!DOCTYPE html> <html> <head> <meta charset="utf ...
- H264编码技术
H.264的目标应用涵盖了眼下大部分的视频服务,如有线电视远程监控.交互媒体.数字电视.视频会议.视频点播.流媒体服务等.H.264为解决不同应用中的网络传输的差异.定义了两层:视频编码层(VCL:V ...
- [RxJS] Reactive Programming - Clear data while loading with RxJS startWith()
In currently implemention, there is one problem, when the page load and click refresh button, the us ...
- [Javascript] Call Stack
Every time when a function run it will be push into the call stack and put on the top, you can thin ...