1、环境变量都需要配置什么变量?
JAVA_HOME、PATH(Path)、CLASSPATH
2、查看JDK的命令
java –version命令,查看jdk版本信息;
java命令,查看java执行信息;
javac命令,查看java编译信息;
3、Java标识符的命名规则?
1)标识符由字母、数字、下划线“_”、美元符号“$”或者
人民币符号“¥”组成,并且首字母不能是数字。
2)不能把关键字和保留字作为标识符。
3)标识符没有长度限制。
4)标识符对大小写敏感。
4、八大基本数据类型(四类八种)分别是什么?
byte、short、int、long、
double、float、char、boolean
5、==和equals的区别?
==:判断两个字符串在内存中的地址(索引);
equals()比较的是内容相同则就相等;
6、String的默认方法有哪些?(5个)
concat()字符串连接、replace,replaceAll字符串替换、
split()字符串拆分、indexOf获取字符串下标、
substring字符串截取、
7、StringBuffer和StringBuilder有什么区别?.
StringBuffer是线程安全的,StringBuffer对象是可以更改的,
必须用new来创建。StringBuffer的意思是只能在一个时刻让
一个线程去访问他,线程安全的。
StringBuilder线程不安全的,
8、java里边的运算符可以分成几类?
算术运算符--就是进行一些算术运算的,像一些加减乘除;
位运算符是--对二进制进行运算的;10----〉010010
比较运算符--就是比较大小,大于小于等于 等等;
逻辑运算符--就是对真和假,布尔类型进行运算的。
9、什么是字符串?
在java语言中由多个字符拼接成为一整串的完整字符
,叫字符串。
10、单精度浮点型(float)和双精度型(double )浮点型区别?
单精度浮点型(float )专指占用32位存储空间的单精度值。
缺点:当值很大或很小的时候,它将变得不精确。
double 占用64位的存储空间。更精准;
11、流程控制语句包括哪些分类?
顺序流程、分支流程、循环流程
12、分支流程语句包括哪些?
if else、switch case
13、循环语句包括哪些?
while、do…while、for
14、break、continue区别?
break强行退出循环。
continue终止某次循环过程。
15、数组是什么?
数组是相同数据类型元素的集合。数组本身是引用数据类型,
即对象。但是数组可以存储基本数据类型,也可以存储引用
数据类型。
16、数组和String长度分别任何获取?
数组:length属性
String : length()方法
17、面向对象语言的特征?
封装、继承、多态
18、什么是对象?
万物皆对象,具有属性和行为的一切事物均可称为对象;
19、什么是类?
类是具有共同属性和行为的对象的集合;
20、类的基本结构是什么?
属性、方法、构造方法(构造函数)、内部类:、块;
21、什么是封装?
(1)封装性是一种信息隐藏技术。将类的某些信息隐藏在类内部,
不允许外部程序直接访问,而是通过该类提供的方法来实现对
隐藏信息的操作和访问。
(2)是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
22、封装的好处是什么?
隐藏实现细节,提供公共的访问方式
提高了代码的复用性
提高安全性。
23、什么是包?package
包是物理上的文件夹
24、什么是继承?extends
继承是父类和子类之间的关系,子类可以扩展一些新的属性和行为。
25、分别阐述重载和重写??
重载:同类中的同名方法,参数类型,参数个数不同
重写:继承关系中出现的,方法名,修饰符都相同,
代码块内部内容不同
26、多态的含义是什么?
对外的表现形式只有一种,但是内在却有多种的实现。
27、多态性主要有三种具体的体现分别是什么?
分别是方法重载、方法覆盖和方法的多态参数。
28、abstract类的作用?
作用就是定义子类的共同特征,但是他却不能够创建对象。
29、抽象类和抽象方法的关系?
抽象类里不一定有抽象方法,但是有抽象方法的类一定是抽象类。
30、重载和重写的区别?
方法的重载发生在同一个类中,是方法的参数个数或种类
顺序不同,方法名相同。
方法的重写是发生在不同的类之间,方法名,参数,修饰符必须相同,
子类中的权限不能小于父类的权限
31、访问权限修饰符有哪些?
public :公共权限
protected:受保护的权限
default:同包权限
private:私有权限
32、static可以修饰什么?final能够修饰什么?
final能够修饰类、属性、方法和局部常量。
static可以修饰属性、方法、块和内部类。
33、Object类的作用和地位?
Object他是API里边提供的一个类,他是所有的父类。
34、接口是什么?
接口其实就是特殊的抽象类。
35、接口里有什么?implements
一、静态的常量、二、抽象的方法,
接口中不能够有变量,也不能够有具体的方法。
36、接口和继承的区别?
一个类只能继承一个类,而一个类可以实现多个接口。
37、异常的结构?
Throwable|异常的父类
Errow|错误
Exception|异常
Exception是异常,Error是错误。
38、运行期异常和编译期异常分别是什么?
运行期异常就是在编译的时候程序并不会认为他是一个错误,
但是在运行的时候如果发现这代码有异常错误就会抛出异常。
编译期异常是java文件在编译成.class时程序出现的错误异常。
39、如何捕获异常?
try{}catch(Exception e){}
40、如何抛出异常?
throws
41、什么是IO编程?
输入和输出我们简称叫I/O,I是input,O是output。
程序与外部设备或其他计算机进行交互的操作。
42、输入流输出流分别包含什么?
输入流:InputStream、Reader
输出流:OutputStream、Writer
43、字节流和字符流的区别以及作用?
InputStream和OutputStream的子类都是字节流;
可以读写二进制文件,主要处理音频、图片、歌曲、
字节流,处理单元为1个字节。
Reader和Writer的子类都是字符流;
主要处理字符或字符串,字符流处理单元为2个字节。
44、File类的常用方法?(5个)
createNewFile、renameTo、mkdir、mkdirs、delete
exists、isFile、isDirectory、isHidden、isAbsolute
45、获取当前系统时间的代码是什么?
Date d = new Date();
46、设置时间格式的类是什么类?
SimpleDateFormat
47、泛型是什么意思?
在定义的时候不指定具体的类型,把类型当做
一种参数,在运行的时候再指定具体的类型;
48、泛型类如何定义?
public class 类名
49、节点流中常用类有哪些?
-字节输入流FileInputStream
-字节输出流FileOutputStream
-字符输入流FileReader
-字符输出流FileWriter
50、如何关闭流?
调用close方法关闭。
51、什么是集合?
集合是java常用的类,集合用来存储数据,
集合是存储数据的容器,如同数组一样可以用来存储数据。
52、集合和数组的区别?
(1)集合可以存储键值对映射关系数据,数组不可以。
(2)集合的长度可以动态改变,数组的长度运行时固定不可变。
(3)集合存储的数据为引用类型数据,如果集合存储基本类型
数据也会自动装箱转为包装类存储到集合。数组可以存储
基本类型和引用类型数据。
(4)集合支持多种数据存储结构类型,数组不支持。
53、集合体系是什么?
List和Set继承Collection接口。
LinkedList、ArrayList、Vector实现List接口。
TreeSet和HashSet实现Set接口。
HashMap、HashTable、TreeMap实现Map接口。
54、ArrayList和LinkedList的区别?
ArrayList:增删慢,查询快。
LinkedList:增删快,查询慢。
55、Set集合的特点有什么?
(1)无顺存储数据,存入与取出不一致。
(2)元素不可重复。
56、linkedhashset和hashset有什么区别?
LinkedHashSet继承了hashSet,在HashSet已有的特征上,
扩展了链式结构,保证了存入的顺序与取出的顺序一致
因为LinkedHashSet在保存的时候还要维护链式结构,
效率上比HashSet慢。
57、TreeSet集合的特点是什么?
通过二叉树结构进行存储元素,TreeSet集合需要自定义
排序规则进行排序。
58、TreeSet集合存储元素时,实现排序的方式有什么?
定制排序和自然排序。
59、什么是自然排序?
实现Comparable接口,重写CompareTo比较方法,
在CompareTo方法中定义排序规则。
60、什么是定制排序?
实现Comparator接口,重写CompareTo比较方法,
在CompareTo方法中定义排序规则。
61、多线程的好处是什么?
可以同时并发执行多个任务,可以最大限度的减低CPU的闲置时间,
从而提高CPU的利用率。
62、Java语言创建线程的两种方法?
继承Thread类,重写run()方法;
实现Runnalbe接口,重写run()方法。
63、启动线程的方法是什么?
start();
64、线程的生命周期是什么?
新建(New)、就绪(Runnable)、运行(Running)、
阻塞(Blocked)、死亡(Dead)五个阶段。
65、线程同步的意思是什么?
是“排队”:几个线程之间要排队,一个一个对共享资源进行操作,
而不是同时进行操作。
66、线程同步锁关键字
synchronized
67、线程同步的两种方式是什么?
方式1:同步代码块。
方式2:同步方法。
68、什么是死锁?
程序出现无限等待,这种现象我们称为死锁。
69、等待唤醒机制的方法有什么?
wait()等待:将正在执行的线程释放其执行资格和执行权,
将执行该方法的线程出于等待状态。
notify()唤醒:唤醒某个锁上等待的一个线程。
notifyAll()全部唤醒:唤醒某个锁上全部等待的线程。
70、线程睡眠是什么?
sleep()方法,设置固定睡眠时间
自动唤醒线程,进入就绪状态。
当然这只是一部分 还有很多 这些基本上都是必须知道的 最好记在心里。