没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论

















1、JDK 和 JRE 有什么区别?
JDK(Java Development Kit),Java 开发工具包
JRE(Java Runtime Environment),Java 运行环境
JDK 中包含 JRE,JDK 中有一个名为 jre 的目录,里面包含两个文件夹 bin 和 lib,bin 就是
JVM,lib 就是 JVM 工作所需要的类库。
2、== 和 equals 的区别是什么?
1. 对于基本类型,==比较的是值;
2. 对于引用类型,==比较的是地址;
3. equals 不能用于基本类型的比较;
4. 如果没有重写 equals,equals 就相当于==;
5. 如果重写了 equals 方法,equals 比较的是对象的内容;
3、final 在 java 中有什么作用?
(1)用来修饰一个引用
如果引用为基本数据类型,则该引用为常量,该值无法修改;
如果引用为引用数据类型,比如对象、数组,则该对象、数组本身可以修改,但指向
该对象或数组的地址的引用不能修改。
如果引用时类的成员变量,则必须当场赋值,否则编译会报错。
(2)用来修饰一个方法
当使用 final 修饰方法时,这个方法将成为最终方法,无法被子类重写。但是,该方法仍然
可以被继承。
(3)用来修饰类
当用 final 修改类时,该类成为最终类,无法被继承。
比如常用的 String 类就是最终类。
4、java 中的 Math.round(-1.5) 等于多少?
Math 提供了三个与取整有关的方法:ceil、floor、round
(1)ceil:向上取整;
Math.ceil(11.3) = 12;
Math.ceil(-11.3) = 11;

(2)floor:向下取整;
Math.floor(11.3) = 11;
Math.floor(-11.3) = -12;
(3)round:四舍五入;
加 0.5 然后向下取整。
Math.round(11.3) = 11;
Math.round(11.8) = 12;
Math.round(-11.3) = -11;
Math.round(-11.8) = -12;
5、String 属于基础的数据类型吗?
不属于。
八种基本数据类型:byte、short、char、int、long、double、float、boolean。
6、String str="i"与 String str=new String(“i”)一样吗?
String str="i"会将起分配到常量池中,常量池中没有重复的元素,如果常量池中存中 i,就将
i 的地址赋给变量,如果没有就创建一个再赋给变量。
String str=new String(“i”)会将对象分配到堆中,即使内存一样,还是会重新创建一个新的对
象。
8、String 类的常用方法都有那些?
(1)常见 String 类的获取功能
length:获取字符串长度;
charAt(int index):获取指定索引位置的字符;
indexOf(int ch):返回指定字符在此字符串中第一次出现处的索引;
substring(int start):从指定位置开始截取字符串,默认到末尾;
substring(int start,int end):从指定位置开始到指定位置结束截取字符串;
(2)常见 String 类的判断功能
equals(Object obj): 比较字符串的内容是否相同,区分大小写;

contains(String str): 判断字符串中是否包含传递进来的字符串;
startsWith(String str): 判断字符串是否以传递进来的字符串开头;
endsWith(String str): 判断字符串是否以传递进来的字符串结尾;
isEmpty(): 判断字符串的内容是否为空串"";
(3)常见 String 类的转换功能
byte[] getBytes(): 把字符串转换为字节数组;
char[] toCharArray(): 把字符串转换为字符数组;
String valueOf(char[] chs): 把字符数组转成字符串。valueOf 可以将任意类型转为字符串;
toLowerCase(): 把字符串转成小写;
toUpperCase(): 把字符串转成大写;
concat(String str): 把字符串拼接;
(4)常见 String 类的其他常用功能
replace(char old,char new) 将指定字符进行互换
replace(String old,String new) 将指定字符串进行互换
trim() 去除两端空格
int compareTo(String str) 会对照 ASCII 码表 从第一个字母进行减法运算 返回的就是这个
减法的结果,如果前面几个字母一样会根据两个字符串的长度进行减法运算返回的就是这个
减法的结果,如果连个字符串一摸一样 返回的就是 0。
9、new String("a") + new String("b") 会创建几个对象?
对象 1:new StringBuilder()
对象 2:new String("a")
对象 3:常量池中的"a"
对象 4:new String("b")
对象 5:常量池中的"b"
深入剖析:StringBuilder 中的 toString():
对象 6:new String("ab")
强调一下,toString()的调用,在字符串常量池中,没有生成"ab"
10、如何将字符串反转?
添加到 StringBuilder 中,然后调用 reverse()。

11、String 类的常用方法都有那些?
equals 、 length 、 contains 、 replace 、 split 、 hashcode 、 indexof 、 substring 、 trim 、
toUpperCase、toLowerCase、isEmpty 等等。
12、普通类和抽象类有哪些区别?
抽象类不能被实例化;
抽象类可以有抽象方法,只需申明,无须实现;
有抽象方法的类一定是抽象类;
抽象类的子类必须实现抽象类中的所有抽象方法,否则子类仍然是抽象类;
抽象方法不能声明为静态、不能被 static、final 修饰。
13、接口和抽象类有什么区别?
(1)接口
接口使用 interface 修饰;
接口不能实例化;
类可以实现多个接口;
①java8 之前,接口中的方法都是抽象方法,省略了 public abstract。②java8 之后;接口中
可以定义静态方法,静态方法必须有方法体,普通方法没有方法体,需要被实现;
(2)抽象类
抽象类使用 abstract 修饰;
抽象类不能被实例化;
抽象类只能单继承;
抽象类中可以包含抽象方法和非抽象方法,非抽象方法需要有方法体;
如果一个类继承了抽象类,①如果实现了所有的抽象方法,子类可以不是抽象类;②如果没有
实现所有的抽象方法,子类仍然是抽象类。
14、java 中 IO 流分为几种?
(1)按流划分,可以分为输入流和输出流;
(2)按单位划分,可以分为字节流和字符流;
字节流:inputStream、outputStream;
字符流:reader、writer;
15、BIO、NIO、AIO 有什么区别?
(1)同步阻塞 BIO

一个连接一个线程。
JDK1.4 之前,建立网络连接的时候采用 BIO 模式,先在启动服务端 socket,然后启动客户
端 socket,对服务端通信,客户端发送请求后,先判断服务端是否有线程响应,如果没有则
会一直等待或者遭到拒绝请求,如果有的话会等待请求结束后才继续执行。
(2)同步非阻塞 NIO
NIO 主要是想解决 BIO 的大并发问题,BIO 是每一个请求分配一个线程,当请求过多时,每
个线程占用一定的内存空间,服务器瘫痪了。
JDK1.4 开始支持 NIO,适用于连接数目多且连接比较短的架构,比如聊天服务器,并发局
限于应用中。
一个请求一个线程。
(3)异步非阻塞 AIO
一个有效请求一个线程。
JDK1.7 开始支持 AIO,适用于连接数目多且连接比较长的结构,比如相册服务器,充分调用
OS 参与并发操作。
16、Files 的常用方法都有哪些?
exist
createFile
createDirectory
write
read
copy
size
delete
move
17、什么是反射?
所谓反射,是 java 在运行时进行自我观察的能力,通过 class、constructor、field、method
四个方法获取一个类的各个组成部分。
在 Java 运行时环境中,对任意一个类,可以知道类有哪些属性和方法。这种动态获取类的
信息以及动态调用对象的方法的功能来自于反射机制。
剩余93页未读,继续阅读
资源评论


伟、。
- 粉丝: 1
- 资源: 6
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制
