自由式学习
72人加入学习
(0人评价)
Java_Java基础和高级语法(第四篇)(2022)
价格 免费
该课程属于 3339-关同学-Java学科 请加入后再学习

线程创建与启动方法

自定义类继承Thread类并重写run方法,然后创建该方法的对象调用

调用Start()方法

 

开多线程的目的是,同时执行多个类型

 

执行流程:

1、执行main方法的线程叫做主线程,执行run方法的线程叫做新线程/子线程

2、main方法是程序的入口,对于start方法之前的代码来说,由主线程执行一次,当start方法调用成功后线程个数由1个变成了2个,新启动的线程去执行run方法的代码,主线程继续向下执行,两个线程各自独立运行互不影响

当run方法执行完毕后子线程结束,当main方法执行完毕后主线程结束

两个线程执行没有明确的先后执行次序,由操作系统调度算法来决定

 

 

 

 

[展开全文]

线程的创建

java.lang.Thread 类代表线程,任何线程对象都是Thread类的实例

 

Thread类是线程的模板,封装了复杂的线程开启等操作,封装了操作系统的差异性

 

Thread() 使用无参的方式构造对象

Thread(Runnable target)根据参数指定的引用来构造对象,其中Runnable是个接口类型

接口的实现类

 

void start() 用于启动线程,java虚拟机会自动调用该线程的run方法

 

[展开全文]

RuntimeException 运行时异常,也叫做非检测性异常

IOException 和其它异常---其它异常,也叫做检测性异常,所谓检测性异常就是在编译阶段能被编译器检测出来的异常

当程序执行过程中发生异常但又没有手动处理时,则由java虚拟机采用默认方式处理异常,而默认处理方式就是:打印异常的名称、异常发生的原因、异常发生的位置以及终止程序

 

一定要背会的几个异常:

ArithmeticException ---算术异常

ArrayIndexOutOfBoundsException类---数组下标越界异常

NullPointerException ---空指针异常

ClassCastException---类型转换异常

NumberFormatException---数字格式异常

 

在编译阶段,就是能检测出的异常,叫做检测性异常

注意事项:当程序执行过程中发生异常但又没有手动处理时,则收java虚拟机采用默认方式处理异常,而默认处理方式就是:打印异常的名称,异常发生的原因,异常发生的位置以及终止程序

[展开全文]

异常机制

异常就是不正常的含义,在java语言中主要指程序执行中发生的不正常情况

java.lang.Throwable 类是java语言中错误Error和异常

其中Error类主要用于描述java虚拟机无法解决的严重错误,通常无法编码解决,如:jVM挂掉了等。

其中Exception类主要用于描述因编程错误或偶然外在因素导致的轻微错误,通常可以编码解决,如:0作为除数等;

 

异常,就是“不正常”的含义,在java语言中主要指程序执行中发生的不正常情况

 

java.lang.Throable类是Java语中错误Error和异常的超类

class Error

class Exception

其中Error类主要用于描述java虚拟机无法解 决的严重错误,通常无法编码解决,如:jvm挂掉了等

其中Exception类主要用于描述因编程或偶然外在因素导致的轻微错误,通常可以编码解决,如:0作为除数等

[展开全文]

File类

基本概念

可以以获取文件或目录的特征信息

[展开全文]

反射 -- 获取Class对象的方式

1.使用场景

在不确定对象类型和不无额定调用哪种方法时

2.Class类

基本概念

  • java.lang.Class类的实例可以用于描述Java应用程序中的类和接口,也就是一种数据类型。
  • 该类没有公共构造方法,该类的实例由Java虚拟机和类加载器自动构造完成,本质上就是加载到内存中的运行时类。

获取Class对象的方式

  • 使用数据类型.class的方式可以获取对应类型的Class对象(掌握)。使用引用/对象.getClass()的方式可以获取对应类型的Class对象。
  • 使用包装类.TYPE的方式可以获取对应基本数据类型的Class对象
  • 使用Class.forName()的方式来获取参数指定类型的Class对象(掌握)。

  • 使用类加载器ClassLoader的方式获取指定类型的Class对象。

 

[展开全文]

如描述软件

垃圾清理,病毒的扫描

一个进程,中又分多个线程

注流的开发都是开发多线程技术,开多个任务

单核CPU

多进程也好,多线程也好,同时干很多活

 

进程是重量级的,也就是新建一个进程会消耗CPU和内存空间等系统资源,因此进程的数量比较局限

 

线程是轻量的,新建线程会共享所在进程的系统资源,因此目前主流的开发都是采用多线程的。

 

单核CPU,我来之后学习java,C,C++

CPU在每个线程中切换,多线程是采用时间片轮转法来保证多个线程的并发执行,所谓并发就是指宏观并行微观串行的机制

4核,8核

java中是多线ktg

 

 

[展开全文]

程序与进程的概念

程序,主要指存放在硬盘上的可执行文件

.exe

进程-主要指运行在内存中的可执行文件

在任务管理器上运行了很多的进程,是同时执行很多任务

当进程不够的时候,电脑卡死了

线程就是进程内部的程序流,

操作系统内部支持多进程

每个进程支持多线程,线程是轻量的,新建线程会共享所在进

[展开全文]