private static final Logger logger= LoggerFactory.getLogger(ShiroConfig.class); (1)出于资源利用的考虑,Logger的构造方法参数是Class,决定了Logger是根据类的结构来进行区分日志,所以一个类只要一个 ...
有一次线上发现,redis连接很慢,最后同事说,有个原因就是getClass private final Logger logger LoggerFactory.getLogger getClass 因为这不是一个静态常量,在序列化这个变量的时候,有的序列化方法并不好用,里边有一个class.forName 方法,是个阻塞性的,导致了高并发多线程的时候,序列化很慢。 进而redis很慢。 好像和r ...
2020-08-03 18:26 0 565 推荐指数:
private static final Logger logger= LoggerFactory.getLogger(ShiroConfig.class); (1)出于资源利用的考虑,Logger的构造方法参数是Class,决定了Logger是根据类的结构来进行区分日志,所以一个类只要一个 ...
众所周知,static 是静态修饰关键字:可以修饰变量,程序块,方法,类。 1.修饰变量。 得知:如果static修饰的是变量,则JVM会将将其分配在内存堆上,该变量就与对象无关,所有对该变量的引用都指向同一个地址。 因此我们使用该变量的时候,直接指明类的静态变量,当然修饰符 ...
由static修饰的变量、常量、和方法被称为是静态变量、常量和 方法。 静态数据和静态方法的作用通常是为了提供共享数据或方法,如数学计算公式等,以static声明并且实现,这样当需要使用时,直接使用类名调用这些静态成员即可。例如,两个类在同一个内存区域共享一个数据,在球类使用PI这个常量 ...
final: final可以修饰属性,方法,类,局部变量(方法中的变量) final修饰的属性的初始化可以在编译期,也可以在运行期,初始化后不能被改变。 final修饰的属性跟具体对象有关 ...
学习java的时候常常会被修饰符搞糊涂,这里总结下static final和final的区别。 static是静态修饰关键字,可以修饰变量和程序块以及类方法: 当定义一个static的变量的时候jvm会将将其分配在内存堆上,所有程序对它的引用都会指向这一个地址而不会重新分配内存 ...
在interface里面的变量默认都是public static final 的,原因如下: 1. 接口是一种高度抽象的"模版",,而接口中的属性也就是’模版’的成员,就应当是所有实现"模版"的实现类的共有特性,所以它是public static的 ,是所有实现类共有的. 假如可以是 ...
this.getClass()得到什么? this 表示当前对象的引用; getClass() 是 java.lang.Object 中的方法,它返回一个对象的运行时类; this.getClass() 就是返回当前对象的运行时类。 Logger ...
String被final修饰 从 String 类的源码我们可以看出 String 是被 final 修饰的不可继承类,源码如下: 那这样设计有什么好处呢? Java 语言之父 James Gosling 的回答是,他会更倾向于使用 final,因为它能够缓存结果,当你在传参时不需要考虑 ...