摘要:
调用mt.start方法和调用run方法是有区别的 main方法会压栈执行,(红线自己画的) main方法内创建了MyThread对象,对象在堆内存中,堆内存有个地址例如:0x11 这里调用run方法,run方法也压栈 单线程:执行main线程,再执行run方法, 多线程是mt.start()方法, 阅读全文
摘要:
多线程的运行 显示执行main方法开辟一条线程, 然后new了一个MyThread的线程,又开辟一条线程 阅读全文
摘要:
创建多线程 创建类MyThread继承Thread类。重写里面的run方法 循环20次输出 每次执行的结果都不太一样。多个线程一起抢夺cpu的执行权,谁抢到就谁执行 阅读全文
摘要:
创建一个Person类只有一个name成员变量。生成getter和setter,有参构造和无参构造 定义fun方法 创建两个人 分别调用fun方法 小强执行了20次后,。 旺财才执行20次 这样的程序叫做单线程程序。 线程和cpu有关系 jvm执行main方法,面访会先进去到栈内存。 0是不能除0的 阅读全文
摘要:
线程调度:分时调度、抢占式调度 阅读全文
摘要:
、 腾讯电脑关键就是一个多线程的程序 里面有很多的功能,病毒查杀、清理垃圾、电脑加速等 现成和cpu有关系,学现成之前,先来学一下cpu 每个现线程 阅读全文
摘要:
由硬盘进入到内存中执行 进程就是进入到内存中的程序! 阅读全文
摘要:
并发,相当于 一个人吃两个馒头,吃一口这个再吃一口另外一个。这里是cpu一会执行任务1,一会又执行任务2 并行,相当于两个人 吃两个馒头,各自吃各自的,这样速度就会快 阅读全文
摘要:
编译时异常,抛出这个异常 try/catch的方式 出现问题。抛出异常了 但是还打印出了 注册成功。 加一个return 结束方法 让他继承运行期异常,RuntimeException 这里没有捕获异常也不报错了。 阅读全文
摘要:
空指针异常的源码 阅读全文
摘要:
子类重写父类方法不抛出异常 父类方法没有抛出异常,那么子类重写的时候也不能抛出异常。下面抛出了异常就报错了。 子类自己内部抛出异常也不行, 子类只能用 try catch来捕获异常 阅读全文
摘要:
阅读全文
摘要:
数组没有索引3,所以会报错。越界异常 集合的索引越界 这两行代码都会抛出异常。多个try cattch,分别去处理。这样有后续代码是可以执行到的 一个try多个catch 数组越界用第一个处理,集合越界用第二个来处理。多个异常一次捕获,多个处理 数组先越界了 所以打印了数组越界的异常 把数组越界的代 阅读全文
摘要:
异常代码的后面没有执行到 finally Alt+回车 路径没有问题可以正常读取到文件 让它出现异常 阅读全文
摘要:
getMessage 让他出现异常 toString 直接打印e默认调用的就是toString的方法 printStatckTrace 阅读全文
摘要:
捕获异常代码,后续代码还可以继续执行 下面方法是声明的方法,上面调用就会编译时异常。 这里我们可以使用try catch的方式 抛出异常,后续代码还会执行 阅读全文
摘要:
这里抛出的异常在写代码编译的时候就报错了。这是为什么? 调用这个readFile的方法也会抛出编译时异常,也需要抛出 Alt+回车快捷键第一个选项。继续声明这个异常。 换个路径就会抛出异常了。 文件的后缀名不是.txt结尾的。FileNotFoundException 这也是一个编译时的异常。 方法 阅读全文
摘要:
调用Objects.requireNonNull方法 重载的方法,传递错误的信息进去 阅读全文
摘要:
空指针 就是运行期异常 阅读全文