以下是一个方法的实现的两种写法
public Object get(String key){
Object object = redisTemplate.opsForValue().get(key);
return object;
}
public Object get(String key){
return redisTemplate.opsForValue().get(key);
}
问题:
1、假如不需要对key做额外处理,而是直接执行对应方法然后直接返回,是否第二种写法更好?因为不需要 创建object这个对象出来,节约了开销?
第二种写法的好处是不经过虚拟机栈做中转,将堆对象的引用直接返回给调用者。
纠正你问题中的问题:“创建object这个对象出来,节约了开销?”,object是等号后面对象的引用,是在虚拟机栈中存放的地址。