JAVA学习笔记(一)

1.简述JDK和JRE的关系和区别 

答:

JRE是JAVA的运行环境,为java程序运行提供了可能。计算机在安装JRE后仅能运行JAVA程序,无法开发和调试。是使用java语言编写的程序运行所需要的软件环境。

JDK是JAVA标准开发包,它提供了编译,运行java程序所需要的各种工具和资源。程序员使用java语言编写java程序所需的开发工具包。

【区别】

(1)

(1、面向人群不同

JDK是提供给程序员使用的。JRE是提供给想运行java程序的用户使用的。

(2、重要程度不同

如果你需要编写java程序,需要安装JDK。如果你需要运行java程序,只需要安装JRE就可以了。

(3、安装目录不同

如果安装JDK,电脑会有两套JRE,一套是JDK中的JRE,位于 \jre 目录下。另外一套是JRE自己的,在下载安装时默认位于 C:\Program Files\Java\jre目录下。在这里博主当时安装JRE时是放到了D盘,如图:
【区别】

三、联系

1、包含关系

JDK包含了JRE,同时还包含了编译java源码的编译器javac,还包含了很多java程序调试和分析的工具(JConsole,Web Services等工具软件),还包含了Java基础的类库(即Java API 包括rt.jar)。

2、执行关系

在这里首先就要提到JVM,JVM(Java Virtual Machine)就是我们常说的java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行。也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。

只有JVM还不能成class的执行,因为在解释class的时候JVM需要调用解释所需要的类库lib,而jre包含lib类库。在JDK下面的的jre目录里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre。
 

2.JAVA语言的特点有哪些?

(1)操作简单:语言中剔除了很多模糊概念,还提供了自动垃圾回收机制。

(2)跨平台易移植:JRE针对不同平台有不同版本,平台安装了配套的JRE,字节码文件就可以在其上运行。

(3)安全性高:提供了防止恶意代码攻击的机制,利用字节确认器完善安全机制,保护本地资源与文件系统。

(4)面向对象:java语言中一切皆可对象,在解决问题时先将问题抽象分析,归纳为可用的对象。在问题处理时可以使用这些对象。

(5)封装性:java语言将对象的属性和行为方法封装起来,外界不会了解内部的具体实现。

(6)继承性:java中类与类之间可以继承,无需重复编写即可共用一部分代码,增强可扩展性。

(7)多态性:同名的属性或者方法在不同的类内有不同的意义。

3.简述JAVA的三大平台

(1)java标准版(javaSE)是为开发普通桌面和商务应用程序所提供的解决方案。

(2)java企业版(javaEE)是为开发企业级服务器端java应用程序。

(3)java微型版:(javaME)是为开发嵌入式设备提供的方案。

4.简述解释型语言与编译型语言的区别

编译型语言需要配备与语言一致的专门编译器,源代码一次编译成目标代码,通过链接方式可以实现两个以上成果代码之间的复用,但可移植性差,执行效率高。

每执行一次解释型语言都要逐一对源代码进行编译,需要特定的解释器对源代码一一进行解释,可实现平台之间的移植。

5.简述JVM的运行机制

虚拟机中的java解释器负责将字节码文件解释成为特定平台的二进制代码。

java虚拟机为字节码提供了统一的虚拟运行平台,又负责和不同的底层机器沟通。同时兼顾了高效率执行也达到了很好的跨平台性。

例如:Windows平台上编译好的字节码,拷贝到Linux平台后,经过linux系统下的Java虚拟机解释后可执行。字节码文件与linux系统下java虚拟机的完美结合完成了java从windows系统到linux系统的移植。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值