编程日记: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文件转变为机器码,最后放到平台执行。
总结为:先编译,后解释
1.6 Java虚拟机的作用
Java虚拟机可以屏蔽不同平台的差异, Java虚拟机能够将class字节码解释成可执行的机器码,Java与平台无关,Java源文件被编译成class字节码文件,class字节码在Java虚拟机中被解释成机器码,所以在不同的平台,只要有Java环境,那么可以把字节码解释成对应平台的机器码,因此Java被称作“与平台无关的编程语言”
Java虚拟机的作用不仅仅是如此,它还可以在不同的机器上分配所需要的内存,用于程序的运行。
1.7 Java相关概念
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添加到了系统变量中。



浙公网安备 33010602011771号