面试的时候被问到Java里面的全局变量是如何实现的!咂一听还有点没反应过来!Java没有全局变量的说法吧!通过public修饰一个枚举常量,或者一个常量类,不就有了么?又一想好像不对,自己回来百度谷歌了下!
如果需要实现像session一样的全局变量,就需要考虑线程安全的问题,所以通过线程来实现并解决线程安全是一个方向!ThreadLocal一般称为线程本地变量,它是一种特殊的线程绑定机制,将变量与线程绑定在一起,为每一个线程维护一个独立的变量副本。通过ThreadLocal可以将对象的可见范围限制在同一个线程内,所以我认为这个是可以实现全局变量的!
其次就是设计模式,通过设计模式中的观察者模式来实现全局变量!
关于ThreadLocal可参考这个:
https://blog.csdn.net/baidu_23086307/article/details/56674454
https://www.cnblogs.com/chengxiao/p/6152824.html
关于观察者模式可参考这个: