1、面试题:java创建多线程的两种方法的区别?
继承Thread类:
真正创建了一个线程,每次New ThreadChild().start(),都会启动一个具有独立资源和run()方法的线程,并不能实现资源的共享。
实现Runnable()接口:
并非真正创建了一个线程,实现Runnable()接口的类的对象需要依附于Thread类,才能创建多个线程共享资源的线程实例,实现了多线程下资源的共享。
2、数据库事务的四大特性:
原子性:事务的全部操作在数据库中是不可分割的,要么全部执行,要么全不执行。
一致性:几个并行执行的事务,其执行结果必须与按某一顺序串行执行的结果相一致。
隔离性:事务的执行不受其他事务的干扰,事务执行的中间结果对其他事务必须是透明的。
持久性:对于任意已提交事务,系统必须保证该事务对数据库的改变不被丢失,即使数据库出现故障。