1. String常用的方法有哪些
方法 | 描述 |
---|---|
indexOf() | 返回指定字符的索引 |
charAt() | 返回指定所引处的字符 |
replace() | 去除字符串两端的空白 |
split() | 分割字符串,返回一个分割后的字符串数组 |
getBytes() | 返回字符串的 byte 类型数组 |
length() | 返回字符串长度 |
toLowerCase() | 将字符串转成小写字母 |
toUpperCase() | 将字符串转成大写字母 |
substring() | 截取字符串 |
equals() | 字符串比较 |
2. Files常用方法都有哪些
方法 | 描述 |
---|---|
Files.exists() | 检测文件路径是否存在 |
Files.createFile() | 创建文件 |
Files.createDirectory() | 创建文件夹 |
Files.delete() | 删除一个文件或目录 |
Files.copy() | 复制文件 |
Files.move() | 移动文件 |
Files.size() | 查看文件个数 |
Files.read() | 读取文件 |
Files.write() | 写入文件 |
3. JDK与JRE有什么区别
- JDK(Java Development Kit Java ): 开发工具包,提供了 Java 的开发环境和运行环境。
- JRE(Java Runtime Environment ): Java 运行环境,为 Java 的运行提供了所需环境。
具体来说 JDK 其实包含了 JRE,同时还包含了编译 Java 源码的编译器 Javac,还包含了很多 Java 程序调试和分析的工具。简单来说:如果你需要运行 Java 程序,只需安装 JRE 就可以了,如果你需要编写 Java 程序,需要安装 JDK
4. 两个对象的hashCod()相同,则equals()一定为true对吗
不对,两个对象的hashCode()相同,equals()不一定为true
代码实例
String str1 = "通话";
String str2 = "重地";
System. out. println(String. format("str1:%d | str2:%d", str1. hashCode(),str2. hashCode()));
System. out. println(str1. equals(str2));
执行的结果:
代码解读:很显然“通话”和“重地”的 hashCode() 相同,然而 equals() 则为 false,因为在散列表中,hashCode() 相等即两个键值对的哈希值相等,然而哈希值相等,并不一定能得出键值对相等
5. BIO、NIO、AIO 有什么区别
- BIO:Block IO 同步阻塞式 IO,就是我们平常使用的传统 IO,它的特点是模式简单使用方便,并发处理能力低。
- NIO:Non IO 同步非阻塞 IO,是传统 IO 的升级,客户端和服务器端通过 Channel(通道)通讯,实现了多路复用。
- AIO:Asynchronous IO 是 NIO 的升级,也叫 NIO2,实现了异步非堵塞 IO ,异步 IO 的操作基于事件和回调机制。