第八周学习笔记
知识点总结
1、进程与线程
- 进程:程序的一次动态执行过程
- 区别:进程和线程的区别?
- 进程是资源的分配和调度的一个独立单元,而线程是CPU调度的基本单元
- 同一个进程中可以包括多个线程,并且线程共享整个进程的资源(寄存器、堆栈、上下文),一个进行至少包括一个线程。
- Java的多线程机制。Java内置对多线程的支持。我们的计算机在任何给定说的时刻只能执行线程中的一个,Java虚拟机只是从一个线程迅速地切换到另一个线程。
当main方法中有其他线程时,JVM一直要等到Java应用程序中的所有线程都结束后才会结束Java应用程序。
2、创建线程的方式有三种:
- 继承Thread类创建线程,程序中如果想要获取当前线程对象可以使用方法
Thread.currentThread()
;如果想要返回线程的名称,则可以使用方法:getName()
- 实现
Runnable
接口创建线程 - 使用
Callable
和Future
创建线程
3、线程同步:如果有若干个线程需要同时使用一个方法,为了不出现混乱,可以使用synchronized进行修饰。这样一来,该方法只能轮流被调用,直到正在调用该方法的线程使用完该方法后,其他线程才可以调用该方法。
4、线程联合:线程A在其运行期间,如果其他线程B调用了join()方法和线程A联合,那么A线程会立马中断,直到B线程运行结束A线程才会重新排队。若B线程已经结束,调用join()方法则不会有任何效果。
5、 守护线程:线程默认是非守护线程,线程在运行之前必须设置自己是否为守护线程。可以调用voidsetDaemon(boolean on)来将自己设置成一个守护线程。当所有非守护线程运行结束时,守护线程一定会跟着结束。
代码托管
上周题目总结
1、典型的JDBC程序编写顺序:注册JDBC Driver → 获得与数据库的物理连接 → 创建不同类型的Statement → 执行SQL命令 → 如果有结果集,处理结果集 → 释放资源
2、Statement的executeUpdate()方法会返回是否更新成功的int值
3、java.sql提供Java存取数据库能力的包
4、关系型数据库特点:
- 相同列中数据类型一致,不同数据类型必须用不同列定义
- 不同列无顺序区别
- 任意两个元组不能完全相同。
- 不同行也无顺序区别