1、线程安全
拿简单的例子来说,Servlet是线程安全的吗? 这个问题有点儿意思,看你怎么看,Servlet是单例的,Spring 生成的时候是线程安全的吗?自然是,可他本身是线程安全的吗?不是,如果你在这个Controller中声明了全局变量,那肯定会出问题的。无法保证共享变量的可见,就是多个线程操作一个变量,这个变量每改变一次,所有县城都能感知到。当然有很多方式保证线程安全,voliate,synchronized,lock等等等。我们接下来一个一个说。
2、voliate,synchronized关键字。
很多人都知道这两个可以保证线程安全,可是怎么保证的呢?这个可能很简单但可能有一部分人不知道,关键字是java在编译时起的作用,会在编译时前后加上关键字,jvm执行时自然就会保证线程安全。可参考这个
3、晚上再更吧。