1.常见的dos命令

盘符: 进入指定的盘符下。

dir : 列出当前目录下的文件以及文件夹

md : 创建目录

rd : 删除目录    注意:rd不能删除非空的文件夹,而且只能用于删除文件夹。

cd : 进入指定目录

cd.. : 退回到上一级目录

cd \ : 退回到根目录

echo "hello java">a.txt  写入文本到指定文件 

type a.txt 显示文件内容命令

del : 删除文件    注意:不能删除文件夹,只能删除文件。

exit : 推出dos命令行

cls  : 通知计算机将当前的命令清空

*:  是通配符。

tab  命令补全。

方向键上下是找回上次你写过的命令。

2. 跨平台

即不依赖于操作系统,也不信赖硬件环境。一个操作系统下开发的应用,放到另一个操作系统下依然可以运行。Java的跨平台是通过Java虚拟机(JVM)来实现的。

3. Java虚拟机(JVM:Java Virtual Machine)

jvm在整个jdk中处于最底层,负责于操作系统的交互,用来屏蔽操作系统环境,提供一个完整的java运行环境,因此也就虚拟计算机。Java源程序想象成我们的C源程序,Java源程序编译后生成的字节码(.class)就相当于C源程序编译后的二进制可执行文件。JVM虚拟机相当于计算机系统(操作系统+硬件环境),Java解释器相当于CPU。

.exe文件直接在windows操作系统下运行,在CPU上运行的是机器码(.exe文件)

.class字节码文件是运行在JVM虚拟机下的,在Java解释器上运行的是Java字节码。

Java解释器相当于运行Java字节码的“CPU”,但该“CPU”不是通过硬件实现的,而是用软件实现的。Java解释器实际上就是特定的平台下的一 个应用程序。只要实现了特定平台下的解释器程序,Java字节码就能通过解释器程序在该平台下运行,这是Java跨平台的根本。当前,并不是在所有的平台 下都有相应Java解释器程序,这也是Java并不能在所有的平台下都能运行的原因,它只能在已实现了Java解释器程序的平台下运行。

4.JDK目录介绍

  1. bin目录:存放Java的编译器、解释器等工具(可执行文件)。
  2. db目录:JDK7附带的一个轻量级的数据库,名字叫做Derby。
  3. include目录:存放的调用系统资源的接口文件。
  4. jre目录:存放Java运行环境文件。
  5. lib目录:存放Java的类库文件。
  6. src.zip文件:JDK提供的类的源代码。

安装JDK需要注意的事项:1、安装路径中不要包含中文。2、安装路径中不要包含空格。

JRE (Java Runtime Environment Java)运行环境。包括Java虚拟机和Java程序所需的核心类库等,如果要运行一个开发好的Java程序,计算机中只需要安装JRE即可。

JRE = JVM + 核心类库

JDK = JRE + java开发工具(Java编译器等)

5.配置path环境变量

编译的过程中面临的问题:每次编译的时候都需要写上java源文件的完整路径()。 烦!

解决方案: 如果可以在任意的路径下都可以找到java的开发工具,则该问题就解决了。

目前在控制台窗口下只能在jdk安装目录的bin目录下才能使用jdk的开发工具在控,如果想制台窗口下想要在任意目录下都可以使用javac与java或者jdk其他的开发工具那应该怎么做呢?

5.1.在dos窗口敲上javac

我们在随意的一个目录敲javac或者java命令时候,发现dos窗口显示这个不是内部命令,然后我们在上面敲上notepad命令时,打开了一个记事本的程序,但是在当前目录下页没有存在notepad.exe的可执行文件,那么为什么能启动呢?

错误原因:原来在dos窗口上写上一个命令时候,如果在当前目录下找不到指定的可执行文件,那么它会根据path环境变量保存的路径去搜索是否存在这个可执行文件,如果存在则启动该程序,否则就没有这个命令。

5.2.解决方法:

1、  进入jdk的安装目录的bin目录。

2、  在dos命令上敲javac。(如果出现了以上的图信息则配置成功)

5.3 为什么要配置path环境变量: 在任意的路径下都可以找到java的开发工具

5.4 javac 生成的.class 文件的名称取决于类名,跟.java名没有关系。

6 .classpath环境变量: 设置了class文件的路径信息。

6.1. classpath的引入:

编译好的Hello.class文件在F盘,当前路径在E盘,直接输入命令

Java Hello运行class文件时,报错,找不到类。。。。

6.2解决:

既然class文件(字节码文件)是java的运行文件,可不可以实现,在任意目录下都可以执行某一目录下的class文件呢?根据path环境变量的原理,可以定义一个名为classpath环境变量,将要运行的class文件所在目录定义在该变量中。例如set classpath=F:\ 但是这设置的是临时变量。如何能一劳永逸呢?设置classpath环境变量

要使用已经编写好的类,前提当然是能够找到它们了。(1)当没有设置classpath环境变量的时候,启动jvm(java虚拟机)的时候,那么java虚拟机就会在当前路径下寻找对应的class文件。(2)设置了classpath环境变量的时候,jvm就会根据classpath环境变量所保存路径信息下去寻找对应的class文件。

设置classpath环境变量信息的有分号与没有分号 的区别:分号相当于当前路径。1. 如果配置classpath环境变量信息没有加上分号,那么JVM仅会在classpath所保存的路径下去搜索对应的class文件,不会在当前路径下去搜索了。2. 如果配置classpath环境变量信息加上分号,那么JVM除了会在classpath所保存的路径下去搜索对应 的class文件之外,如果能找到对应的class文件.那么就马上指定对应的class文件,否则还会去 当前路径下去搜索。

7.Java是编译型语言还是解释型语言?

编译型语言:源程序经过编译之后,生成系统可直接运行的二进制文件的语言.

解释型语言:把做好的源程序翻译一句,然后执行一句,直至结束!

个人认为,java是解释型的语言,因为虽然java也需要编译,编译成.class文件,

但是并不是机器可以识别的语言,而是字节码,最终还是需要 jvm的解释,才能在各个平台执行,这同时也是java跨平台的原因。所以可是说java即是编译型的,也是解释型.

8.JVM是以什么形式存在的,是包含在jdk中吗?他的文件叫什么名字?

在jdk里面,是javaw.exe,因为每次eclipse启动,都有javaw.exe这个进程.Jvm是java程序运行的环境,但是他同时一个操作系统的一个应用程序一个进程,因此他也有自己的运行的生命周期,也有自己的代码和数据空间.操作系统装入jvm是通过jdk中java.exe来完成,通过下面4步来完成jvm环境. 1.创建jvm装载环境和配置 ;  2.装载jvm.dll ;  3.初始化jvm.dll并挂界到JNIENV(JNI调用接口)实例;  4.调用JNIEnv实例装载并处理class类。

01 java开发前小知识的更多相关文章

  1. java开发必学知识:动态代理

    目录 1. 引言 2. 代理模式及静态代理 2.1 代理模式说明 2.2 静态代理 2.3 静态代理局限性 3. 动态代理 3.1 JAVA反射机制 3.2 JDK动态代理 3.2.1 JDK动态代理 ...

  2. iOS APP开发的小知识(分享)

          亿合科技小编发现从2007年第一款智能手机横空出世,由此开启了人们的移动智能时代.我们从一开始对APP的陌生,到现在的爱不释手,可见APP开发的出现对我们的生活改变有多巨大.而iOS AP ...

  3. 01.Java 开发简单的计算器

    难度为一般,适合具有 Java 基础和 Swing 组件编程知识的用户学习一. 实验介绍1.1 实验内容本次实验利用Java开发一个可以进行简单的四则运算的图形化计算器,会使用到 Java Swing ...

  4. java开发前的配置

    JAVA语言是1995年由Sun公司退出的一门高级编程语言,在2009年4月20被ORACLE公司收购 看看java体系图

  5. 关于java的一些小知识(课程作业01)

    1,在java源代码中加空格注释不会影响程序的编译速度. 2,一个java类文件中真的只能有一个公有类吗? 如果只在第一个public类里面定义实体,或者两个都不定义并没有报错且程序可以运行.每个编译 ...

  6. Java开发培训基础知识解析之反射机制

    Java是老牌编程语言,是当前应用最广泛的编程语言之一.想要学习Java你就一定要掌握Java基础知识,而反射对于初学Java的人来说绝对是非常重要的知识点.什么是反射?如何理解反射机制?如何使用反射 ...

  7. ArcGIS Engine开发前基础知识(1)

    ArcGIS二次开发是当前gis领域的一项重要必不可少的技能.下面介绍它的基本功能 一.ArcGIS Engine功能 在使用之前首先安装和部署arcgis sdk,(在这里不在赘述相关知识)可以实现 ...

  8. Java 字符串比较小知识

    使用 String.compareTo 方法: compareTo() 的返回值是int, 它是先比较对应字符的大小(ASCII码顺序). 1.如果字符串相等,返回值0. 2.如果第一个字符和参数的第 ...

  9. Java开发一些小的思想与功能小记(二)

    1.用if+return代替复杂的if...else(if+return) public static void test1(String str) { if ("1".equal ...

随机推荐

  1. maven打包插件:appassembler

    1.打包成bat 打包命令:mvn clean package appassembler:assemble <plugin> <groupId>org.codehaus.moj ...

  2. Java 在指定目录建立指定文件名的文件 并输入内容

    package runoob; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream ...

  3. uC/OS-II配置文件

    /*************************************************************************************************** ...

  4. 简易封装一个带有占位文字的TextView

    在实际iOS应用开发中我们经常会用到类似于下图所示的界面,即带有占位文字的文本框:

  5. js 设置导航固定

    <div id="nav"> .... </div> function Add_Data() { var top = $("#header-nav ...

  6. C#后台发布

    测试环境:... 生产环境:发布--文件系统--Release--本地文件--成功copy服务器上:(第一次发布vue项目前后端copy顺序,避免一些bug)

  7. Numpy 基础

    Numpy 基础 参考https://www.jianshu.com/p/83c8ef18a1e8 import numpy as np 简单创建数组 # 创建简单列表 a = [1, 2, 3, 4 ...

  8. C语言排序算法学习笔记——交换类排序

    交换类排序:根据序列中两个元素关键字的比较结果来交换他俩在序列中的位置. 冒泡排序:假设待排序表长为n,从后往前(或从前往后)两两比较相邻元素的值,若为逆序(即A[i-1]>A[i])则交换他们 ...

  9. LOJ.6282.数列分块入门6(块状链表/分块)

    题目链接 1.分块(vector)+重构 //直接上vector(本机还是比较慢的...) 某块size较大时O(n)重构 //注意细节 #include <cmath> #include ...

  10. 前端_标签01_input标签

    <c:forEach items="${itemList }" var="item" varStatus="status">&l ...