他们搭配起来使用在同一个类中,会让被@PostConstruct修饰的方法,自动执行,从而实现了,项目启动后init方法的重写的功能。
其他补充:
1. 自动扫描:使用@ComponentScan注解配置的包路径下,Spring框架会自动扫描带有@Component注解的类,并将其实例化为Bean。
2. 依赖注入:被@Component注解标识的类可以使用Spring的依赖注入机制,通过@Autowired注解将其他组件注入到自己的属性或构造函数中。
* @Component使用了对象池吗?
* 答:没有。
git checkout -t origin/远程分支名
这样可以拉远程某分支,即便之前已经拉了其他分支,也可以拉新分支,并且新分支会自动迁出。
Runnable 接口 没有返回值 , Callable 接口有返回值
Runnable 接口 有抛异常 , Callable 接口没有抛异常
Runnable 接口 的方法是 run ( ) , Callable 接口的 方法是 call ( )
public class CASTest666 {
private int ticket = 50;
private int i = 1;
public synchronized void sale() {
if (ticket > 0) {
System.out.println(Thread.currentThread().getName() + "再卖第" + "\t" + i++ + "张票还有" + --ticket + "\t" + "张票");
}
}
}
class TestMythread {
public static void main(String[] args) throws ExecutionException, InterruptedException {
CASTest666 casTest666 = new CASTest666();
FutureTask futureTask = new FutureTask<>(new Callable
该修饰符是常量修饰,但是如果是引用类型,比如ArrayList并不能让arrayList不能增添数据。
`
private final ArrayList list = new ArrayList();
test(){
list.add(1);//合法,不报错
}
`