老师,信号量变量为什么要用final修饰?
来源:2-4 并发模拟-代码
![](http://img1.sycdn.imooc.com/user/5a46f93700018c6e01000100-100-100.jpg)
JasonWalker
2018-05-21
为什么Semaphore要用 final 修饰
写回答
1回答
-
Jimin
2018-05-21
你好,学完后面的课程你可能会更清楚关于final的使用。你可以先看一下 http://www.importnew.com/7553.html 这里介绍的final关键字的好处:
1)final关键字提高了性能。JVM和Java应用都会缓存final变量。
2)final变量可以安全的在多线程环境下进行共享,而不需要额外的同步开销。
3)使用final关键字,JVM会对方法、变量及类进行优化。
因此,一个变量如果可以使用final修饰时,使用final修饰会有他特有的好处。
此外,还有一些场景,要求传入的变量必须是final修饰的才可以,比较常见的就是传入线程池的变量。这些在实际运行时需要保证变量“不可变”。
042018-05-22
相似问题