java概述和JDK

java概述

历史

我只记得詹姆斯高斯林,其它的写了我也是复制的,所以不写了。

概述

java是一种编程语言,与英语俄语粤语啥的语言似的,只要按照对应的规则写出来,认识这种规则的人就可以明白你写了啥,同样的,你按照java语言的规则来写,写完了同样认识java的人也知道你写了啥。不同的是,这种规则还会被计算机(准确的说是JVM)认识,计算机能知道你想让他干啥,它会执行你的命令。
那有什么规则呢,那就比较多了。
先认识下下面几个童鞋:
1、.java 文件,这个文件是你写的,所以你和你的童鞋都能读懂(如果你写的标准的话),就是个.txt文件改一下后缀名,没啥特殊的。
2、.class文件,你写的.java文件你认识但是计算机不认识,计算机只认识字节码文件.class,你要想让计算机认识你写的那堆东西,你得用一个工具把它变成.class文件,这个工具就是javac。
3、javac,javac是一个可执行文件javac.exe,正确的运行它之后,你会发现在指定的地方生成了一个新的文件,跟你的.java文件同名的.class文件。javac就是一个翻译器,把你认识计算机不认识的代码翻译成它认识你不认识的代码。
4、jvm虚拟机,javac给你翻译文件,翻译给谁听呢?就是jvm这哥们,这哥们安装在计算机上,它能安装在各大操作系统上,包括Windows、Linux、Unix等,安装之后干啥呢,就等着javac翻译后的.class文件送过来,然后它就作为操作系统和.class文件的桥梁,让计算机执行你的.class文件,给出你想要的结果。这哥们是一次编译到处运行(调试)的实现者。
5、JDK,重量级的人物出现,大家让一让。刚才说了这么多,离了他都不行啊,这个哥们叫做java开发工具包(java development kit),包含了你要开发用到的所有东西,是重点,同时还有jre和jvm一起。

jdk

提到jdk就要提到下面这哥几个:
 jdk:(java development kit)java语言的开发工具包;
 jre:(java runtime environment) java 运行环境;
 jvm:(java vitual machine)java虚拟机;
 那么这哥几个都是啥玩意呢?首先我们了解java的特点,**一次编译到处运行**。为啥嘞?因为它自带了一个神奇的工具---jvm。

JVM
java语言编译成class文件之后,JVM就认识了,开发者把JVM开发的适用各种系统,所以jvm就厉害了,一方面它手里有资源(.class文件),另一方面它手里有销售渠道(认识各大操作系统),所以jvm可以把货卖的到处都是也就不稀奇了。只要装了jvm的操作系统,都可以执行class文件,完成了一次生产到处卖货的发财致富之路,所以java虚拟机就是个经销商。
JRE
既然jvm这么厉害,安装一个jvm不就行了吗,干嘛还要JRE?
淡然需要,因为JVM是一个经销商,经销商想要卖货,必须具备很多能力,其中一个就是了解产品的基本特征。jvm卖的东西不太一样–一种语言编写的文章,所以他还要会这种语言,这个能力放在java中,怎么体现呢?引出一个新的词–类库(runtime class libraries)。什么是类库? java类库可以理解为java语言的单词和语法规范,你在编写java文件的时候要使用这些单词,遵守这些语法规范,jvm解析的时候也要引用这些,这样才能得到正确的结果,而类库就放在JRE中,JRE包含了类库和JVM(还有别的暂时不管)。听名字知道,jre是运行环境,也就是说一台电脑安装了jre就能运行我们的class文件了。那么要JDK何用呢?
JDK
有了JRE,能运行我们的代码,那我们不需要JDK了吗?不是,jre可以运行代码,但是代码怎么来的呢,我们编写的,javac编译的。使用JRE我们还无法编译代码,必须用到JDK编译。另外JDK还带有很多其他功能(java,jdb调试)以及基础开发API(rt.jar),供我们开发使用。那么安装了JDK还要安装JRE吗?不用了,因为JDK同时还包含了JRE。
关系
大的包含小的,日常都是用JDK。
JDK/JRE/JVM三者关系JDK的分类
jdk又被分为javase、javaee(jakarteEE)、javame;
javase:标准版(standard edition)
javaee:企业版(Enterprise edition)
javame:微缩版(Micro edition)
那么这三哥们有啥区别呢?
javase是基础,javaee包含了javase又添加了一些东西,javame包含了javaee的核心类(不是全部类)又添加了一些东西,但是与javaee添加的东西不一样。
粗略来说,javase主要用来做电脑上运行的软件,javaee主要做网站,javame做移动设备、嵌入式设备的开发。
所以先学好javase,然后再选择方向是网站类还是移动设备类。

jdk安装

1、下载
不写
2、安装jdk
不写
3、配置环境变量
path:当你执行一个命令的时候,计算机会在当前目录寻找可执行文件,如果找不到他就会去path配置的路径下挨个查找。所以配置了环境变量path之后,你就可以在任意目录下执行java的可执行程序,计算机都能找到并执行。
classpath:告诉java运行环境,去哪里找class文件,也就是你写完代码编译成class文件,放在了一个地方,然后java运行的时候不知道你放哪了,他只会去classpath下找。jdk5.0默认去当前目录和jdk的lib目录查找,所以可以不用配置了。
JAVA_HOME:可以不配置,但是有些第三方工具只认识JAVA_HOME,所以还是要配置为好
4、命令行测试
命令行窗口输入java 或者javac 或者java -version

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值