人机交互的图形化界面(GUI)

命令行方式(CLI  command line interface)

JDK有不同的版本(linux,mac os, windows)

Java 的跨平台性。

软件放到系统中,系统中应该解析该软件的程序。

为什么用一个c++写的软件可以再windows中直接运行呢?

因为Windows本身就是用c++和c写的、它本身内置了c++的解析器(解析程序)。

Windows是微软的产品,微软对自己语言编写的软件都要支持。

不见得对其他 语言支持(java),就需要一个jvm(虚拟机(在windows机器上虚拟出来的)——能解析java语言的解析器)

JRE:JVM+类库

JDK:JRE+java的开发工具

Exe文件有的是GUI(有图形化界面),有的是命令行程序(双击一闪而过)。

像这种exe文件,就可以通过cmd模式下,把cmd中的目录定位在该exe文件中的位置,然后输入该exe文件的名字按enter。

可以不写exe文件的后缀,因为是exe—可执行文件。(javac.exe)

命令行方式出现的早,图形化能做的,命令行也都行。

图形化仅仅是命令行方式的封装。

Windows就是因为图形化火的,更多的傻瓜都可以用。Linux一开始走的是命令行操作,后来才弄成了gui方式。

Cmd模式下进入一个文件夹

命令:cd + 文件夹名字。

假如JDK文件夹下有两个子文件夹(jdk1.8.0和jdk1.7.0)可以直接cd jdk* 就可以了,就会进入jdk1.7.0,(这种模式下自动匹配排列顺序第一个的文件夹)

cd.. (两个点号)就是返回上一级目录的意思。

Cd/(反斜线)就是返回根目录的意思。

有时候在cmd模式下直接输入“C:”不会进入c盘的根目录,而是进入C盘的缓存目录。

例如“C:\Users\kongxiaohan>”  而要切换到c盘的根目录就直接cd/  就可以了。

Md 命令是 make directory 新建目录(文件夹)

Rd命令是remove directory  删除目录(文件夹)

删除所有的文件(一个文件夹下的所有子文件夹)“rd /s”

可视化GUI操作其实都是调用的这些命令。

Windows原理:windows当中删除文件夹,如果文件夹中有内容的话,要先把该外层文件夹中的内容全部删除干净,保证该文件夹是空的,然后才能把这个文件夹删除。

早期的磁盘操作系统,怕你误删文件,要你确认,真的里面的东西都删光了,才能删除,否则直接删除外面的文件夹的话很容易造成文件的误删除。

在删除文件夹的GUI操作中,也是先把里面的先删除干净,再删除外边的。

如果你删除的一个包含很多文件的外文件夹,右键删除,然后会有一个正在删除的对话框,在有对话框的过程中你点击取消,看剩下的文件的就会发现“删除的过程是从里向外删除的”

删除文件用del命令

删除一个文件(file.text)del  file.text

删除所有的text文件结尾的文件 del *.text

删除所有的文件 del *.*

或者 del *  (*是通配符)

在dos里进行文字编辑都可以,只是命令比较复杂。

退出dos 是exit命令。

最重要记住的是help命令。

如果想知道“cd”命令的用处就敲“ help cd ”

环境变量的设置

解释下环境变量的作用,在cmd下的任何路径下输入notepad都可以打开记事本,为什么在没有notepad.exe 程序文件路径的情况下依然能够打开记事本呢?

这就是配置环境变量的作用

右键“我的电脑”找到环境变量。。。。

下面是我的电脑中“path”环境变量的内容:

%SystemRoot%\system32;

%SystemRoot%;

%SystemRoot%\System32\Wbem;

%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;

C:\Program Files\EmEditor

当一个路径下没有notepad文件时,就会去path环境变量中的路径中去需找。

所以在配置java环境变量时候就要把javac.exe文件的路径加入到该环境变量中。

这样在用cmd执行java文件的时候输入javac命令就可以顺利的执行。

上面中对java环境变量的配置有一定的局限性:

下面讲解下为什么要有新建一个JAVA_HOME的环境变量

  1. 就是因为jdk的安装录路径:C:\Program Files\Java\jdk1.7.0\bin;

有可能会变化的,也有可能文件夹名称发生变化,但是bin文件夹基本上是不会变的。

所以把变化的单独存放在一个变量里就是JAVA_HOME。

Windows 要求必须用%放在该变量的两侧。%JAVA_HOME%。这样如果jdk路径变化或者其中的文件夹名称发生变化的时候就可以不用更改path的内容(毕竟path中是很多重要的系统变量,一旦更改会造成不变要的麻烦)

只需要更改下JAVA_HOME的值就可以了。

环境变量中的临时变量设置

你现在要用别人的电脑进行java程序的开发,(不要去修改别人电脑的环境变量)。

可以把你的jdk目录放到移动硬盘或者优盘上,插入他的电脑,然后在其电脑上进行一些临时环境变量的设置。

把写的java文件放在自己的移动硬盘上,拔走之后再该机器上什么都留不下。

用命令行方式进行配置。

用set命令(显示,设置,删除环境)

输入set回车是所有的计算机的环境变量。

命令cls是清屏的意思。

①     查看环境变量的命令 set path

②     修改环境变量的命令 set path = hahaha

Set path

(这种设置仅仅在当前窗口有效,关闭cmd就不会有了,这就叫临时变量设置)

③     删除环境变量 set path = (空)

如果想用别人机器已有的环境变量

在已经有jdk6.0环境变量的基础上加上jdk7.0的环境变量怎么办?

输入这中命令C:\>set path = E:\java\jdk1.7.0_03\bin;%path%

如果path中有jdk6.0的变量路径了,到底是先执行那个,肯定是先执行7.0的,因为在前面。(从头开始查找)

尽量将环境变量配置到头上,因为系统或者数据库中会用到java中的部分的工具,而且内置了java工具,如果配置到path尾部的话,就会先运行其他java工具,就不是你的jdk了。尽量先找自己先定义的那个。

一个文件叫123.java

内容是

Class Demo{

}

Javac 123.java 会生成Demo.class文件

然后输入命令

Java Demo (注意这里不是输入java 123.java 因为java只能执行class文件,不需要在再上后缀名,而且是class文件不是java文件)

运用Javac启动一个编译程序,对java文件进行检查,看看是否有哪些地方写错,检查源代码的正确性。

运行程序中遇到错误,应该反映是“机会来了”提升自己的机会来了,增长自己经验值的机会来了。从第一个错误开始解决,java经常出现连锁错误。解决了第一个以后的可能都会跟着解决。

Java命令底层对应的是启动虚拟机。

Javac命令并不需要启动虚拟机,仅仅是编译(启动的是编译器)。

Java 中的设置临时classpath变量。

比如说有两个路径:

第一个:E:\java

第二个:C:\myclass

在第一个里面有一个java文件叫做Demo.java  没有对应的class文件

在第二个里面有一个Demo.class

如果你想在cmd模式下在不切换路径的下运行第二个里面的class文件就需要进行classpath的设置

Set classpath= C:\myclass

这样在cmd模式下输入java Demo就会运行第二个路径下的class文件。

如果设置set classpath=C:\myclass;(比上面的在最后一段加了一个分号)这种设置java虚拟机就会先寻找设置的路径,如果找不到再去寻找当前的路径。

不过不推荐这样设置,因为不利于程序的找错调试。

如果需求是既要运行当前目录的程序又要运行指定路径下的程序,对路径进行设置。

Set classpath=.;C:\myclass

就可以了。其中点号“.”代表当前路径。

上面的路径中C:\myclass 中可以用classpath变量代替(通过我的电脑→环境变量)

然后再用cmd命令设置

Set classpath =.;%classpath%

关于JDK中的总结和基本知识总结的更多相关文章

  1. Java中实现异常处理的基础知识

    Java中实现异常处理的基础知识 异常 (Exception):发生于程序执行期间,表明出现了一个非法的运行状况.许多JDK中的方法在检测到非法情况时,都会抛出一个异常对象. 例如:数组越界和被0除. ...

  2. 曹工力荐:调试 jdk 中 rt.jar 包部分的源码(可自由增加注释,修改代码并debug)

    背景 大家知道,jdk安装的目录下,一般会有个src.zip包,这个包基本对应了rt.jar这个包.rt.jar这个包里面,就放了jdk中,jdk采用java实现的那部分类库代码,比如java.lan ...

  3. JDK 中的证书生成和管理工具 keytool

    参考资料 该文中的内容来源于 Oracle 的官方文档 Java SE Tools Reference .Oracle 在 Java 方面的文档是非常完善的.对 Java 8 感兴趣的朋友,可以直接找 ...

  4. 深入理解JDK中的I/O

    深入理解JDK中的I/O 目 录 java内存模型GCHTTP协议事务隔离级并发多线程设计模式清楚redis.memcache并且知道区别mysql分表分库有接口幂等性了解jdk8稍微了解一下特性 j ...

  5. C++模拟实现JDK中的ArrayList和LinkedList

    Java实现ArrayList和LinkedList的方式采用的是数组和链表.以下是用C++代码的模拟: 声明Collection接口: #ifndef COLLECTION_H_ #define C ...

  6. JDK中的设计模式

    Creational(创建模式) Abstract factory: 创建一组有关联的对象实例.这个模式在JDK中也是相当的常见,还有很多的framework例如Spring.我们很容易找到这样的实例 ...

  7. JDK中的并发bug?

    最近研究Java并发,无意中在JDK8的System.console()方法的源码中翻到了下面的一段代码: private static volatile Console cons = null; / ...

  8. 观察者模式--java jdk中提供的支持

    一.简介 观察者设计模式有如下四个角色 抽象主题角色:把所有对观察者对象的引用保存在一个集合中,每个抽象主题角色都可以有任意数量的观察者.抽象主题提供一个接口,可以增加和删除观察者角色.一般用一个抽象 ...

  9. JDK中的URLConnection参数详解

    针对JDK中的URLConnection连接Servlet的问题,网上有虽然有所涉及,但是只是说明了某一个或几个问题,是以FAQ的方式来解决的,而且比较零散,现在对这个类的使用就本人在项目中的使用经验 ...

随机推荐

  1. Sqoop 命令

    1)list-databases     List available databases on a server sqoop list-databases --connect jdbc:db2:// ...

  2. Linux使用locate命令定位文件

    FIND命令 很多Linux用户喜欢使用find命令来查找文件,例如他们通常喜欢这样做: find / -name 'pattern' 确实find的强大功能不仅仅用来查找文件,它能用来定位更加细节的 ...

  3. 微软企业库5.0学习-Security.Cryptography模块

    一.微软企业库加密应用模块提供了两种加密: 1.Hash providers :离散加密,即数据加密后无法解密 2.Symmetric Cryptography Providers:密钥(对称)加密法 ...

  4. ASP.NET中身份验证的三种方法

    Asp.net的身份验证有有三种,分别是"Windows | Forms | Passport",其中又以Forms验证用的最多,也最灵活.Forms 验证方式对基于用户的验证授权 ...

  5. 从Jetty、Tomcat和Mina中提炼NIO构架网络服务器的经典模式(三)

    转载 http://blog.csdn.net/cutesource/article/details/6192163 最后我们再看看NIO方面最著名的框架Mina,抛开Mina有关session和处理 ...

  6. Intel HAXM

    Hardware Accelerated Execution Manager的缩写. intel的硬件加速执行管理器,是一款可以使用英特尔虚拟化技术(VT)加快 Android* 开发速度的硬件辅助虚 ...

  7. 【Java】C/C++与Java的简单比较

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/5827273.html     C/C++:            编译(不同的系统编译出不同的机器码,所以同一 ...

  8. .NET通用权限系统快速开发框架

    DEMO下载地址: http://download.csdn.net/detail/shecixiong/5372895 一.开发技术:B/S(.NET C# ) 1.Windows XP以上 (支援 ...

  9. 教你50招提升ASP.NET性能(二十四):ORM小窍门

    ORM TipsORM小窍门 More and more people are using Object to Relational Mapping (ORM) tools to jump the d ...

  10. javascript keycode大全【转载】

    keycode    8 = BackSpace BackSpace keycode    9 = Tab Tabkeycode   12 = Clearkeycode   13 = Enterkey ...