IT兄弟连 Java语法教程 Java语言入门 典面试题
1.请说明JVM、JRE和JDK是什么?它们有什么关系?
JVM是Java虚拟机,Java Virtual Machine的缩写,是一个虚构出来的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
JRE是Java运行环境,Java Runtime Environment的缩写。运行Java程序所必须的环境的集合,包含JVM标准实现及Java核心类库。
JDK是Java标准版开发工具包,是Sun提供的一套用于开发Java程序的开发包,它提供了编译、运行Java程序所需的各种工具和资源,其中包括了编译器和Java运行时环境JRE。
JDK中包含JRE,JRE中包含JVM,如果只是运行Java程序,那么只需要下载安装JRE就可以了,但是如果想开发Java程序,那么就需要下载安装JDK。
2.如何编译Java源文件?如何运行一个Java程序?
Java的源文件文件名是以.java为后缀的,当编写好Java源文件后,需要使用JDK中提供javac.exe程序进行编译。在系统控制台(CMD)中进入源文件所在的目录,使用“javac源文件名”的命令格式进行编译,在编译的过程中如果没有提示错误就表示编译成功,会在源文件同目录下生成编译后的字节码文件,Java的字节码文件文件名与源文件同名,但是使用.class作为文件名的后缀。
当Java的源代码编译成字节码文件后,就可以通过java命令运行这个Java程序。在系统控制台(CMD)中进入字节码文件所在的目录,使用“java类名”的命令格式运行Java程序。java命令中使用的类名是Java源程序中定义的类名,而不是Java字节码文件的文件名。如果使用“java字节码文件名”来运行Java程序会提示错误。
3.Java语言是否是跨平台的?如果是跨平台的,那平台指的是什么?
Java语言是跨平台的编程语言,这里说的平台指的是计算机中的CPU和操作系统的整体。CPU种类繁多,不同类型的CPU使用了不同的指令集,不同的操作系统支持不同的指令集。但因为目前主流的操作系统支持大部分主流的CPU的全部指令集,所以在操作系统层面上就屏蔽了CPU种类的不同,但是操作系统根据CPU中通用寄存器的宽度也分成了32位操作系统和64位操作系统。所以目前说的Java语言跨平台指的是跨操作系统版本。
4.JavaSE、JavaEE和JavaME分别代表了什么?
JavaSE:Java Standard Edition,标准版。是我们常用的一个版本,从JDK1.5开始,改名为JavaSE,主要用于桌面应用软件的编程。
JavaEE:Java Enterprise Edition, 企业版。JavaEE是J2EE的一个新名称,主要用于分布式的网络程序的开发
JavaME:Java Micro Edition,机顶盒、移动电话和PDA之类嵌入式消费电子设备提供的Java语言平台,包括虚拟机和一系列标准化的JavaAPI。
5.Java跨平台是如何实现的?
Java是利用JVM(Java虚拟机)实现跨平台的。
Java源代码(*.java)经过Java编译器编译成Java字节码(*.class),执行Java字节码,Java字节经过JVM解释为具体平台的具体指令并执行。不同平台有不同的JVM,主流平台都提供了JVM,所以Java字节码可以在主流平台上能够解释执行。在这个意义上Java是跨平台的,也就是说:Java的字节码是跨平台的。
6.请列举一些Java中比较常见的包以及作用。
java.lang包:这个包中包含了jdk提供的基础类,比如String等都是这里面的,这个包是唯一一个不用导入就可以使用的包;
java.io包:包含了与输入输出相关的类;比如文件操作等
java.net包:包含了与网络相关的类,比如URL,URLConnection等
java.util包:这个是系统辅助类,特别是集合类Collection,List,Map等。
java.sql包:数据库操作的类,Connection,Statement,ResultSet等。
7.安装JDK后需要配置环境变量么?需要配置那些环境变量?具体怎么配置?
安装JDK后需要配置环境变量,如果不配置环境变量,在控制台使用Java命令会提示命令未找到。需要配置系统Path和CLASSPATH变量。在系统Path原变量值前加入JDK的bin目录的路径,并在最后加入分号。CLASSPATH变量在JDK5后可以省略,因为JDK5后会自动在当前路径下寻找Java类。但是在JDK5之前需要在CLASSPATH变量中添加“.”以及JDK中lib目录下的dt.jar和tools.jar的路径,中间使用分号分隔,“.”代表的是当前目录,编译Java程序需要dt.jar和tools.jar这两个工具包,所以也需要加入CLASSPATH环境变量。
IT兄弟连 Java语法教程 Java语言入门 典面试题的更多相关文章
- IT兄弟连 Java语法教程 Java平台的版本划分
自从Sun公司推出Java以来,就力图使之无所不能.Java发展至今,按应用范围划分为3个版本,即Java SE.Java EE和Java ME,也就是SunOne(Open Net Environm ...
- IT兄弟连 Java语法教程 Java开发环境 JVM、JRE、JDK
要想开发Java程序,就需要知道什么是JVM.JRE以及JDK.JVM是运行Java程序的核心,JRE是支持Java程序运行的环境,而JDK是Java开发的核心,下面我们分别具体介绍它们以及它们之间的 ...
- IT兄弟连 Java语法教程 Java语言的其他特性
Java语言中除了非常重要的跨平台特性外,还有如下几个关键特性: ● 语法简单易学 Java语言的语法简单明了,容易掌握,而且是纯面向对象(OOP)的语言,Java语言的简单性主要体现在以下几个方面 ...
- IT兄弟连 Java语法教程 Java语言的跨平台特性
什么是平台 Java是可以跨平台的编程语言,那么首先我们需要知道什么是平台,通常我们把CPU与操作系统的整体称为平台. CPU大家都知道,是计算机的大脑,它既负责思维运算,又负责计算机中各种零部件的命 ...
- IT兄弟连 Java语法教程 Java语言背景
驱使计算机语言革新的因素有两个:程序设计技术的改进和计算环境的改变.Java也不例外.在大量继承C和C++的基础之上,Java还增加了反应当前程序设计技术状态的功能与精华.针对在线环境的蓬勃发展(In ...
- IT兄弟连 Java语法教程 Java的发展历程
只有少数几种编程语言对程序设计带来过根本性的影响.其中,Java的影响由于迅速和广泛而格外突出.可以毫不夸张的说,1995年Sun公司发布的Java1.0给计算机程序设计领域带来了一场变革.这场变革迅 ...
- IT兄弟连 Java语法教程 Java语法基础 经典面试题
1.Java语言中有几种基本类型?分别是什么?请详细说明每种类型的范围以及所占的空间大小? Java语言中有8中基本类型,分别是代表整形的byte.short.int和long,代表浮点型的float ...
- IT兄弟连 Java语法教程 Java开发环境 配置Java环境变量
在安装完JDK后,我们需要配置系统的环境变量,否则在控制台中使用JDK为我们提供的工具时将出现如图12所示的错误信息. 图12 未配置环境变量时执行java命令提示的错误信息 当出现这样的提示信息时 ...
- IT兄弟连 Java语法教程 Java开发环境 安装JDK
因为我们要开发Java程序,所以必须在我们的计算机中安装Sun(Oracle)公司提供给我们的JDK.目前最新版本的JDK是JDK 10,但是我们以学习JDK 8为主,所以我们要安装的版本是JDK 8 ...
随机推荐
- PAT天梯赛 L2-002. 链表去重 【STL】
题目链接 https://www.patest.cn/contests/gplt/L2-002 思路 用结构体 存储 一个结点的地址 值 和下一个地址 然后从首地址开始 往下走 并且每个值的绝对值 都 ...
- 在VS2015中的SDL2.0开发环境搭建
写本文的目的在于使用网络上的教程及官方的教程(如:http://www.willusher.io/sdl2%20tutorials/2013/08/15/lesson-0-visual-studio) ...
- 理解SQL原理,写出高效的SQL语句
我们做软件开发的,大部分人都离不开跟数据库打交道,特别是erp开发的,跟数据库打交道更是频繁,存储过程动不动就是上千行,如果数据量大,人员流动大,那么我们还能保证下一段时间系统还能流畅的运行吗?我们还 ...
- sping junit test
@ContextConfiguration(locations="classpath:spring.xml")public class BaseTest extends Abstr ...
- jQuery 获取有多个class名的元素
HTML内容: <div class="write-upload"> <p class="write-files old-files"> ...
- css设置文件编码
在外部css文件的顶部,写入下面代码: @charset "UTF-8";
- L3-007 天梯地图(30 分)
本题要求你实现一个天梯赛专属在线地图,队员输入自己学校所在地和赛场地点后,该地图应该推荐两条路线:一条是最快到达路线:一条是最短距离的路线.题目保证对任意的查询请求,地图上都至少存在一条可达路线. 输 ...
- arm裸机程序启动流程
arm裸机程序启动流程 1373 Linux系统的引导: 一个SOC拿过来,它是有内部BROM和SRAM的,这个BROM中会固化芯片厂商的最初引导代码,我们叫它RBL(ROM boot loader) ...
- Brute-Force-Attack on Triple-DES with Reduced Key Space
题目地址:https://www.mysterytwisterc3.org/en/challenges/level-ii/brute-force-attack-on-triple-des-with-r ...
- [hiho1584]Bounce
题意:找出图中经过一次的格子个数. 解题关键: 组合数学的思想:先找出总的经过格子的次数,然后减去2倍的经过2次的格子个数. 1.总的求法:将长延展,当延展到n倍时,能够恰好到达右边的两个端点,则总格 ...