Java开发环境实验报告
- 格式:doc
- 大小:306.50 KB
- 文档页数:3
实验一开发环境的搭建及使用一实验要求1、进行Java开发环境的配置;2、编写简单的Java Application程序,调试、编译并运行程序。
二实验内容1、安装JDK并配置环境变量,在下面写出如何判断环境变量是否配置成功;安装Eclipse 集成开发环境。
Jdk安装成功后,打开DOS,输入javac,若出现则环境变量设置成功!2、使用Eclipse编写Java Application其功能都是显示字符串“Hello World!”,源代码写在下面的空白处。
package helloworld;public class Hello {public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println("Hello world!");}}三实验内容中遇到的问题、解决方法和体会。
第一步:安装jdk,在安装jdk的时候我把jre安装到了jdk目录下了,导致jdk安装失败了,后来又重新安装了一下,把jre单独拉出来过后就好了。
第二步:在配置环境变量的时候,很容易忽略路径前面的,;,所以导致环境变量配置失败!第三步:编写代码,忘记了hello world 后面的!和类名Hello的首字母忘记大写了!还有就是这Eclipse是全英文的,真的搞伤的了,回去我要研究研究中文的破解包怎么安装进去!这次实验初步了解了java在运行程序时的基本步骤和容易出现的问题!后面需要多多实验,多搞些程序过来试试!(资料素材和资料部分来自网络,供参考。
可复制、编制,期待你的好评与关注)。
实验报告题目Java开发环境的配置姓名张锦涛学号B09050115时间地点实验B楼1.实验内容使用规定软件配置Java开发环境,包括:(1) 安装JDK及配置;(2) 安装Eclipse;2.实验要求(1) 按要求安装Java开发所需的软件,并测试软件安装是否正确;(2) 在配置完成的Eclipse开发环境中创建一个Java工程,测试是否运行正确。
3.试验步骤(1) 安装JDK的详细步骤。
★下载并解压,双击Java图标,开始JDK的安装。
安装过程中可自定义安装路径,也可自己自定义安装路径。
★可选项(单击更改可自定义安装路径。
)★单击完成,即完成了JDK的安装!下面为JDK完成系统环境配置:步骤为“开始”->“控制面板”,进入如图所示页面:★进入到上图所示页面也可右键单击我的电脑选择“属性”★双击系统进入到下图所示页面★选择“高级”选项★单击“环境变量”进入到所示界面然后在系统变量的滚动页面中找到“path”,单击选中,然后单击“编辑”★进入到下图所示的界面后,找到JDK的安装路径,并找到其下的“bin”文件夹,将我的电脑地址栏中的路径复制并粘贴到图所示的变量值框中★单击“确定”,并单击“环境变量”对话框中的“新建”★在变量名中输入“Classpath”,在变量值中输入JDK安装路径下文件夹“lib”的路径地址,然后单击确定★单击确定,下图仍然单击确定。
★到此JDK安装完成并完成系统配置(2)安装Eclipse并设置Eclipse工作目录的详细步骤。
★下载Eclipse软件并解压★进入到解压所在目录(如地址栏所示),双击Eclipse图标,如图所示:★打开之后进入到如下图所示的界面——工作空间界面(Workspace),然后单击Browse为工作空间选择路径,即储存工程的位置,如下图所示:★选定好工作空间路径后,单击OK!★进入到如下图所示的界面,单击图中所示菜单栏中的Windows★在下拉列表中选择“Close all perspectives”,进入到下一幅图所示★按照上图的操作步骤进行,即可进入到下图所示界面。
java环境搭建实验报告的总结与反思
总结:
通过本次实验,我成功搭建了Java环境,并且能够运行Java 程序。
在实验过程中,我首先安装了Java Development Kit (JDK),确保了Java开发环境的基本配置。
然后,我使用了集成开发环境(IDE)来编写和运行Java代码,这样可以简化开发过程并提高效率。
最后,我创建了一个简单的Java程序并成功运行了它。
通过这个实验,我学到了如何搭建Java开发环境,并且熟悉了Java的基本语法和开发流程。
我还学习了如何使用IDE来调试和运行Java程序,以及如何管理和组织Java项目。
反思:
在实验过程中,我遇到了一些困难和问题。
首先,我对Java 开发环境的配置和使用不够熟悉,导致安装和配置过程中遇到一些问题,耽误了一些时间。
其次,由于对Java语法和编程概念的理解还不够深入,我在编写程序的过程中遇到了一些错误和困难,需要花费一些额外的时间进行调试和修复。
为了解决这些问题,我会进一步学习和掌握Java开发环境的配置和使用方法,并加强对Java语法和编程概念的理解。
我还会加强对IDE的使用和调试技巧的学习,并积极参与练习和实践,提高自己的编程水平。
同时,我还会学习如何有效地组织和管理Java项目,以提高开发效率和代码质量。
总的来说,通过本次实验,我不仅成功搭建了Java环境,还
学到了很多Java开发的基础知识和技能。
我会继续努力学习和实践,提高自己的编程能力,为以后的学习和工作打下坚实的基础。
Java实验三实验报告1一、实验目的本次 Java 实验的主要目的是深入理解和掌握 Java 中的面向对象编程概念,通过实际的编程实践,提高对类、对象、继承、多态等特性的运用能力,同时培养良好的编程习惯和代码规范。
二、实验环境1、操作系统:Windows 102、开发工具:Eclipse IDE for Java Developers三、实验内容1、设计一个名为`Shape` 的抽象类,其中包含一个抽象方法`calculateArea()`用于计算图形的面积。
2、分别创建`Circle`(圆形)、`Rectangle`(矩形)和`Triangle`(三角形)类继承自`Shape` 类,并实现各自的`calculateArea()`方法来计算具体图形的面积。
3、创建一个测试类`TestShapes`,在其中创建不同图形的对象,并调用其计算面积的方法,输出结果。
四、实验步骤1、创建`Shape` 抽象类```javaabstract class Shape {abstract double calculateArea();}```2、创建`Circle` 类继承自`Shape` 类```javaclass Circle extends Shape {private double radius;public Circle(double radius) {thisradius = radius;}@Overridedouble calculateArea(){return MathPI radius radius;}}```3、创建`Rectangle` 类继承自`Shape` 类```javaclass Rectangle extends Shape {private double length;private double width;public Rectangle(double length, double width) {thislength = length;thiswidth = width;}@Overridedouble calculateArea(){return length width;}}```4、创建`Triangle` 类继承自`Shape` 类```javaclass Triangle extends Shape {private double base;private double height;public Triangle(double base, double height) {thisbase = base;thisheight = height;}@Overridedouble calculateArea(){return 05 base height;}}```5、创建测试类`TestShapes````javapublic class TestShapes {public static void main(String args) {Circle circle = new Circle(50);Rectangle rectangle = new Rectangle(40, 60);Triangle triangle = new Triangle(30, 80);Systemoutprintln("圆形的面积:"+ circlecalculateArea());Systemoutprintln("矩形的面积:"+ rectanglecalculateArea());Systemoutprintln("三角形的面积:"+trianglecalculateArea());}}```五、实验结果运行测试类`TestShapes` 后,输出结果如下:```圆形的面积:78539816矩形的面积:240三角形的面积:120```六、实验中遇到的问题及解决方法1、在编写抽象类和子类的代码时,一开始对于抽象方法的定义和实现理解不够清晰,导致代码出现错误。
JA V A实验报告实验一 Java开发环境及基本语法一、实验目的1、掌握常用的Java 集成开发环境的使用,特别是Eclipse 和NetBeans。
2、掌握Java 基本语法,重点是面向对象的思想和语法。
3、掌握控制台下(应用程序)的输入输出方法,作为后续部分实验的基础。
二、实验类型设计型。
三、实验内容1、打开实验室计算机上的集成开发环境Eclipse 或NetBeans(重点是Eclipse)了解开发软件的各个菜单功能。
会创建java 项目(Project),会编辑和编译、运行项目代码。
、。
2,验证和学习所给的几个例子程序及其讲解。
然后自己编写一个至少由一个类构成的Java 程序,其功能是在运行后,能接收用户输入一个学生的姓名以及java 课的成绩(百分制),并输出对该学生成绩是否达到60 分的及格分的判断(可使用if 语句)。
例如,输入学生姓名李明,然后输入成绩50,则输出“ 李明的成绩为不及格”。
3、编写一个程序来表示长方体的长宽高等数据并有计算体积的函数可供调用,长方体类从矩形类继承而来。
程序运行时能接受输入任意的 3 个数作为长方体的长、宽和高,然后能够输出所输入的长宽高及所计算出的体积。
注意不能把代码全部写在main 函数里面,不能直接输出长宽高的乘积。
代码如下;第一个import java.util.Scanner;public class Test{public static void main(String[] args) {String str; // 定义一个字符串变量strint i; // 定义一个整型变量iScanner sc = new Scanner(System.in); // 定义一个Scanner对象,从System.in接受输入System.out.print("输入学生姓名");str = sc.next(); // 等待用户输入任意一个字符串,它会被存到str中System.out.println("姓名:" + str); // 输出字符串strSystem.out.print("输入学生的分数:");i = sc.nextInt(); // 等待用户输入任意一个整数,它会被存到i中if(i<60)System.out.print("他的JAVA不及格,成绩是" + i );elseSystem.out.println("他的JAVA成绩是:" + i); // 输出整数i}}第二个import java.util.Scanner;public class wwh {public static void main(String[] args) {int Long; // 矩形的长int wide; // 矩形的宽int High; // 长方体的高S canner sc = new Scanner(System.in);S ystem.out.print("输入长");L ong = sc.nextInt();S ystem.out.print("输入宽");w ide=sc.nextInt();S ystem.out.print("输入高");H igh=sc.nextInt();T j T=new Tj(Long,wide,High);T.show1();}}class Vehicle{int Long; // 矩形的长int wide; // 矩形的宽Vehicle(int Long,int wide){this.Long=Long;this.wide=wide;}int getArea(){r eturn Long*wide;}void show(){System.out.println("长:"+Long);System.out.println("宽:"+wide);System.out.println("矩形的面积为; "+this.getArea()); }} //class Tj extends Vehicle{int High; // 载人数Tj(int Long,int Wide,int High){super(Long,Wide); // 调用父类的构造函数,对从父类继承而来的成员变量进行初始化this.High=High;}int getTiji(){r eturn super.getArea()*High;}void show1(){s uper.show();// 调用父类方法S ystem.out.println("长方体的高为:"+High);System.out.println("长方体的体积;"+this.getTiji());}}实验二系统类和数组一、实验目的1、通过字符串处理类的应用,掌握系统类的使用方法。
浙江大学城市学院实验报告课程名称面向对象程序设计实验项目名称Java开发环境实验学生姓名专业班级学号一. 实验目的和要求1.建立并熟悉Java开发环境,熟悉Eclipse集成开发环境2.能够编写简单的Java应用程序二. 实验内容1. 安装和配置Java SDK2. 安装和配置Eclipse集成开发环境3. 编写在屏幕上输出信息的Java应用程序三. 实验结果与分析(可将程序运行结果截屏,也可简单分析运行结果)1. 用Java SDK开发屏幕输出“Hello World”的程序。
程序运行结果如下:2. 用Eclipse开发屏幕输出“Hello World”的程序。
程序运行结果如下:3. 用Java SDK开发屏幕输出"你好,我开始学OOP了"的程序。
程序运行结果如下:4. 用Eclipse开发屏幕输出"你好,我开始学OOP了"的程序。
程序运行结果如下:四. 讨论、心得(可写遇到的问题及解决方法,或者对技术的理解等)1. public类有何特点?有public的类可以在包外使用,否则不可以,与此同时,源文件名必须和类名相同。
2. Java语言是否区分大小写?JA V A语言本身是区分大小写的,但是在用文件路径、文件名对文件进行操作时,这里的文件名和路径是不区分大小写的,这是因为文件系统不区分大小写。
3. JVM和JRE都是什么?JVM是Java Virtual Machine(Java 虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
Java运行环境(Java Runtime Environment,简称JRE)是一个软件,由太阳微系统所研发,JRE可以让电脑系统运行Java应用程序(Java Application)。
JRE的内部有一个Java虚拟机(Java Virtual Machine,JVM)以及一些标准的类函数库(Class Library)。
Java开发环境实验报告一、实验项目名称Java开发环境的熟悉二、实验目的1、掌握下载Java SDK 软件包、EditPlus 编辑软件的方法;2、掌握设置Java 程序运行环境的方法;3、掌握编写与运行Java 程序的方法;4、了解Java 语言的概貌;5、为学习Java 语言和进行Java 程序的实验做好准备工作。
三、实验基本原理1、SDK 的下载与安装下载能安装在Windows95/98/2000/NT、UNIX和Linux等操作系统类型中的J2SE系统安装程序。
为了建立基于SDK 的Java 运行环境,需要先下载Sun 的免费SDK 软件包。
SDK 包含了一整套开发工具,其中包含对编程最有用的是Java 编译器、Applet 查看器和Java 解释器。
在浏览器中输入/,可看到Sun 公司网站页面,然后在里面找到下载的链接进行下载就行。
目前的版本最高是Jdk1.5,但是在使用上更多的还是使用Jdk1.4版本。
下载完后进行安装,和一般的软件安装过程差不多,自己选择目录进行sdk的安装。
在本实验中假设sdk的安装路径是“C:\ j2sdk1.4.2_01“。
2、Java运行环境配置SDK 中的工具都是命令行工具,需要从命令行即MS-DOS 提示符下运行它们。
很多人可能会不习惯,但这是Sun 特意采取的策略,为的是把精力更多地投入到Java 语言本身而不是花在开发工具上。
为了能正确方便的使用SDK,可手工配置一些Windows 的环境变量,Windows 98 与Windows/xp/NT/2000 的配置略有不同。
(1)设置Windows 98在C:\autoexec.bat 文件中,添加以下内容:set path=%path%; C:\ j2sdk1.4.2_01\binset classpath=.; C:\ j2sdk1.4.2_01\lib\;%classpath%C:\ j2sdk1.4.2_01\bin 为程序安装路径,如果安装时做了修改,这里必须做出相应的修改。
java实验实验报告Java 实验实验报告一、实验目的本次 Java 实验的主要目的是通过实际操作和编程实践,深入理解和掌握 Java 编程语言的基本概念、语法结构、面向对象编程的思想以及常用类库的使用。
同时,培养我们解决实际问题的能力和编程思维,提高代码的质量和可读性。
二、实验环境1、操作系统:Windows 102、开发工具:IntelliJ IDEA3、 JDK 版本:18三、实验内容(一)基本语法练习1、数据类型与变量在 Java 中,我们学习了不同的数据类型,如整数类型(`int`、`long`)、浮点数类型(`float`、`double`)、字符类型(`char`)和布尔类型(`boolean`)。
通过定义和使用这些变量,我们能够存储和操作各种类型的数据。
```javaint age = 25;double salary = 500050;char grade ='A';boolean isStudent = true;```2、控制结构包括条件语句(`ifelse`、`switch`)和循环语句(`for`、`while`、`dowhile`)。
这些控制结构使我们能够根据不同的条件执行不同的代码块,或者重复执行一段代码。
```javaint num = 10;if (num > 5) {Systemoutprintln("Number is greater than 5");} else {Systemoutprintln("Number is less than or equal to 5");}switch (num) {Systemoutprintln("One");break;case 10:Systemoutprintln("Ten");break;default:Systemoutprintln("Unknown");}for (int i = 0; i < 5; i++){Systemoutprintln(i);}int count = 0;while (count < 3) {Systemoutprintln("Count: "+ count);count++;}count = 0;Systemoutprintln("Count: "+ count);count++;} while (count < 3);```(二)面向对象编程1、类与对象创建了自定义的类来表示现实世界中的实体。
《Java技术》实验报告—实验(一)实验室:年月日
三、使用硬件、软件环境
笔记本电脑,配置如下:
硬盘为500G,安装win7操作系统。
四、实验过程、步骤及原始记录(算法、原程序、测试结果,分析等) 第一步,需要到官网下载所需要的JDK:
第二步,选择和自己电脑匹配的进行下载:
第三步,下载完成后进行安装即可,下一步即可;安装成功后进行配置配置过程如下:
1.计算机点击右键的属性;
2.点击“高级系统设置”,点击“高级”选项卡,点击“环境变量”;
3.在系统变量中:
新建JAVA_HOME
JAVA_HOME是存放JAVA的目录,安装在JDK所在的文件夹
编辑Path
在变量值中添加:%JAVA_HOME%\bin;
新建 CLASSPATH
第四步,运行CMD输入java,和javac看看是否有正确提示:
五、实验结论、分析、思考题与心得体会
通过本次实验,我有以下几方面的收获、认识和体会:
1.学会了在三种环境下编写程序及运行程序的方法;
2.加深了Java中相关语法的认识
3.通过这次实验我对这门课有了一个初步的了解,可以说比较好奇吧,对java也有了一个
初步的了解。
java实验报告Java 实验报告一、实验目的本次 Java 实验的主要目的是通过实际编程操作,深入理解和掌握Java 语言的基本语法、面向对象编程的概念和方法,以及常用类库的使用。
同时,培养我们的问题解决能力、逻辑思维能力和代码规范意识,为今后的软件开发工作打下坚实的基础。
二、实验环境1、操作系统:Windows 102、开发工具:Eclipse IDE for Java Developers3、 JDK 版本:JDK 18三、实验内容本次实验共包括以下三个部分:1、 Java 基本语法练习变量与数据类型运算符与表达式控制流语句(ifelse、for、while、dowhile)数组2、面向对象编程实践类与对象的定义和使用构造函数与方法重载封装、继承与多态抽象类与接口3、 Java 常用类库应用String 类与字符串操作集合框架(ArrayList、HashMap)文件输入输出(File、FileReader、FileWriter)四、实验步骤及代码实现1、 Java 基本语法练习变量与数据类型:```javapublic class VariableDataType {public static void main(String args) {int age = 20;double salary = 50005;String name ="张三";boolean isStudent = true;Systemoutprintln("年龄:"+ age);Systemoutprintln("工资:"+ salary);Systemoutprintln("姓名:"+ name);Systemoutprintln("是否是学生:"+ isStudent);}}```运算符与表达式:```javapublic class OperatorExpression {public static void main(String args) {int num1 = 10;int num2 = 5;int sum = num1 + num2;int difference = num1 num2;int product = num1 num2;int quotient = num1 / num2;int remainder = num1 % num2; Systemoutprintln("和:"+ sum);Systemoutprintln("差:"+ difference);Systemoutprintln("积:"+ product);Systemoutprintln("商:"+ quotient);Systemoutprintln("余数:"+ remainder);}}```控制流语句:```javapublic class ControlFlowStatement {public static void main(String args) {// ifelse 语句int score = 80;if (score >= 90) {Systemoutprintln("优秀");} else if (score >= 80) {Systemoutprintln("良好");} else if (score >= 70) {Systemoutprintln("中等");} else if (score >= 60) {Systemoutprintln("及格");} else {Systemoutprintln("不及格");}// for 循环for (int i = 1; i <= 5; i++){Systemoutprintln("第" + i +"次循环");}// while 循环int j = 1;while (j <= 5) {Systemoutprintln("第" + j +"次 while 循环");j++;}// dowhile 循环int k = 1;do {Systemoutprintln("第" + k +"次 dowhile 循环");k++;} while (k <= 5);}}```数组:```javapublic class ArrayExample {public static void main(String args) {//一维数组int numbers ={1, 2, 3, 4, 5};for (int num : numbers) {Systemoutprintln(num);}//二维数组int matrix ={{1, 2, 3},{4, 5, 6},{7, 8, 9}};for (int row : matrix) {for (int num : row) {Systemoutprint(num +"");}Systemoutprintln();}}}```2、面向对象编程实践类与对象的定义和使用:```javapublic class Person {private String name;private int age;public Person(String name, int age) {thisname = name;thisage = age;}public void showInfo(){Systemoutprintln("姓名:"+ name +",年龄:"+ age);}public static void main(String args) {Person person1 = new Person("张三", 20);person1showInfo();}}```构造函数与方法重载:```javapublic class ConstructorOverloading {private String name;private int age;public ConstructorOverloading(String name) {thisname = name;}public ConstructorOverloading(String name, int age) {thisname = name;thisage = age;}public void showInfo(){if (age == 0) {Systemoutprintln("姓名:"+ name);} else {Systemoutprintln("姓名:"+ name +",年龄:"+ age);}}public static void main(String args) {ConstructorOverloading person1 = new ConstructorOverloading("张三");person1showInfo();ConstructorOverloading person2 = new ConstructorOverloading("李四", 25);person2showInfo();}}```封装、继承与多态:```java//父类class Animal {private String name;public Animal(String name) {thisname = name;}public void eat(){Systemoutprintln(name +"正在吃东西");}}//子类继承父类class Dog extends Animal {public Dog(String name) {super(name);}public void bark(){Systemoutprintln(name +"在叫");}}public class InheritancePolymorphism {public static void main(String args) {Animal animal = new Dog("小黑");animaleat();//向下转型为 Dog 类型调用 bark 方法if (animal instanceof Dog) {Dog dog =(Dog) animal;dogbark();}}}```抽象类与接口:```java//抽象类abstract class Shape {abstract void draw();}//实现抽象类的子类class Circle extends Shape {@Overridevoid draw(){Systemoutprintln("画一个圆");}}//接口interface Moveable {void move();}//实现接口的类class Car implements Moveable {@Overridepublic void move(){Systemoutprintln("汽车在移动");}}public class AbstractInterfaceExample {public static void main(String args) {Shape shape = new Circle();shapedraw();Moveable car = new Car();carmove();}}```3、 Java 常用类库应用String 类与字符串操作:```javapublic class StringOperation {public static void main(String args) {String str1 ="Hello, ";String str2 ="World!";String str3 = str1 + str2;Systemoutprintln(str3);int length = str3length();Systemoutprintln("字符串长度:"+ length);char charAt = str3charAt(5);Systemoutprintln("第 5 个字符:"+ charAt);boolean contains = str3contains("World");Systemoutprintln("是否包含 World:"+ contains);}}```集合框架(ArrayList、HashMap):```javaimport javautilArrayList;import javautilHashMap;import javautilMap;public class CollectionFramework {public static void main(String args) {// ArrayListArrayList<String> names = new ArrayList<>();namesadd("张三");namesadd("李四");namesadd("王五");for (String name : names) {Systemoutprintln(name);}// HashMapHashMap<String, Integer> ages = new HashMap<>();agesput("张三", 20);agesput("李四", 25);agesput("王五", 30);for (MapEntry<String, Integer> entry : agesentrySet()){Systemoutprintln(entrygetKey()+"的年龄是" +entrygetValue());}}}```文件输入输出(File、FileReader、FileWriter):```javaimport javaioFile;import javaioFileReader;import javaioFileWriter;import javaioIOException;public class FileIOExample {public static void main(String args) {//写入文件try (FileWriter writer = new FileWriter("outputtxt")){writerwrite("这是写入文件的内容");} catch (IOException e) {eprintStackTrace();}//读取文件try (FileReader reader = new FileReader("outputtxt")){int character;while ((character = readerread())!=-1) {Systemoutprint((char) character);}} catch (IOException e) {eprintStackTrace();}}}```五、实验结果与分析1、 Java 基本语法练习变量与数据类型:能够正确定义和使用各种数据类型的变量,并进行基本的运算和输出。
浙江大学城市学院实验报告
课程名称面向对象程序设计
实验项目名称Java开发环境实验
学生姓名专业班级学号
一. 实验目的和要求
1.建立并熟悉Java开发环境,熟悉Eclipse集成开发环境
2.能够编写简单的Java应用程序
二. 实验内容
1. 安装和配置Java SDK
2. 安装和配置Eclipse集成开发环境
3. 编写在屏幕上输出信息的Java应用程序
三. 实验结果与分析(可将程序运行结果截屏,也可简单分析运行结果)
1. 用Java SDK开发屏幕输出“Hello World”的程序。
程序运行结果如下:
2. 用Eclipse开发屏幕输出“Hello World”的程序。
程序运行结果如下:
3. 用Java SDK开发屏幕输出"你好,我开始学OOP了"的程序。
程序运行结果如下:
4. 用Eclipse开发屏幕输出"你好,我开始学OOP了"的程序。
程序运行结果如下:
四. 讨论、心得(可写遇到的问题及解决方法,或者对技术的理解等)
1. public类有何特点?
有public的类可以在包外使用,否则不可以,与此同时,源文件名必须和类名相同。
2. Java语言是否区分大小写?
JA V A语言本身是区分大小写的,但是在用文件路径、文件名对文件进行操作时,这里的文件名和路径是不区分大小写的,这是因为文件系统不区分大小写。
3. JVM和JRE都是什么?
JVM是Java Virtual Machine(Java 虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
Java运行环境(Java Runtime Environment,简称JRE)是一个软件,由太阳微系统所研发,JRE可以让电脑系统运行Java应用程序(Java Application)。
JRE的内部有一个Java虚拟机(Java Virtual Machine,JVM)以及一些标准的类函数库(Class Library)。
4.Java如何做到平台无关的?
Java 可执行程序并不是直接在操作系统平台上运行,而是在Java运行环境JRE中运行的。
Java运行环境是一个软件系统,能够屏蔽底层软硬件平台的差异性。