这里写目录标题
1. IDAE调试报错
Java HotSpot™ 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended
原因:
出现这个的原因是因为使用了共享类数据,你可能同时使用了:
-Xbootclasspath/a 和 CDS (或者 AppCDS)
方法及原因来源(包含另一个方法)
解决方式(方法二):
打开设置,在搜索框内输入:async,然后去掉以下勾选即可。
2. Scanner滞留和指令问题
-
问题:
- 疑似
.close()
指令似乎会直接阻塞整个扫描器,需要全部放在末尾。或者后来创建的Scanner对象会直接进行读取缓冲区数据 nextLine()
,next()
包括nextInt()
等,如果不被读取将留在缓冲区(例子:以下代码块中,如果在整数判断时输入小数,整数判断失败,则输入的小数滞留在缓冲区等待读取,下一个小数判断直接成功并且读取)
- 疑似
-
解决方案:
- Scanner一起创建,一起结束。如果有遗留问题发生,使用额外键入
nextLine()
进行预读取 - 写代码时使用
hasNextLine()
和nextLine()
一致
- Scanner一起创建,一起结束。如果有遗留问题发生,使用额外键入
-
错误代码块:
import javax.sound.midi.Soundbank;
import javax.xml.transform.Source;
import java.util.Scanner;
public class Demo01_Scanner {
public static void main(String[] args) {
System.out.println("==============================================================");
Scanner scanner1 = new Scanner(System.in);
Scanner scanner2 = new Scanner(System.in);
System.out.println("使用next方式接收:");
if(scanner1.hasNext()){
String str1 = scanner1