编程日记:Java学习之路(一)

1.认识Java语言

1.1 常识

常识一:

CS cilent server安装客户端,客户端安装,更新使用需要本地完成(王者荣耀,英雄联盟,需要下载的APP,会不断更新)

BS browser server浏览器和服务器,程序运行的压力在网络传输上面(页游,随时打开随时加载)

BS结构是未来发展的趋势,核心开发web开发,主要应用语言是Java/python

常识二:

Java/Python面向对线的有点以对象为核心,符合大家的正常思维模式

正常的编程模式:C面向过程 低级语言 c++中级语言

Java/Python高级语言

面向过程编程:把事情的步骤细化,小项目

面向对象编程:  做大事情,做大项目必备的编程思想

面向过程的编程语言是面向对象编程语言的基础

1.2 什么是程序?什么是程序设计语言?

自然语言(比如人类的语言)加上语法的限制成为程序设计语言,程序设计语言经过编译器解释器的转换变成机器能读懂的机器语言,我们可以可以写出来的是语言,跑起来的是程序

程序设计语言就是向计算机发号施令的工具:源文件文本文件—>程序二进制文件

1.3 Java语言的特点:

(1)跨平台:可以在不同的操作系统中运行

(2)简单:相比面向过程的语言更简单

(3)纯面向对象:纯面向对象的语言

1.4常见语言的运行机制

(1)编译型:优点:速度快  缺点:无法跨平台(其实也可以但是很麻烦)

(2)解释型:优点:跨平台  缺点:速度慢

1.5 Java的运行机制

Java源程序经过编译器的编译是不会生成特定的机器码的,而是生成一种与平台无关的字节码即为.class文件,这种文件是不可以直接执行的,必须使用Java解释器来解释执行,java语言里负责解释执行字节码文件的是Java虚拟机(JVM),Java虚拟机将.class文件转变为机器码,最后放到平台执行。

531FC72D530E09BC8B55C0BEFCFFF9EB

总结为:先编译,后解释

1.6 Java虚拟机的作用

Java虚拟机可以屏蔽不同平台的差异, Java虚拟机能够将class字节码解释成可执行的机器码,Java与平台无关,Java源文件被编译成class字节码文件,class字节码在Java虚拟机中被解释成机器码,所以在不同的平台,只要有Java环境,那么可以把字节码解释成对应平台的机器码,因此Java被称作“与平台无关的编程语言”

Java虚拟机的作用不仅仅是如此,它还可以在不同的机器上分配所需要的内存,用于程序的运行。

1.7 Java相关概念

A085060B9E466CD8CB2E020D02A2EB4E

Java解释器和Java虚拟机(JVM)组成Java运行的环境我们将它简称为JRE,同时Java编译器,JRE,工具和各种类库共同组成Java开发工具包(JDK);JDK是整个Java的核心

1.8 JDK配置问题

(1)安装JDK并且记住安装路径

(2)环境变量配置:在环境变量中新增JAVA_HOME,并且复制JDK的安装路径放入其中(放到bin目录的上一级);修改path 在最前端加上%JAVA_HOME%\bin;  (百分号的意思是引用上面的变量JAVA_HOME,如果要是写上JAVA_HOME的路径也是可以的),最后在cmd中输出java -version看是否显示版本号,如果显示说明正常。

1.9 第一个Java程序

你好世界!

public class First{
    public static void main(String[] args){
        System.out.println("Hello world!");
    }
}

1.10 问题:JRE和JDK有什么区别?

JRE(运行环境):java核心类库,JVM

JDK(开发工具包):编译器,解释器等

通过观察我们发现一个问题就是在我们安装JDK之后在我们所安装的文件夹下会出现两个文件夹分别名为jdk和jre,我们知道jre是jdk中的一部分,但是我们打开jdk文件夹就会发现在jdk中还有一个jre文件夹同时在这两个文件夹中都有jvm.dll文件(Java虚拟机),也就是JDK自带的JRE有两个虚拟机,在JDK的lib目录下有一个tools.jar文件,这个文件是用来存储开发工具的比如javac,javac.exe只不过是一个包装器它的作用是用来执行一个命令(很长,我就不打了),所以这个tools.jar所存在的目的就是为了避免开发人员输入太长的命令,在lib目录下我们可以看到很多的程序,都是java所写的,因为它们都是java程序所以在运行的时候也需要jre而jdk文件夹下的那个jre就是用来运行这些程序的,所以就会有两个jre和两个jvm,那么有两个jre的话,在运行程序的时候我们选择那个jre进行工作呢?这个选择的问题是由java.exe来决定的它会按照这样的一个顺序来查找:自己目录下,父目录下,注册表。还有一件事,我们在设置环境变量的时候设置的是jdk的路径,按照道理来说,如果我们把jdk中的bin目录下的java.exe文件删除的话再运行程序依然是可以运行的,因为jdk是开发环境jre是运行环境(jre中没有哦javac),在安装jre的时候安装程序自动的把jre的java.exe添加到了系统变量中。

 

 

posted @ 2021-10-18 18:55  MachineHe  阅读(65)  评论(0)    收藏  举报