Linux入门常识java
// Linux OS;
// 文件系统;
// Linux 至关于只有一个C:\ 的Windows系统,省略了盘符C;
// Linux 文件系统的根目录只有一个,"\";
// "\"中的selinux至关于C:\中的"Windows"是操做系统的安装文件夹;
// media 或者 mnt 是用于存储挂载点的文件夹;
// Soft01 叫用户主目录,这个文件其实是跟用户名同名的,在达内教学机上用户名叫Soft01,在学校仅仅容许在该目录CRUD;
// Linux 经常使用命令,记住命令与参数之间要有空格,并且命令分大小写;
// pwd 输出当前工做目录,目录即文件夹,目录和文件就是文件夹和文件;
// mkdir 在当前工做目录中建立子文件夹;
// rm 删除文件命令;
// rm -rf 删除文件夹或者删除文件命令,在UNIX中,若是不用f则每次执行前会询问,Linux则无此差异;
// touch 建立文件;
// ls 列出当前目录中的文件夹;
// ls + 目录名 列出制定目录中的文件;
// clear 清屏;
// 绝对路径与相对路径,只要前面不是\开头,都是相对路径,相对路径其实是去当前目录下的子目录,就是说它的位置依赖于当前所处的位置;
// cd 改变目录; 从母目录改到子目录能够,反过来不行;
// .. 返回当前目录的上一层目录, . 表示当前目录,这两个是特殊的相对目录;
// ~ 表明用户主目录(home/soft01);
// 直接cd 返回用户主目录;
// 通常而言,WindowsOS 用于PC机,Linux OS 用于服务器,智能终端,嵌入式设备;
// Java 因为主要用于服务器端的开发。所以Java开发的部署环境不少是Linux;linux
Java程序员
Java编译及运行过程服务器
Java源程序.java文件经过编译器的javac命令生成.class字节码文件 这是编译阶段
然后,经过java命令启动JVM,.class字节码文件被JVM(JAVA虚拟机,它能够实现跨平台 e.g.JVM for Linux;JVM for Windows;)加载并运行,翻译成能被OS识别的机器码指令(0和1),而后OS执行机器码指令 这是运行阶段
不一样的OS具备不一样的机器码指令系统,好比Window:你-----010101;Linux;你-----1010010;;所以须要安装相应版本的JVM
1).HelloWorld.java
2).javac HelloWorld.java ------------javac命令生成HelloWorld.class文件
3).java HelloWorld -----经过java命令启动JVM,.class字节码文件被JVM,加载并运行,翻译成能被OS识别的机器码指令(0和1),而后OS执行机器码指令输出结果
4)HelloWorld --------- 运行结果
1),2)是编译过程;3),4)是运行过程;框架
名词解释JVM、JRE、JDK
JVM:Java虚拟机,Java Virtual Machines
JRE:Java 运行环境,Java Runtime Environment
JDK:Java开发工具包,Java Development Kit
它们之间的关系:
JRE=JVM+java系统类库;系统类库即为java提早封装好的功能类,只需拿来直接使用便可,能够大大的提升开发效率。
JDK=JRE+编写Java程序所必须的编译、运行等开发工具;开发工具如:用于编译java程序的javac命令、用于启动JVM运行java程序的java命令、用于生成文档的javadoc命令以及用于打包的jar命令等等
运行java的最小单位是JRE,开发Java程序的最小单位是JDK;编辑器
Eclipse工具
正如上面所说开发Java程序的最小单位是JDK,JDK提供了不少命令,像编译(javac)、运行(java)等等,若是咱们但愿能使用这些命令,须要让操做系统能够找到这些命令文件所在的路径,这个能够经过配置PATH环境变量来实现。
PATH环境变量是一系列的目录,在执行命令时,操做系统会依次在PATH环境变量中的每个目录中查找该命令,找到就执行,找不到则提示错误。
配置好以后,如今能够开始写Java源程序了;
咱们在Linux控制台打开.java源文件,经过vi文本编辑器(相似与Windows的txt文本编辑器)就能够写Java源程序的代码,这就是用最简单的编辑工具编写源代码,可是在真实的企业项目中,这种原始的开发方式会带来大量繁琐、重复、易错的操做,极大的下降工做效益,也不利于项目总体管理,在真实的场景中,开发人员老是会借助一些强大的“集成开发环境”(IDE,Integrated Development Environment )进行代码的编写、调试、测试、提交、重构等操做,例如:Eclipse。
打个可能不恰当的比喻,这就相似于咱们写文本文件时通常不会用微软自带的txt输入文本,而是用Word,WPS等软件,它们就像写java源代码时不用vi编辑器写,而是用Eclipse这个工具软件来写。
对于Java程序员有许多IDE环境能够选择, 它们是专为程序员提供的应用软件,这些软件每每具有功能强大的图形界面。在IDE的辅助下,程序员能够更加高效的完成编译、调试、提交、重构等工做。做为一个合格的程序员应该对主流的IDE工具备较高的熟练度,但也要防止“过度依赖IDE”问题。
目前最主流的要数大名鼎鼎的Eclipse了。它是目前主流的IDE开发环境,是IBM斥资数千万美圆打造的开源项目,现在几乎统治了IDE市场。除了开源以外,Eclipse成功的最大缘由在于它是基于“插件”的特性。Eclipse自己是一个平台框架,提供标准的服务,众第三方厂商能够经过开发插件扩展Eclipse的功能,相较于其余功能相对固定的IDE,Eclipse更具备高度的灵活性。开发工具