我的java学习之路

第一天——初识java(jdk)

java相关博客记录从0开始的java学习,从java的起源一直到框架的应用。这是第一天的相关知识,由于之前是做运维工作,有些视角会偏运维方向。

  • java起源与发展
  • java语言的跨平台性
  • java代码编译和执行过程
  • jdk、jre、jvm的关系
  • jdk安装
  • 环境变量设置(path,classpath,JAVA_HOME)
  • 所有语言的第一行:HelloWorld
  • 第二个HelloWorld
  • 编程风格
  • API与反编译器

java起源与发展

   java是基于C++被创造出来的第一个纯面向对象的语言。1991年开始,起源于SUN公司,现被oracle公司收购。最新的版本是8.0。(然而这些并没有什么卵用,如果想看详细的介绍可以自行百度或者维基百科。)

java的跨平台性

    这涉及了一些计算机的基础理论知识。一般来说,一个程序员写一个应用只对一种操作系统有效。因为每个操作系统底层所能识别的东西是不一样的,就好像一个中国人没有办法和美国人沟通一样,他们所支持的语言不同;如果想让他们沟通,我们需要一个角色,也就是翻译。java语言通过一种虚拟机机制,实现了跨平台。这个虚拟机,就相当于一个翻译,java开发人员通过这个虚拟机将相同的java代码翻译成不同的底层代码,而这些底层代码的选择会基于当前的操作系统。
    也就是说,如果是win7的计算机,虚拟机就将java源码编译成win7需要的底层代码;win10计算机会编译成win10需要的,也包括一些其他的系统,比如 unix,linux等。只要是支持java虚拟机的操作系统就可以识别java的代码。

java代码的编译和执行过程

我的java学习之路_第1张图片

jdk、jre、jvm的关系

jdk

    java的开发环境,同时也包含了运行环境jre。这个安装包内有java开发中所需要的一系列类文件、执行文件、帮助文档等。想要进行java开发,第一步就是要先安装好jdk。先关的jdk包也很容易找,可以取oracle官网下载。

jre

    java的运行环境,如果只是要运行java程序,而不做开发工作,可以只安装jre。

jvm

    Java Virtual Machine(Java虚拟机)的缩写。他是java语言跨平台最重要的一环。jvm通过在操作系统上建立一个虚拟系统,只用来解析java代码,再将java代码的结果与操作系统进行沟通,从而实现java跨平台,一次编译,到处执行。

jdk安装

windows版本

windows版本的jdk安装很简单,只需要下载一个安装包,执行,一直点击下一步即可。

linux版本

linux中安装jdk,首先下载需要安装包。这里我下载的是jdk7的gz包。安装方法也很简单,只需要通过tar zxvf  jdk-7u65-linux-x64.gz 即可。

环境变量设置(path,classpath,JAVA_HOME)

path

    关于环境变量path这里,如果知道这个名词的话,这很简单;如果是第一次接触到这个词,可能解释起来比较麻烦,个人建议去查一查相关的资料解释。如果一定要通俗一点的解释,可以理解成,path内包含的文件夹(在linux中被称为目录)中所有可执行文件(命令),可以在任意的位置进行调用。 所以,我们把 C:\Program Files\Java\jdk1.7.0_21\bin 这个路径设置到path中,以后在任意位置来使用java相关的所有命令了。(注:bin这个文件夹通常用来存放一个应用的可执行文件)

classpath

    这个变量的设置只针对java寻找class文件。我们知道源代码通过javac编译后会形成class的字节码,通过java命令执行这个字节码文件可以得到代码的输出结果。这时,class文件如果不在当前的路径之下,那我们使用java来执行这个class字节码就会报错:没有这个class类;解决的办法就是将class文件所在的文件夹路径加入到classpath变量中。
    windows系统:右键计算机->属性->高级系统设置->环境变量->系统环境变量(新建)->变量名:classpath      变量值:class文件所在文件夹的路径
    linux系统:vim /etc/profile,在最后一行添加
export JAVA_HOME=/root/jdk1.7
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:/root/java/

JAVA_HOME

    这个变量通常用于其他应用的调用,例如tomcat等java容器。

java的第一行,打印HelloWorld

    这几乎是所有语言的第一行代码,此时还不用去理解代码的含义,后续的学习会慢慢解释。先创建一个HelloWorld.java文件,内容如下:
public class HelloWorld { 
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

**注意上面的代码,文件名必须和public class后面的主类名相同;有些单词要区分大小写。

第二个HelloWorld2

/*
在一个java文件中,可以存在多个类,但只能有一个public修饰的类。
有多个类的java文件在编译时,会产生多个class文件。
*/
public class HelloWorld2 {
    public static void main(String args[]){
        System.out.println("the second HelloWorld!");
    }
}
//第二个类
class HelloWorld3 {
    public static void main(String[] args){
        System.out.println("HelloWorld3!!");
    }
}

编程风格

与大部分语言相似,java编程为了更方便书写与观看,
1.遵循缩进规则。
2.为了防止漏写符号,应成对编程。
这些规则适用于大多数语言,如果不明白可以百度。

API和反编译器

API:应用程序接口,为程序员提供帮助的文档,就好像日常买东西的说明书一样。一个好的程序员要会看API文档。

反编译器:一个能将class文件反编译成java源码的工具,在工作中经常会用到,使用起来也相当的简单。

你可能感兴趣的:(java)