Java概述
1. JVM,JRE,JDK之间的关系
JVM: Java虚拟机,是Java virtual machine的缩写,是Java程序的运行环境,不同平台有自己的Java虚拟机,是Java程序一次编译,到处运行的基石。
JRE: Java Runtime Environment,包括Java虚拟机和Java程序所需要的核心类库;核心类库主要是java.lang包,包含了运行Java程序必不可少的系统类,如:基本数据类型、基本数学函数、字符串处理、线程、异常处理类等。如果只需运行开发好的Java程序,只需要安装JRE即可。
JDK: Java Development Kit,是提供给Java开发人员使用的。包含了Java的开发工具和JRE。开发工具包括:javac.exe,jar.exe等。
JVM、JRE、JDK三者之间的关系图:
2. Java语言有什么特点?
- 简单(Java语言的语法与C语言和C++语言很接近)
- 面向对象(封装,继承,多态)
- 平台无关性(Java虚拟机实现平台无关性)
- 支持网络编程并且很方便(Java语言诞生本身就是为简化网络编程设计的)
- 支持多线程(多线程机制使应用程序在同一时间并行执行多项任)
- 健壮性(Java语言的强类型机制、异常处理、垃圾的自动收集等)
- 安全性
3. 什么是平台无关性(跨平台性),原理是什么?
概念: 所谓的平台无关性,指的是Java编写的程序,在一次编译后,可以在多个系统平台上运行。
原理 Java程序是通过Java虚拟机在系统平台上运行的,不同的系统有自己的虚拟机,只要安装对应系统的Java虚拟机,就可以运行Java程序。
4. 什么是字节码?采用字节码有什么好处?
- 字节码: Java源代码经过虚拟机 编译器编译 后产生的文件(即扩展为
.class的文件),它不面向任何特定的处理器, 只面向虚拟机。 - 好处:Java语言通过字节码的方式,在一定程度上解决了传统解释型语言执行效率低的问题,同时又保留了解释型语言可移植的特点。所以Java程序运行时比较高效,而且,由于字节码并不专对一种特定的机器,因此,Java程序无须重新编译便可在多种不同的计算机上运行。
5. 什么是Java的主类?
一个Java程序可以有多个类,但是只能有一个主类。在Java程序中,这个主类指的是包含main方法的类。主类是Java程序执行的入口。
6. Java和c++的区别
- Java和c++都是面向对象的语言,都支持封装、继承、多态。
- Java不提供指针来直接访问内存,保证了程序内存更加安全。
- Java的类是单继承,c++支持多继承,但是Java的接口是支持多继承的。
- Java有自动内存管理机制,不需要程序员手动释放无用内存。
Java基础语法
1. Java有哪些数据类型
Java语言是强类型语言,对于每一种数据都定义了明确的具体的数据类型,在内存中分配了不同大小的内存空间。
Java中的数据类型包括基本数据类型和引用数据类型。
- 基本数据类型有:
- 整数类型(byte,short,int,long)
- 浮点类型(float,double)
- 字符型(char)
- 布尔型(boolean)
2. 引用数据类型有:
- 类(class)
- 接口(interface)
- 数组([])